はじめに

English

UIngは、ネイティブなデスクトップインターフェースを提供するポータブルライブラリ libui-ngのCrystalバインディングです。 ブラウザエンジンや独自のウィジェットツールキットを同梱せずに、ウィンドウ、 ボタン、テキスト入力、メニュー、テーブル、描画領域などの標準コントロールを Crystalアプリケーションから利用できます。

同じソースコードで次の環境を対象にできます。

  • LinuxなどのUnix系システム: GTK 3
  • macOS: AppKit
  • Windows: Win32、Direct2D、DirectWrite

基本的なウィンドウの作例です。 同じコードが各プラットフォームのネイティブな外観で動作します。

基本的なウィンドウ(Ubuntu)
Ubuntu
基本的なウィンドウ(Windows)
Windows
基本的なウィンドウ(macOS)
macOS

このガイドでは、アプリケーションを作成するために必要な基本概念に絞って説明します。 インターフェースの書き方には通常のAPIとブロックベースのDSLの2つがあります。詳しくは コーディングスタイルを参照してください。 型とメソッドの完全な一覧はAPIリファレンスを参照してください。

プロジェクトの方針

UIngは、シンプルなネイティブGUIを構築するための、小さく持続可能な基盤を目指します。 多機能なGUIフレームワークへ拡大することよりも、長期にわたって安定し、保守しやすい状態を 維持することを優先します。

制約事項

  • レイアウトにはOS標準のコンテナを使用します。コントロールを任意のピクセル座標へ 配置することはできませんが、各プラットフォームでネイティブな外観を保ちやすくなります。
  • Tableへ追加した列を後から削除することはできません。