2017-05-08 7 views
8

明らかに、flutterは、1つのコードベースを使用してIOSとAndroidでアプリを実行するためのフレームワークです。しかし、それはどうしたらできますか?それはネイティブコードにコンパイルされるのでしょうか?あるいは、中間レベルの言語か、プロセスに関わるVMがありますか?私はgithubのソースコードの一部を読んでみましたが、その始まりを見つけることさえできません...ありがとうございましたFlutter - 背後ではどのように動作しますか?

答えて

7

ダーツのAoTコンプリメーション機能を使ってダーツソースコードをネイティブコードにコンパイルしました。それでも実行するにはDart VMが必要ですが、iOSは動的コンパイルを許可していないため、コードはあらかじめネイティブコードにコンパイルされています。

フラッターはAndroidにも呼び出すことができ、Javaでのみ利用可能なAndroid機能を使用することができます。 Flutterは、ネイティブのプラットフォームコードを呼び出すことができるカスタムプラグインを構築するためのサポートをしています。

+0

ありがとうございます。 githubリポジトリでコンパイラコードがどこにあるのかわかりますか? – OhMad

+0

https://github.com/dart-lang/sdk –

+2

はい、私は実際のディレクトリを知っています。しかし、それに始まりますか?私はそれを前に見てみたと私は見たすべてのファイルがコンパイラに関連していないように見えます... – OhMad

関連する問題