Flex是事件驅(qū)動的面向?qū)ο髴?yīng)用程序框架和編程語言,讀者用它可以構(gòu)建出引人注目且容易擴展的RIA,這些RIA都運行于Adobe Flash開以環(huán)境中。
歷史上,Web應(yīng)用程序開發(fā)的側(cè)重點在于能夠快速推向市場,但這一優(yōu)勢往往以犧牲最終用戶的易用性為代價。Flex既確保了集中部署的快速轉(zhuǎn)換模型,又為實現(xiàn)易用性提供了強大支持。
初次接觸Flex的人往往面臨一些獨特的挑戰(zhàn)。第一個挑戰(zhàn)是許多開發(fā)人員不熟悉事件驅(qū)動技術(shù)。雖然他們大致了解事件驅(qū)動的概念,但缺乏長期的使用經(jīng)驗。這種情況下,很難充分發(fā)揮這種技術(shù)的長處,更重要的是無法讓自己的工作更有成效。
第二個挑戰(zhàn)源于許多開發(fā)人員長期固守當(dāng)前的技術(shù)領(lǐng)域。由于習(xí)慣于現(xiàn)有的思維方式,這些人往往會把自己在HTML中得到的經(jīng)驗移植到Flex中。這種做法雖然勉強可行,但束縛了開發(fā)人員的創(chuàng)造力。
第三個挑戰(zhàn)是與Flex本身的強大功能相伴而生的復(fù)雜性。盡管Flex本質(zhì)上并不復(fù)雜,但畢竟很多Web應(yīng)用程序技術(shù)都是過程式、非事件驅(qū)動的,因此讀者很可能在接觸簡單示例時感覺比較容易,而一旦深入鉆研則會覺得難度陡增。
本書將針對這些挑戰(zhàn)并給出解決方案,而這也是本書的獨到之處。對于第一個挑戰(zhàn),本書會通過不斷提醒讀者該如何利用事件對象來強調(diào)Flex的事件驅(qū)動本質(zhì)。而且,我們還將針對同一任務(wù)給出多種實現(xiàn)方式,并分析每種方式的利弊,以加速讀者的理解。
至于第二個挑戰(zhàn),我們不會否定讀者已有的技能,也明白讀者可能擁有另一種Web技術(shù)背景。我們也有同樣的經(jīng)歷,體驗過擺脫已經(jīng)習(xí)慣的思維模式時的心理轉(zhuǎn)換過程。本書時不時會對如何利用某項功能給出建議。
談到第三個挑戰(zhàn)——?復(fù)雜性,本書的使命就是讓讀者在短時間內(nèi)成為一位高效率的Flex開發(fā)人員。為此,我們綜合運用了一些技巧,包括設(shè)計一些容易理解的小示例。而且,我們也會盡量利用讀者現(xiàn)有的技能,將使用其他技術(shù)和使用Flex解決同一個問題聯(lián)系起來。另外,本書所有章節(jié)都是按構(gòu)建應(yīng)用程序的邏輯順序組織的,先介紹簡單的內(nèi)容,然后循序漸進地討論新知識。
請讀者放心,這本書你選對了。我們就是要使你的技能和職業(yè)生涯更上一層樓。然而,有一個問題我們目前還解決不了,那就是當(dāng)用戶萬分感激并對您大加贊賞時,您該怎么辦——?這個問題必須由您自己來回答!