[英]Flex - AS3 vs. MXML - Is there a compilation speed difference, and how does the mxml compiler work?
MXML是否可以编译为as3,然后转换为Flash字节码? 另外,编译mxml与编译as3是否会对性能造成重大影响?
是的,它归结为AS3,大多数(可能是所有)MXML组件只是AS3类的标记版本。
但是,由于MXML需要Flex框架,因此编译时间没有任何原始差异,因此MXML项目的编译时间更长。
所以...从某种意义上说,MXML较慢,但并非如此。
这是对Jasconius的更正。
所有 MXML都作为一种形式的预编译器指令来生成Class。 在运行最终编译器之前,mxmlc.exe会将其转换为一系列临时.as文件。 实际上,您可以通过使用keep-generation-actionscript指令来查看编译器如何执行此操作。
因为这是一个两步过程,所以这意味着编译用MXML编写的内容总是要花费更长的时间。 但是,即使在较慢的机器和大型项目上,也不会造成很大的困难-真正的问题在于将所有内容都转换为字节码。 但是,这并非没有益处。
MXML语法的主要优点在于,它更易于阅读,更易于概念化和易于调试。 这也使得分隔表格和内容变得更加简单。 任何时候您可能在编译过程中松懈,编程时都会获得十倍的回报。
与纯AS3项目中的几个kbs相比,在flex中一个简单的hello world应用程序在flex中将超过100k。 这是因为flex将很多依赖项编译到swf中。 是的,在带宽要求方面存在代价。
在project | properties | flex编译器的其他编译器参数字段中添加-keep
之后,编译一个简单的flex应用程序,然后检查源文件夹中名为generated
的自动生成的文件夹,以查看编译器生成的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.