MXML是一种用于创建用户界面的功能强大的标记性语言。在大多数情况下,使用ActionScript布局不如使用MXML布局。 ActionScript更适合描述逻辑和数据模型,然而MXML和ActionScript并不是有巨大的不同。实际上,在编译的时候,MXML会转化成AS,MXML结构能理解成一种动态的AS类。 在Eclipse的Flex工程的属性的Flex Compiler页,将编译参数加上 -keep-generated-actionscript=true
(加在 -locale en_US 之后即可,注意之间用空格隔开),就会在src目录里生成一个generated文件夹,里面就是所有MXML在编译时转化成的AS文件。 这点有点可以类比为JSP脚本在运行时将被转化为.Java文件,并编译成.class执行。但由MXML转化出来的AS看起来比由JSP转化的Java更具可读性,更接近我们所写的AS(JSP转化成Java时,实际上就是一堆向context打印输出语句的堆砌)。 利用Flex编译器这一功能,有助于我们理解MXML和AS间的本质联系的同时,我能想到的最有价值的用处就是开发自己的控件了。
由于在大多数情况下,使用ActionScript布局不如使用MXML布局,所以用IDE环境拖拽的方式创建控件的UI界面是最方便不过的了。 UI确定后,再用AS描述逻辑和数据模型,如事件监听和相应的处理等。