Free PascalコンパイラとLazarus IDEがダイナミックパッケージをサポートし、IDE全体を再構築せずにコンポーネント、コントロール、拡張機能を作成およびインストールできるようになりました。ダイナミックパッケージは、ダイナミックパッケージライブラリを通じてネイティブなPascalクラスとタイプを公開するプラグインを開発するために使用できます。これらは、コンパイラによって生成されたメタデータを含むLinux、Windows、macOSの標準の共有ライブラリファイルとして実装されています。ランタイムには、プログラムとパッケージ間でスレッド変数を安全に保持し、文字列や動的配列などの動的タイプを管理するメカニズムが含まれています。プログラムを配備する際、ユーザーはすべてを単一の実行可能ファイルにバンドルするか、実行中に置き換え可能な複数のダイナミックパッケージに分割することができ、プラグインシステムを提供します。制限には、パッケージ間でのユニット名の競合と、埋め込まれたメタデータにより通常の共有ライブラリよりもダイナミックパッケージが大きくなることが含まれます。RTLは、ダイナミックパッケージから情報を読み取るのに役立つ新しいユニット、Dyn Pkg Types.pasで強化されています。Lazarus IDEの強化には、パッケージの再構築中にIDEの外部に表示される新しい進行状況ウィンドウが含まれます。ダイナミックパッケージはプラグインシステムを提供し、実行中のコンポーネントの置換を許可することで、Lazarusユーザーの開発ワークフローを改善します。
出典: Hacker News · 要約:HeadlinesBriefing