合計フラッター

フラッターフレームワークは、3つの層に分割
フレームワーク、エンジン、エンベッダ

フレームワークは、UI、テキスト、画像、ボタンなどのウィジェット、レンダリング、アニメーション、および他のジェスチャを含む、ダーツ言語を使用しています。コア・コードのこの部分は、フラッタおよびパッケージの下フラッタ及び倉庫、及びsky_engine倉庫、非同期ioのある、UI:パッケージ等(DART UIライブラリは、フレームとエンジンフラッタの間のインターフェースを提供します)。

エンジンを含め、C ++実装を使用して:Skia、ダートとテキスト。

Skiaは、様々なハードウェア及びソフトウェアプラットフォームのための共通APIを提供するオープンソースの二次元グラフィックスライブラリです。これは、Google Chromeの、クロームのOS、アンドロイド、として持っている Mozilla Firefoxの、FirefoxのOS や他の多くの製品、グラフィックスエンジン、支持プラットフォームは、Windows、MacOSの、iOSの、アンドロイド、含ま Ubuntuのようにしています。
ダート部分が含まれています:ダーツランタイム、ガベージコレクション(GC )、 そしてもしデバッグモードを、さらにJIT(ジャスト・タイム)支持体を含みます。放出プロファイルと下部パターンはAOT(事前に)アームのネイティブコードにコンパイルされ、どの部分のJITは存在しません。
テキストテキスト次のようにレベルをレンダリングしている、すなわち、レンダリング:(フォント選択、行区切り用)Minikinに由来libtxtライブラリ; HartBuzzグリフ選択して形成するため、AndroidとフクシアにレンダリングのFreeTypeを使用Skia / GPUバックエンドをレンダリングするようにフォントをレンダリングするためのiOS上でCoreGraphicsを使用。
埋め込みは、それぞれのプラットフォームまでのフラッタの埋め込み層を介して、層内に埋め込まれた主作業埋め込み表面レンダリング設定、スレッド・セット、およびプラグインを含んでいます。(例えばiOSのような)プラットフォームは、それが良好なクロス端コンシステンシーを有することができる内部フラッタに残っているすべての関連する論理を描画キャンバスを提供します。

おすすめ

転載: blog.51cto.com/13550695/2452101