HeadlinesBriefing favicon HeadlinesBriefing.com

Adi2: CSS、XML、SDL3を使用したモダンなAda GUIライブラリ

Hacker News •
×

Adi2はAda向けのモダンなGUIライブラリで、CSSのようなスタイル、宣言的なXMLレイアウト、アニメーション、SVGおよびLottieグラフィック、国際化、アセットバンドリングを提供するネイティブなウィジェットツールキットを実装しています — すべてSDL3に基づいています。現在本番環境で使用されていますが、まだ安定リリースではなく、バージョン間でAPIが変更される可能性があります。

馴染みのあるCSS構文(セレクター、擬似クラス、トランジション、グラデーション、ボックスシャドウを含む)を使用してUIをスタイル設定します。CSSファイルを編集し、ライブリロードにより変更をすぐに確認できます — 開発中に再コンパイルは必要ありません。あるいは、プレーンなAdaアグリゲートとしてスタイルを記述します。XML(<button>、<grid>、<text-editor>)で宣言的にインターフェースを記述し、ツールチェーンによって生成されたAdaパッケージを使用するか、Adaでハンドルベースのビルダーを使用してウィジェットツリーを直接構築します。

軽量なHTMLビューウィジェットを介してリッチコンテンツをレンダリングし、SDL3_imageを通じてラスター画像を、バンドルされたplutosvgを通じてSVGを、バンドルされたrlottieを通じてLottieアニメーションをレンダリングします。すべてのアセット(CSS、フォント、画像、翻訳、SVGスプライト)を1つの実行可能ファイルにバンドルし、ランタイムファイルシステムへの依存関係をなくします。Gettext互換の国際化は複数形と自動ロケール検出をサポートします。CSSトランジションは色、不透明度、変換などのプロパティを自動的にアニメートします。

リリースビルドは静的にリンクされ、10 MB未満の単一の実行可能ファイルになります。SDLのレンダラー(WindowsではDirect3D、macOSではMetal、その他ではVulkan/OpenGL、ソフトウェアフォールバック)を介して描画され、Windows XP+、macOS、Linux、およびGNAT-LLVMとEmscriptenを介したWebAssemblyで実行されます。開発専用のMCPブリッジはAI支援のテストと自動化を可能にします。

よくある質問: Adi2はどのプラットフォームをサポートし、バイナリサイズはどれくらいですか?

Adi2はWindows XP+、macOS、Linux、およびWebAssemblyをサポートします。最小限のリリースビルドは10 MB未満の単一の静的にリンクされた実行可能ファイルを生成し、すべてのレンダリングはSDL3のバックエンド(Direct3D、Metal、Vulkan、OpenGL、ソフトウェア)によって処理されます。