このプロジェクトについて
go-flutterは、Flutterをデスクトッププラットフォームに導入する非公式のオープンソースプロジェクトです。Flutterは単一のコードベースからiOSおよびAndroid向けのネイティブアプリを構築するために設計されていますが、このプロジェクトはGoとGLFWを使ってそのアプローチをWindows、macOS、Linuxに拡張します。
Flutterエンジン自体は、マウスやキーボード入力などのデスクトッププラットフォーム固有の関心事を処理しません。プラットフォームが実装するための抽象化レイヤーを公開しています。go-flutterは、Windows、macOS、Linuxで動作する単一のコードベースでFlutterのEmbedding APIを実装しています。GLFWは、各プラットフォーム向けにOpenGLバッファ、マウス、キーボードに対する適切な抽象化を提供するため、レンダリングに使用されています。Goが選ばれたのは、プラットフォーム間で一貫したツール群を提供し、コードをシンプルで読みやすく保つことができるためであり、これはクロスプラットフォームのプラグインを構築する際に役立ちます。
はじめに: 推奨される方法は、ホットリロードを含め、デスクトップ上でFlutterアプリをセットアップ、ビルド、実行するための公式go-flutterツールであるhoverをインストールすることです。このプロジェクトは、hoverのチュートリアルと別のexamplesリポジトリを案内しています。より詳細な情報はwikiで入手できます。
サポートされる機能には、Linux、macOS、Windows、ホットリロード、BinaryMessageCodec、BinaryMessageChannel、StandardMessageCodec、JSONMessageCodec、StandardMethodCodec、MethodChannelを備えたプラグインシステム、サポート対象プラグインのプラグイン検出、カスタムプロジェクトへのGoライブラリとしてのインポート、UTF-8テキスト入力、クリップボードのコピーと貼り付け、ウィンドウのタイトルとアイコン、ctrl-c、ctrl-v、ctrl-x、ctrl-a、Home、End、shift-Home、shift-End、ctrlおよびshift修飾子付きの矢印ナビゲーション、Backspace、ctrl-Backspace、Deleteなどの標準キーボードショートカット、マウスオーバー/ホバリング、マウスボタン、生のキーボードイベント、windows-msi、mac-dmg、linux-appimageなどの配布形式、Dockerを使用したクロスコンパイルが含まれます。
サンプルは別のリポジトリにあり、いくつかの人気プラグインは専用のpluginsリポジトリですでに実装されています。wikiにはプラグイン作成に関するチュートリアルがあります。
バージョン互換性: このプロジェクトはFlutterのbetaチャネルとの互換性を維持するよう努めており、最新の安定版Goリリースとの互換性を保ち、GLFW v3.3にはgo-gl/glfwを使用しています。このプロジェクトはBSD 3-Clause Licenseの下でライセンスされています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.