Flex编译器可以编译“纯AS3” SWF文件,不包含任何Flex组件字节码。那么,
是否可能创建一个自定义组件框架(用于替代Flex框架),仍然可以使用MXML(即标记语言)进行可视化布局,并编译为SWF而不依赖于Flex框架本身?
Flex编译器可以编译“纯AS3” SWF文件,不包含任何Flex组件字节码。那么,
是否可能创建一个自定义组件框架(用于替代Flex框架),仍然可以使用MXML(即标记语言)进行可视化布局,并编译为SWF而不依赖于Flex框架本身?
是的,这是可能的。您的MXML文件本质上只是指定类的另一种方式。您可以通过编译项目并向mxmlc提供-compiler.keep-generated-actionscript=true
来查看mxml文件的实质。
bar.mxml:
<?xml version="1.0" encoding="utf-8"?>
<flash:Sprite xmlns:flash="flash.display.*">
</flash:Sprite>
使用mxmlc -compiler.keep-generated-actionscript=true bar.mxml
编译后,它会变成以下内容。
生成的代码位于 generated/bar-generated.as 文件中。
package {
import flash.display.Sprite;
// bunch of imports
public class bar extends Sprite {
public function bar() { super(); }
}
}