转http://www.k-zone.cn/zblog/post/why-not-use-flex.html
关于这个题目不止一个人问过我,而这些问过我的人们大概分成:各种初创公司的CEO、CTO。各式想做把Flex作为产品主要平台的产品经理及其想学Flex的初学者。
其实我也在想关于这方面的事情,为什么现在Flex似乎出现了雷声大、雨点小的情况?
其实我觉得不外乎以下几个原因:
1、产品线有些长
2008年初期的时候,就是
Flex 3.0(
AIR 1.0)的天下了,而2008年中旬出现了AIR 1.5版本。而在2008年末截止到目前位置
Flex 4.0已经开始慢慢的浮出了水面...
如果我是一个
Flex的初学者的话,那么我学习什么呢?
Flex 2.0.1过时了(真的过失了吗?)
Flex 3.0(是不是也要过时呢?)
Flex 4.0(我的英文不好,就算我的英文好的话,目前还是测试版本还是要在看一下的)
如果我是一个打算使用Flex作为产品的平台的话,那么我学习什么呢?
Flex 2.0.1过时了(现在已经是
Flex 3.0版本了,肯定比2.0.1好!)
Flex 3.0(我需要使用它的一些特性,但是3.0里面似乎没有提到)
Flex 4.0(什么时候才可以发布正式版?否则我只能等...)
其实所谓的产品线过长应该指代的它们之间的兼容性很差。这样就限制了
Flex由低版本迁移到高版本的效率、增加了迁移成本。
那么有朋友说了,Silverlight的版本似乎也比较多,因此
Adobe需要与MS进行竞争,这是在所难免的。
但是我想说的是:Silverlight的版本虽然也比较多,但是目前大规模的商业化还未开始(我指国内)因此就算是版本不兼容,影响不大。
而反之
Adobe就不行了。目前国内的形式是,比较少,但是也会有一些的,一旦发生了版本迁移的成本增加、开发人员的学习费用增加,势必会造成负面的口碑营销(这点是致命的)
请看一下,目前比较成功的语言的版本命名:PHP(我虽然不是十分了解PHP,但是我也知道它的版本1.0 ~ 5.0)python(包括了 2.X 与 3.0)虽然 2.X与3.0很多是不兼容的,但是python官方已经给出了初学者一条学习的方向:建议初学者学习 3.0,然后回头再看 2.X的时候,就会比较容易些,因为 2.X很多会让初学者混淆的东西在3.0里面已经不存在了。
PS:这里面的版本号指代的是Flex SDK,而非Flex Builder IDE
2、名称混淆
a、Flash
b、Flash Player
请问各位初学者有谁可以分清楚上述名称的区别、版本直接的联系?估计就算是老手也不一定100%的说清楚吧?
a、Flash(MX2004、CS3、CS4)
b、Flash Player(9.X、10.X)
d、
Flex SDK(重要的版本有 2.0、2.0.1、3.0、3.2、4.0(测试版))
这样混乱的版本难道不会让一个新手晕头转向吗?
3、Flex framework 奇多
我以前是一个Java、C#的开发人员,现在偶尔也玩玩JQuery、Ext、Python等脚本语言,我从来没有为上述语言的框架选择上面出现疑问?为什么?答案很简单,一共就那么几种框架,而且大多数框架已经很成熟了,因此比较好选择。
而到了Flex/AS这边,我却傻眼了,怎么这多的framework呢?
这样的结果造成的原因就是:所有人都在想到底是用哪个框架?这个框架与其他框架的优势是什么?这个框架适用于我的项目吗?结果所有的人都会把尽力放在寻找、比较框架上面,而真正的忽略了框架的本质。
那么什么是框架的本质呢?或者说框架(framework)是什么呢?
我认为中的框架就是:语言本质特点 + 设计模式
那么语言本质特点:
AS3的语言特点、MXML的语言特点。如果开发人员可以好好的学习这门语法的话,那么我想他一定会了解这个语言特点的。
设计模式:
这个地方就容易了,无论哪种framework的本质都离不开设计模式的,而设计模式基本上全部都是遵循GOF描述的23种设计模式(关于设计模式就是让大家了解这些,毕竟本篇文章不是描述设计模式的文章)
另外我觉得造成Flex框架过多的另一个重要的原因:很多的Flex从业者都是从Flash设计人员慢慢转行过来的,而这些设计人员之前没有很系统的编程功底,因此他们为了编写出更具有可读性的代码,因此就会对framework情有独钟。其实他们这些人完全可以追溯Flex Framework的本源,也就是我刚才说的:语言特点 + 设计模式。
4、中文资料的稀缺:
我这里说的稀缺指的是:好的中文资料,例如:设计模式方面、优秀框架的翻译等内容。
这里我想说一下国内的Flex书籍,我记得没错我的话,关于AS 3.0的数据应该最早是黑羽兄的《AS 3.0 殿堂之路》而Flex方面最早的中文书籍则是walktree与我合写的《Flex第一步》了。
先说说《AS 3.0 殿堂之路》的确是一本不错好书,值得推荐和初学者的学习。
而《Flex第一步》平心而论,这本书写的不够好,有些地方深不下去(追究其原始还是定位的问题),但是作为Flex入门书籍我觉得这本书应该可以胜任了。同时它也可以光荣的退出了历史的舞台。:)
而这两本书之后的很多的国内原创书籍似乎都没有逃脱这两本书的范围和范畴(我这里不是指其他的原创书籍不好)而是想说的是,似乎这些书籍的定位都太重复,也就是差不多都是面向初学者的,没有面向企业级、面向高级程序员的。
如果,我说的如果,现在已经有了关于AS3/Flex的设计模式的书籍、面向企业级开发、分析AS3源码等面向中高端Flex开发者的书籍肯定会拉动国内的“内需”。
说了一大堆,无外乎几个字概况:官方清晰的版本策略、最好可以做到版本的无缝迁移,多一些面向企业级开发的中高端书籍。这样才能让更多的人想去使用Flex、让他们知道如果使用Flex,那么会给公司带来多少、多少的利润:)
分享到:
相关推荐
Flex4,全称为Adobe Flex 4,是Adobe公司推出的一款强大的富互联网应用程序(RIA)开发框架,主要用于构建具有丰富用户体验的Web应用。本PPT详细讲述了Flex4的开发实践,旨在帮助开发者从基础到实践全面掌握这一技术...
Flex教程是中国天网联盟共享的一款资源,主要针对Adobe Flex这一技术进行深入的讲解。Flex是一种开源框架,主要用于构建富互联网应用程序(RIA),特别是在Web应用中,它可以提供丰富的用户界面和交互体验。本教程...
Flex Air是中国Adobe公司开发的一款基于Flash技术的富互联网应用程序(RIA)开发平台,它允许开发者创建可以在桌面运行的跨平台应用程序。本“Flex Air中文官方帮助文档”是开发者的重要参考资料,详细介绍了Flex ...
Flex是Adobe公司开发的一个开源框架,基于ActionScript编程语言,用于构建跨平台的、基于Flash Player或Adobe AIR的应用程序。Flex API 包含了多个关键组件,如MXML(标记语言)和ActionScript(面向对象的脚本语言...
Flex是用于构建富互联网应用程序(RIA)的开源框架,它使用MXML和ActionScript作为主要开发语言。AIR(Adobe Integrated Runtime)则允许开发者创建桌面应用程序,利用Web技术如HTML、CSS和JavaScript,同时兼容...
Flex技术本身并不是凭空出现的,经过了Flash的长期预热,依托于XML、ActionScript 3.0等标准化开发语言,终成正果。 本书以实践为手段,以实用为核心,全面解析了应用Flex技术进行RIA开发的思维与过程。从实践开始...
Flex是由Adobe公司开发的一种用于构建富互联网应用程序(RIA)的开放源代码框架,它主要基于ActionScript编程语言和Flash Player或Adobe AIR运行时环境。这个“Flex中文教程 Flex由浅入深”提供了全面的学习资源,...
Flex4是中国Adobe公司推出的Flash平台开发工具Flex的新版本,它主要用AS3(ActionScript 3)编程语言和MXML标记语言进行富互联网应用程序(RIA)的开发。Flex4相较于之前的版本,带来了许多显著的改进和新特性,使得...
Flex4,全称为Adobe Flex 4,是Adobe公司推出的一款用于构建富互联网应用程序(Rich Internet Applications,RIAs)的框架,主要基于ActionScript编程语言和Flash Player或Adobe AIR运行时环境。Flex4在Flex 3的基础...
它由Adobe Systems开发,旨在提供强大的图形显示和用户交互能力,主要用于构建和部署跨平台、跨浏览器的桌面及移动应用程序。在本“Flex技术中文帮助”文档中,我们将深入探讨Flex的核心概念、组件、编程模型以及...
- **FlexBuilder**是Adobe公司推出的一款集成开发环境(IDE),专为Flex和ActionScript开发者设计,支持从设计到编码再到调试的一整套开发流程。 - **FlexBuilder 2**是早期版本之一,提供了强大的编辑、调试和...
【Flex学习】文档主要涵盖...综上所述,Flex作为开发RIA的强大工具,结合Flex Builder和MXML,为创建互动丰富的应用程序提供了高效的方法。了解并掌握这些知识点对于想要涉足或提升在RIA开发领域能力的人来说至关重要。
综上所述,Flex及其开发工具FlexBuilder为创建高质量的RIA提供了强大且灵活的支持,无论是对于初学者还是专业开发者,都具有极大的吸引力和价值。随着技术的不断进步,Flex在未来的应用前景将更加广阔。
标题"Flex+J2ee实例"意味着我们将探讨一个实际项目,这个项目使用Flex作为前端用户界面技术,与Java EE后端进行通信。这样的组合允许开发者构建动态、响应式的Web应用,同时利用Java EE的强大功能,如数据库连接、...
此外,Flex Builder作为开发工具,提供了强大的调试和代码提示功能,极大地提高了开发效率。 “PPT实例”这部分可能包含了郑岩峰的讲解材料,通过PPT的形式展示Flex 3的关键概念和技术,便于学习者理解和记忆。这些...
Flex Builder是Adobe公司推出的一款强大的基于Eclipse的集成开发环境(IDE),专门用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。2007年时,Flex技术正处于快速发展阶段,Flex Builder作为当时...
《Flex4权威指南》是一本全面深入探讨Adobe Flex 4技术的专业书籍,旨在为开发者提供详尽的指导和实践知识。Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript和Flash ...
Flex是Adobe公司开发的一种富互联网应用程序(Rich Internet Application, RIA)框架,它主要用于构建运行在浏览器中的交互式用户界面。这个"flex文档中文的pdf文档"很可能是Flex的开发者指南或者API参考手册的中文...
ActionScript是Flex中使用的脚本语言,主要用于控制动画、处理用户交互以及与服务器进行数据通信。 这篇博文链接虽然没有给出具体内容,但通常在技术博客中,作者可能会分享关于Flex和AS的开发经验、教程、代码示例...
Flex使用Flash Player或Adobe AIR作为运行环境,它们都支持矢量图形和位图图形。在象棋游戏中,棋盘和棋子可以利用Flex的绘图API来绘制,或者导入预设的图像资源进行展示。 4. 用户交互设计: Flex提供了丰富的...