BT

FlutterでDartによるモバイルアプリのクロス開発を目指すGoogle

| 作者: Sergio De Simone , 翻訳者 吉田 英人 投稿日 2016年2月2日. 推定読書時間: 1分未満 |

原文(投稿日:2015/12/21)へのリンク

Flutterは,Dartの単一コードベースによるiOSとAndroidのクラスプラットフォーム開発を実現するためにGoogleが開発した,オープンソースの新フレームワークだ。両方のプラットフォームで,ハイパフォーマンスと60fsでジッタフリーなエクスペリエンスを提供することを目的とする。

クロスプラットフォーム言語としてDartを選択した理由について,開発チームは,フル機能のアプリにも簡単なスクリプトにも使用可能なスケーラブルな言語であり,JavaScriptやJava,C#といった言語との共通点が多いため,と説明している。その他にも,Dart VMのパフォーマンス,ObservatoryやリアルタイムVMプロファイラ,デバッガ,イントロスペクションツールなどのDartツール,スナップショット,ロードの速いアプリケーションバイナリフォームなどが,選択の理由としてあげられている。

Flutter自体はCおよびC++で開発されていて,2Dレンダリングエンジン,Reactにインスパイアされた関数型リアクティブ(functional-reactive)フレームワーク,一連のMaterial Designウィジェットなどを提供する。Android上では,C/C++コードはAndroid NDKでコンパイルされるが,Dartで記述されたアプリケーションコードの大部分はDart VM上で動作し,JITコンパイルされた最適化ネイティブコードを生成する。一方iOSでは,FlutterのC/C++コードはLLVMでコンパイルされ,Dartコードはアヘッド・オン・タイムでネイティブコードにコンパイルされる。

Android上のFlutterはPlay Storeを経由しないネットワーク(HTTP)アップデートをサポートしているが,iOSとApp Storeではこのオプションがないことに注意が必要だ。

Flutterの重要な機能のひとつとして,MojoのIPCシステムとのインテグレーションがある。これによって,ネイティブサービスやセンサ用API,ローカルストレージなどへのライトウェイトなアクセスが可能になると同時に,デバイスプラットフォームの既定のプログラム言語との相互運用が,バインディングや大規模なラッピングクラスライブラリなしでサポートされている。

FlutterはさらにAtomプラグインも提供している。ただし現在はまだ開発中で,構文の強調表示やコード補完,リファクタリング,テンプレートなどがサポートされている。

FlutterアプリはAndroid 4.1.x以降およびiOS8以降で動作するが,現在はまだ正式版ではない。入手はGitHubから可能だ。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション
BT