理性的思考Flash与Ajax相关问题
2009-10-28 11:20:34 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佽鍨庨崘锝嗗瘱闂備胶顢婂▍鏇㈠箲閸ヮ剙鐏抽柡鍐ㄧ墕缁€鍐┿亜韫囧海顦﹀ù婊堢畺閺屻劌鈹戦崱娆忓毈缂備降鍔庣划顖炲Φ閸曨垰绠抽悗锝庝簽娴犻箖姊洪棃娑欐悙閻庢矮鍗抽悰顕€宕堕澶嬫櫖濠殿噯绲剧€笛囧箲閸ヮ剙钃熼柣鏂挎憸閻熷綊鏌涢…鎴濇灈妞ゎ剙鐗嗛—鍐Χ鎼粹€茬凹缂備緡鍠楅幐鎼佹偩閻戣棄纭€闁绘劕绉靛Λ鍐春閳ь剚銇勯幒鎴濐伀鐎规挷绀侀埞鎴︽偐閹绘帩浼€缂佹儳褰炵划娆撳蓟濞戞矮娌柟瑙勫姇椤ユ繈姊洪柅鐐茶嫰婢т即鏌熼搹顐e磳闁挎繄鍋涢埞鎴犫偓锝庘偓顓涙櫊閺屽秵娼幏灞藉帯闂佹眹鍊曢幊鎰閹惧瓨濯撮柛鎾村絻閸撳崬顪冮妶鍡楃仸闁荤啿鏅涢悾鐑藉Ψ瑜夐崑鎾绘晲鎼粹剝鐏嶉梺缁樻尰濞叉﹢濡甸崟顖氱疀闂傚牊绋愮花鑲╃磽娴h棄鐓愭慨妯稿妿濡叉劙骞樼拠鑼槰闂佸啿鎼崐濠毸囬弶搴撴斀妞ゆ梻銆嬪銉︺亜椤撶偛妲婚柣锝囧厴楠炴帡骞嬮弮鈧悗濠氭⒑鐟欏嫭鍎楅柛妯衡偓鐔插徍濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩绾惧鏌熼崜褏甯涢柍閿嬪灦閵囧嫰骞掗崱妞惧缂傚倷绀侀ˇ閬嶅极婵犳氨宓侀柛鈩冪⊕閸婄兘鏌涘┑鍡楊伀妞ゆ梹鍔曢埞鎴︽倻閸モ晝校闂佸憡鎸婚悷锔界┍婵犲洦鍤冮柍鍝勫暟閿涙粓姊鸿ぐ鎺戜喊闁告瑥楠搁埢鎾斥堪閸喓鍘搁柣蹇曞仧绾爼宕戦幘璇茬疀濞达絽鎲¢崐顖炴⒑绾懎浜归悶娑栧劦閸┾偓妞ゆ帒鍟惃娲煛娴e湱澧柍瑙勫灴閹瑩寮堕幋鐘辨闂備礁婀辨灙闁硅姤绮庨崚鎺楀籍閸喎浠虹紓浣割儓椤曟娊鏁冮崒娑氬幈闂佸搫娲㈤崝宀勬倶閻樼粯鐓曢柟鑸妼娴滄儳鈹戦敍鍕杭闁稿﹥鐗犲畷婵嬫晝閳ь剟鈥﹂崸妤€鐒垫い鎺嶈兌缁犲墽鈧厜鍋撳┑鐘辩窔閸嬫鈹戦纭烽練婵炲拑绲垮Σ鎰板箳閹冲磭鍠撻幏鐘绘嚑閼稿灚姣愰梻鍌氬€烽懗鑸电仚濠电偛顕崗妯侯嚕椤愩倖瀚氱€瑰壊鍠栧▓銊︾節閻㈤潧校缁炬澘绉瑰鏌ュ箵閹烘繄鍞甸柣鐘烘鐏忋劌顔忛妷褉鍋撶憴鍕碍婵☆偅绻傞~蹇涙惞閸︻厾锛滃┑鈽嗗灠閹碱偊锝炲鍥╃=濞达綁顥撻崝宥夋煙缁嬪灝鏆遍柣锝囧厴楠炲鏁冮埀顒傜不婵犳碍鍋i柛銉戝啰楠囬悗瑙勬尭缁夋挳鈥旈崘顔嘉ч柛鈩兠棄宥囩磽娴e壊鍎愰柛銊ュ缁顓兼径瀣偓閿嬨亜閹哄秶顦︾€殿喖鐏濋埞鎴﹀煡閸℃浠梺鍛婎焼閸曨収娲告俊銈忕到閸燁垶宕愰崹顐e弿婵☆垳鍘ф禍楣冩倵濮樼偓瀚�

核心提示:作为一个纯粹的产品创作者(比如产品经理)或者开发人员(比如交互式设计工程师、原型开发工程师)而言,这么说似乎显得不近理性,理性的思考Flash与Ajax相关问题,甚至可以成为被上级辞退的一条理由,但作为一个从Flash中受益,让人不得不联想到微软Sparkle,(详见:《Flash杀手!微软Sparkle即将露面》 b
作为一个纯粹的产品创作者(比如产品经理)或者开发人员(比如交互式设计工程师、原型开发工程师)而言,这么说似乎显得不近理性,甚至可以成为被上级辞退的一条理由。但作为一个从Flash中受益,与Flash共同成长的Flash的用户,我不得不为Flash本身感到深深的担忧。
Flash固然是工具,但我毕竟不是一个冷血的商人,使用它,我感受到了乐趣。之前有很多朋友分析、对比过Flash和它的竞争对手,尤其最近Luar两篇文章《2006-Flash的未来未有来》和「從Flash走到Ajax--使用者經驗與開發者經驗的二三事」講義下載更是把Flash的位置推及到悬崖边缘。相比已经投身Ajax的Luar,我也想发表一些自己的观点,当然,我无论是从经验,还是技术,都无法与Luar相提并论,但我争取理智地得出每一个结论。
三年前,随着FlashMX2004推出以及面向对象脚本AS2.0的出现,似乎Flash进军富客户端(Rich Client)的障碍被彻底扫除。如果我没有记错,正是Macromedia给富客户端“创造”了一个全新的、更大气的名字:RIA(Rich Internet application)
RIA的出现,似乎标志了一个时代。FlashMX2004似乎一夜间成为了开发RIA的必备利器。AS2.0的出现,头一次把Development(开发,主要指采用AS开发应用程序)列为Flash制作的另一条重要路线(之前一直是偏重 Motion-Design:图形动画设计的),也正是那一年,大量的传统开发者投身RIA大军之中,一些AS1.0的坚决拥护者甚至高手也纷纷落马,开始回头重新补OOP的课。Flash从一个简单的交互式动画制作软件,摇身变成互联网应用程序开发的必备利器,瞬间背负了沉重的“历史使命”。然而不管是传统的Flash设计人员以及AS1.0面向过程开发高手,还是投靠FlashMX2004的新生力量,都对未来充满了乐观。Macromedia的 Flashplayer普及率调查一次次将大家的斗志推向极致。市场上对于Flash开发者的需求也在急速上升:我的简历已经被浏览万次以上,并且收到很多电话邀请,小公司为主,也不乏较大的公司。当然,我并不是在这里给自己贴金,之前已经为这种“人品爆发”的现象作了理性解释和反思。权且理解为,我不经意之间沾了Flash的光吧!
Macromedia在2005年4月(去年),完成了她最辉煌的结尾:被Adobe收购。
其实被收购之初,大家都心有余悸,Luar当时也犀利地抨击过Adobe历史上通过收购调整产品线的一些劣行,说其很可能会把Flash给偷偷干掉。但时间证明Adobe没那么傻。三剑客无一遗弃。就连最危险的fireworks,Adobe也给足了颜面。我们这些Macromedia的忠实拥护者渐渐地也接受了Adobe这样一个品牌。以至于今年4月16号,也没有谁跳出来“纪念”Macromedia被收购一周年(如果Adobe在收购之后把Flash 干掉或者仅仅停缓开发,肯定会激起民愤)。这里顺便也表达我自己对Adobe的感激,它似乎吸纳了Macromedia的精神和灵魂。收购并没有影响 Flash8的推出,包括之后的FlashPlayer8.5,Flex2.0b,AS3.0等labs项目也进展顺利,我当时也亲眼目睹AS3.0其威力。就在一切都顺利进展的时候,一个不起眼的名次出现了:AJAX。
这就是Flash的最大竞争对手。就我(awflasher.com)所知,目前没有一本像样的Flash开发书籍中提到Ajax,而几乎每一本Ajax的畅销书中都有提到Flash,有些甚至直接把Flash列为Ajax的竞争对手。我知道他们这么说肯定是有依据的,毕竟Ajax和Flash有太多相似之处:界面友好、用户体验良好、无刷新+数据安全保存等等……又毕竟,Flash的一些技术门槛和负面影响导致Ajax阵营可以迅速扩大,比如一些优秀的 Flash制作人员毕竟还是偏重图形界面设计;传统的Web开发者很难进入Flash领域,不管他多聪明,也不可能一夜之间就把MovieClip这样的关键概念很快彻底掌握。而Ajax则不然,后面会提到。
于是,相关的争论、比较也就接踵而至。也许是上文提到的Flash开发人员偏重图形设计,或者不客气地说,缺乏严密的理性、批判能力,所以每一次的争论中,似乎Ajax都稍占上风。并且Ajax最新的书籍也是层出不穷,图文并茂,概念多多。而且似乎本本畅销!
我并不是想激化争端,但我是Flash的用户,因此我想大胆猜测一下造成这种局势的缘由:
姑且把Flash和Ajax双方的支持者成为F阵营和A阵营,再次申明,我只是罗列一些实事,并非挑拨离间,我爱Flash,我也爱AJAX!
一、Ajax技术来的虽然不晚,但是炒作的却比较晚,特别是在Flash8之后才火起来。因此沉浸在Flash8的喜悦中的F阵营似乎还没有做好准备。注:炒作这里并非贬义,只是我找不到合适的词来描述“短期内将某概念推广致大多数人认同”
二、Ajax本身技术变革少,技术上甚至没什么新名堂,主要是概念和形式,已经有的技术积累也不错,因此投入研究非常容易;而Flash8改动大,每一次Flash升级,几乎都有一堆变革,加上本身设计+开发并重的AS2.0大大提高了入门门槛,F阵营有实力进行理性批判的人数(aw注:包括文章撰稿人和翻译者)肯定远远不及A阵营;
三、刚才提到的:Flash开发人员还是偏重图形、动画设计,或者不客气地说,缺乏严密的理性、批判能力;
四、Ajax确实有优势:浏览器的支持;而Flash虽然有着普及率众多的Flashplayer基础,但是浏览器支持方面肯定比javascript稍逊一筹。毕竟你很难找到一个不支持Javascript的终端(禁止JS的人并没有你想象得那么多),然而找到一个仅装有Flashplayer6.0的客户机,还是比较容易的;
五、其实这些也没有那么严重,Ajax毕竟也是一个无形的概念,没有太多的利益关系,最严重的是M$最新的一款IE补丁,使得整个互联网上IE中的Flash一下子全部殃及,让人不得不联想到微软Sparkle。(详见:《Flash杀手!微软Sparkle即将露面》 by awflasher.com)Sparkle以何种形式出现?Sparkle会不会团结A阵营排斥F阵营的影响,这些都不得而知。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接