2017-05-08 55 views
8

显然,flutter是使用一个代码库在IOS和Android上运行应用程序的框架。但是它是如何设计的呢?它会编译为本机代码,还是有流程中涉及的中级语言或虚拟机?我尝试阅读github上的一些源代码,但我甚至找不到它的开头......谢谢颤振 - 它在幕后如何工作?

回答

7

Dart源代码使用Dart的AoT编译特性编译为本地代码。它仍然需要运行Dart虚拟机,但是代码会提前编译为本机代码,因为iOS不允许进行动态编译。

Flutter也可以调用Android并使用仅在Java中提供的Android功能。 Flutter支持构建允许调出本地平台代码的自定义插件。

+0

感谢您解释它。你知道我可以在github repo上找到编​​译器代码吗? – OhMad

+0

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

+2

是的,我知道实际的目录。但是有没有开始呢?我试着看过它之前,似乎我看着每个文件都与编译器无关... – OhMad