為什么國內的公司都不敢使用Flex作為產品的平臺與主要開發語言
關于這個題目不止一個人問過我,而這些問過我的人們大概分成:各種初創公司的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
e、Action Script
請問各位初學者有誰可以分清楚上述名稱的區別、版本直接的聯系?估計就算是老手也不一定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#的開發人員,現在偶爾也玩玩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,那么會給公司帶來多少、多少的利潤:)
全站熱搜