老派Flash开发人员应何时使用Flex?
Flash和Flex之间的主要区别是什么?我拥有超过五年的Flash经验,并且对使用Flash和ActionScript3进行开发感到非常自在。我发现自己对Flex越来越好奇,并想知道何时最好使用Flash或者Flex。另外,MXML可以完成的所有事情,AS3可以完成吗?我对AS3和OOP有深刻的了解,并且想知道在Flex中使用AS3和MXML之间的区别。
解决方案
Flash和Flex提供了不同的方式来产生不同的事物。我对Flash不熟悉,但是我希望它依赖于时间导向的方式来产生某些东西,而Flex则适合于更传统的软件开发。也就是说,与其处理Flash中的时间和帧,不如描述应使用MXML放置组件的位置以及这些组件如何与ActionScript一起使用。
人们也应该只用AS3就能编写Flex应用程序,而无需MXML。
据我所知,Flex中的AS3和MXML之间的主要区别在于,MXML并非旨在与应用程序逻辑一起使用,而是旨在像HTML / CSS在网页中那样使用,并将组件和内容放到Web应用程序中。 Flex应用程序。 ActionScript用于对行为,组件和MXML之外的其他事物进行编程。因此,如果要将事件添加到组件,则可以编写ActionScript代码。
希望能有所帮助。我仍在学习有关Flex的知识。
MXML可以编译为动作脚本,因此它实际上像是更高版本的脚本。因此,是的,MXML可以完成的所有操作都可以使用动作脚本来完成(但反之则不行)。
这取决于我们现在正在使用Flash开发哪种类型的应用程序。我已经担任Flash开发人员(主要是应用程序)已有7年了。老实说,Flex 2发行时我感到非常高兴,因为它具有Flash中没有的组件框架(好的组件,布局管理器,...)。这是IMO Flash和Flex(或者Flex框架)之间的最大区别。
MXML是一个真正的祝福,尤其是在使用数据绑定时。最后,所有内容都被编译为ActionScript(选中-keep编译器选项),但是MXML节省了很多时间。
如果我们想快速构建一个UI,Flex就是很好的选择,我们可以在几个小时内模拟一个可以正常运行的UI。由于它仍然可能会限制某些自定义UI,因此它并不是对所有事物都完美的,但是,如果某些事物或者多或者少看起来像应用程序并适合网格,则可以非常快速地模拟MXML中的UI。另外,不要害怕大多数Flex应用程序的外观(丑陋,imo),我们可以自定义所有内容或者轻松创建自己的组件。
将动作脚本放入mxml与将css或者javascript放入html相同,这确实很糟糕。不幸的是,甚至Adobe在多个示例中都有此功能(可能主要是因为它使演示更容易,更快捷)。我个人认为这也适用于绑定,因为我不想将数据放在UI(mxml)中。
作为一名经验丰富的开发人员,我确定我们不会在时间轴上进行任何开发(以澄清Flash =时间轴的误解)。仍然使用Flex,我们可以将UI分隔在一个框架中,该框架可以处理布局的许多负担,因此我们可以专注于业务逻辑。工作流程的其余部分接近于Flash可能已经具备的功能。
我想到了其他一些区别:
Flash使我们可以创建图形资产,然后立即使用它们。要在Flex中使用相同的功能,我们需要先使用Flash将它们导出到swf或者swc。
Flex有一个布局管理器,因此窗口大小可变的应用程序更容易制作。例如,我们可以选择一个窗口并将其设置为窗口宽度的90%,它将改变大小……我们不必担心,但实际上是随着窗口变大或者变小而改变其宽度。在Flex框架之外,这并不容易。
Flex中的数据绑定可节省大量时间。本质上,只需说出blah =" {foo}",即可创建我们需要在AS3中编写的所有代码。
Flex Debugger远远优于Flash Debugger。还有一个探查器。
由于我是从Flex而不是Flash开始的,所以我不确定哪种IDE最适合Flash开发人员,但是基于Eclipse的Flex Builder相当不错。代码提示很棒。 Subclipse集成很棒。
确实,Flash和Flex是不同的野兽。如果我们想使用Flex,则应该了解并了解AS3,并且既然这样做了,我们就可以利用Flex的功能了。 Flash并不能作为制作更具视觉创意的作品的工具,但是Flex为应用程序开发提供了很多优势。