我读过关于支持多平台应用程序的颤栗文档,但我不明白从技术上讲,这是可能的吗?颤振代码如何为大约六个不同的平台创建应用程序?
发布于 2022-06-29 13:38:44
颤振项目是用不同的编程语言编写的组件的组合。有关每一层的详细信息,我建议查看图为:https://docs.flutter.dev/resources/architectural-overview#architectural-layers
框架和大多数自己的应用程序代码都是用Dart编写的,然后使用Dart SDK中的Dart编译器进行编译。该编译器支持多个目标( CPU和操作系统),并能够将代码编译成本地CPU指令(x86、x86_64、ARM64、RISC等)或转到JavaScript。
"Engine“是用C和C++编写的,这两种编程语言都可以编译成许多平台。该引擎与Flutter项目一起预编译(对于所有受支持的平台),因此它更像是一个二进制库,您的代码可以使用它。
颤振然后由"Embedder“层中特定于平台的代码组成,该代码根据目标平台使用不同的编程语言编写。来自以前的链接构件:
嵌入器是用一种适合于平台的语言编写的:目前,Java和C++用于Android,Objective/Objective++用于iOS和macOS,C++用于Windows和Linux。
您可以说,这是为每个受支持的平台编写不同的实际代码,在这些代码中,其他层可以保持在相同的位置(同时仍然需要编译到目标平台)。这段代码也作为颤振框架的一部分预编译。
在编译应用程序时,Flutter将使用所有这些来捆绑和应用程序,然后可以在给定的目标平台上执行这些应用程序。
https://stackoverflow.com/questions/72801560
复制相似问题