`
WonLen
  • 浏览: 51086 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

[Flex]为什么国内的公司都不敢使用Flex作为产品的平台与主要开发语言

阅读更多

我增加了一个关于国内Flex从业者的调查问卷,大家有时间可以填写一下:
http://poll.flexapp.cn

关于这个题目不止一个人问过我,而这些问过我的人们大概分成:各种初创公司的CEO、CTO。各式想做把Flex作为产品主要平台的产品经理及其想学Flex的初学者。
其实我也在想关于这方面的事情,为什么现在Flex似乎出现了雷声大、雨点小的情况?
 
其实我觉得不外乎以下几个原因:
 
1、产品线有些长
就说一下Flex的版本吧,我在2007年初的时候,写《Flex第一步》的时候,是Flex 2.0,而后又升级了一个版本:Flex 2.0.1(比较重要的升级)
2008年初期的时候,就是Flex 3.0(AIR 1.0)的天下了,而2008年中旬出现了AIR 1.5版本。而在2008年末截止到目前位置Flex 4.0已经开始慢慢的浮出了水面...
现在的问题Flex 2.0.1、Flex 3.0、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
c、Flex  Builder
d、Flex  SDK
 
请问各位初学者有谁可以分清楚上述名称的区别、版本直接的联系?估计就算是老手也不一定100%的说清楚吧?
 
a、Flash(MX2004、CS3、CS4)
b、Flash Player(9.X、10.X)
c、Flex  Builder(目前似乎与SDK的命名混淆在一起了)
d、Flex SDK(重要的版本有 2.0、2.0.1、3.0、3.2、4.0(测试版))
e、Action Script(1.0、2.0、3.0)

这样混乱的版本难道不会让一个新手晕头转向吗?

3、Flex framework 奇多
我以前是一个Java、C#的开发人员,现在偶尔也玩玩JQueryExt、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,那么会给公司带来多少、多少的利润:)

21
4
分享到:
评论
8 楼 量产型人型自走炮 2009-06-01  
嘛...其实我觉得AS语法上很多败笔。学什么不好学java....一个getter setter就浪费好多时间。
类型不动不静,泛型支持很挫又不是完全的动态类型....
7 楼 WonLen 2009-06-01  
liujunsong 写道

要使用Flex作为开发语言,最大的问题在于思维方式的调整.
现在国内的开发人员都已经成功的被J2ee,SSH这些东西洗过脑了,
再来看Flex这类东西,往往觉得难以理解难以接受.
以前我感觉还不够强烈,自从最近两周自己的两个贴子别隐藏和新手以后感觉才如此强烈.
关于Flex和J2ee思维方式的差异,以后有时间精力的话考虑专门写个帖子讨论讨论.

其实Flex是标记语言,例如Silverlight、JavaFX等都是标记语言,而真正的核心是ActionScript 3.0,而这个语言在层次上与Java、C#等主流语言是一样的。所以不太会如你说的情况,但是你说的思维调整的确是存在的,我觉得如果是一个合格的Flex开发人员,一般来说,是要主导后台的,而不是由后台来主导。这样问题就大了。
PS:仅仅是一家之言:)
6 楼 liujunsong 2009-06-01  
要使用Flex作为开发语言,最大的问题在于思维方式的调整.
现在国内的开发人员都已经成功的被J2ee,SSH这些东西洗过脑了,
再来看Flex这类东西,往往觉得难以理解难以接受.
以前我感觉还不够强烈,自从最近两周自己的两个贴子别隐藏和新手以后感觉才如此强烈.
关于Flex和J2ee思维方式的差异,以后有时间精力的话考虑专门写个帖子讨论讨论.
5 楼 NightTree 2009-06-01  
博主把所有博客都迁到JE来撒。。。
4 楼 WonLen 2009-06-01  
whaosoft 写道

有好多公司在用呢啊

我觉得不多,尤其和其他的公司比较的话,就更少了。
3 楼 whaosoft 2009-06-01  
有好多公司在用呢啊
2 楼 WonLen 2009-06-01  
jianfeng008cn 写道

同意 flash太繁琐 搞这么多花头精

是的,不过现在已经改善了好多,现在Flex Builder 被命名为 Flash Buidler,这就与设计人员对应的Flash CS4相对应起来了:)
1 楼 jianfeng008cn 2009-06-01  
同意 flash太繁琐 搞这么多花头精

相关推荐

    FLEX 与现有开发语言的通信全面解析

    Flex是由Adobe公司开发的一种富互联网应用程序(RIA)框架,它主要使用ActionScript编程语言和MXML标记语言。本文将深入探讨Flex与各种开发语言之间的通信机制,帮助开发者更好地理解和利用这种强大的技术。 一、...

    Flex语言开发介绍及实例

    它由Adobe公司开发,基于ActionScript编程语言和MXML标记语言,为开发者提供了丰富的用户界面组件库,可以创建出类似桌面应用的用户体验。 在标题"Flex语言开发介绍及实例"中,我们可以理解到这将涵盖Flex的基本...

    flex与jsp结合使用

    1. **Flex**:Flex 是 Adobe 公司开发的一套用于创建 RIA 的开发框架,基于 ActionScript 语言和 MXML 标记语言。它提供了丰富的组件库和强大的数据绑定功能,使得开发者可以轻松构建用户界面。 2. **JSP (Java...

    Flex4开发实践PPT

    Flex4,全称为Adobe Flex 4,是Adobe公司推出的一款强大的富互联网应用程序(RIA)开发框架,主要用于构建具有丰富用户体验的Web应用。本PPT详细讲述了Flex4的开发实践,旨在帮助开发者从基础到实践全面掌握这一技术...

    使用Flex4.5开发Android应用程序

    在本文中,我们将深入探讨如何使用Adobe Flex 4.5框架来开发针对Android操作系统的应用程序。Flex是一款强大的、基于ActionScript的开源开发工具,它允许开发者创建富互联网应用(RIA)以及跨平台的移动应用。Flex ...

    flex界面开发框架

    Flex界面开发框架是一种用于构建富互联网应用程序(RIA)的技术,由Adobe公司开发,主要基于ActionScript编程语言和Flex SDK。Flex提供了丰富的用户界面组件库,允许开发者创建具有交互性和动态效果的Web应用。在本...

    flex与java结合开发

    ### Flex与Java结合开发知识点详解 #### 一、前言 在现代Web应用开发中,Flex作为一种强大的RIA(Rich Internet Application)技术,以其出色的界面渲染能力和丰富的用户交互体验,成为了许多开发者的选择。...

    flex实战项目,flex开发

    Flex是Adobe公司推出的一种用于构建富互联网应用(RIA, Rich Internet Applications)的开源框架,它主要基于ActionScript编程语言和MXML标记语言。这个“Flex实战项目”可能是一个使用Flex技术构建的实际应用示例,...

    Flex 3开发指南

    - **开发环境搭建**:除了安装Flex SDK外,还需要安装支持Flex开发的IDE(如Adobe Flash Builder),以及配置必要的编译器选项。 #### 三、Flex 3 基础知识 - **MXML**:一种基于XML的标记语言,用于定义Flex应用...

    Java与Flex开发入门

    **Java与Flex开发入门** Java和Flex是两种广泛用于创建丰富互联网应用程序(RIA,Rich Internet Applications)的技术。本文将深入探讨这两个技术平台的基础知识,以及它们如何协同工作以提供卓越的用户体验。 ...

    Adobe Flex 3.2 语言参考.chm

    总的来说,"Adobe Flex 3.2 语言参考"包含了关于Flex框架、ActionScript 3.0语法、MXML标记语言、组件库、数据处理和事件处理等方面的详细信息,对于任何想要学习或精通Flex开发的人员来说,都是不可或缺的资源。...

    使用IntelliJ_IDEA开发Flex应用

    ### 使用IntelliJ IDEA开发Flex应用 随着技术的发展与需求的变化,不同的开发工具与平台不断地涌现,以适应各种复杂的开发场景。其中,Flex作为一种用于构建跨浏览器和操作系统桌面应用程序的技术框架,仍然拥有...

    FLEX开发中文文档

    《FLEX开发中文文档》是一份专为RIA(Rich Internet Applications)开发者编译的资源,主要涵盖了Adobe Flex 2和ActionScript 3的开发技术。这份文档由四部分组成,分别对应四个章节,旨在帮助开发者理解和掌握Flex...

    Flex万年历记事本_flex源码

    Flex是Adobe公司推出的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这种技术允许开发者创建具有高度交互性和动态视觉效果的Web应用,提供比传统...

    flex4 开发文档

    本开发文档旨在深入探讨Flex 4及其核心组件、架构和编程模型,以及与ActionScript 3.0的集成。 ActionScript 3.0 是一种面向对象的编程语言,是Flash Player和Adobe AIR平台的核心组成部分。相比于早期版本,AS3.0...

    flex与Java及tomcat整合开发

    Java作为服务器端的主流开发语言之一,与Flex的结合可以充分发挥两者的优势,实现更加丰富的交互体验。本文主要介绍了如何利用Flex 4、Java、Tomcat以及BlazeDS实现Java与Flex的完美整合,并给出了详细的步骤。 ###...

    Flex应用程序开发

    Adobe Flash Builder 4是一款专为Flex开发设计的IDE,提供了丰富的特性,如代码智能、调试工具和性能分析工具,极大地提高了开发效率。 ##### 2. **Adobe Flash Builder 4** Adobe Flash Builder 4是Adobe官方推荐...

Global site tag (gtag.js) - Google Analytics