Java程序員學習Flex和BlazeDS七大理由
Java程序員學習Flex和BlazeDS七大理由
本文列述了7個Java程序員應當學習Flex和BlazeDS的理由,討論了為什么Flex結合BlazeDS是開發RIA的最佳組合之一。無論是高度交互的網站還是以Java為后端的企業應用,這項組合都是最佳選擇之一。更重要的是,這項組合能同時為開發員和企業帶來高回報(ROI)。
在闡述Java程序員應當學習BlazeDS的7條理由時,我以一個假想的蘇打分派系統來展示如何讓已有的Java程序轉變為RIA應用。通過這個例子,我同時還會講解到BlazeDS在已有Java應用或新建Java應用中的多種不同用法。
理由一:開源
Flex軟件開發工具箱(SDK)的核心是個開源框架,專門用來開發、維護那些在不同瀏覽器、不同操作系統下界面都相同的RIA應用。Flex發布采用的是Mozilla公共許可證(MozillaPublicLicense)。編譯后的Flex應用在AdobeFlash平臺下運行。
BlazeDS是連接Flex和Java的索橋,是項針對遠程調用和消息傳遞的開源技術。在Java應用服務器上,它以servlet的形式存在,因此可以在任何標準Java網絡應用中運用它。BlazeDS以LGPL(LesserGNUPublicLicense)公共許可證書發布。在發布BlazeDS的同時,Adobe還公布了AMF(ActionScriptMessageFormat)規格說明,BlazeDS、Java和Flex客戶端間以這種簡潔的二進制格式實現通信。
理由二:完善的社區支持
Flex社區非?;钴S,社區貢獻了大量項目。Flex.org,這個配以社區新聞的Adobe站點幾乎每天都有新的社區貢獻;Yahoo!上的Flex用戶組的成員也已經超過了11000。
再比如GoogleCode上的Flexlib項目,已經提交了大量的開源UI組件。Swiz和Mate項目貢獻了優化事件處理的框架;還有GorillaLogic貢獻了自動化UI測試的FlexMonkeym項目。
理由三:帶來廣闊的就業前景
據Adobe的Flex“傳道士”——JamesWard看來,Flex高級開發員的市場需求非常大,學習Flex能讓你擁有極具市場競爭力的開發技能。
理由四:更高的業務效益回報
總體上,開發企業web應用不是個輕松的活,這基本上是眾所周知的事實。Flex和BlazeDS提供的不僅僅是功能強大的開發工具,而且開發技術本身相對也非常簡單。開發效率可以得到大幅度的提升,產品因此可以很快推向市場。Flex和Flash帶來的用戶體驗也相對更有魅力,對增加流量、提高用戶轉化率(conversionrate)很有幫助。
很經典的一個例子是Borders連鎖書店。他們最近發布了帶有“魔法書架”的新網站,這個網站采用Flash接口來模擬書籍借閱的過程。Borders發現這一模擬借閱非常明顯地提到了用戶轉換率:“借助這個Flash驅動的接口,用戶可以瀏覽書籍、DVD和CD的封面,用戶轉換率比其他沒有此項功能的網站高出62%”。
理由五:Flex是第一個專門為創建UI而設計的語言
大部分語言都不是在第一時間設計其對UI的支持。Java中Swing包的實現剛好是個很好的證明。也就是這個原因,很多像捆綁數據這樣的簡單動作在Swing當中的實現就非常痛苦。用Swing最大的問題在于,要想提高開發效率就必須要對其API了如指掌。
Flex剛好相反,它是專門為創建webUI而設計的。正如BruceEckel所說,Flex是第一個針對UI開發的領域特定語言(DSL)。用Flex構建UI比其它諸如JSP、JSF、Swing等技術簡便得多。語言本身糅合了數據綁定、事件處理、控件布局以及其它一些UI常用開發技巧,就算對語言沒有深刻的理解也不會影響開發效率。
理由六:編程風格近似于Java
你可以繼續使用現有的Java開發工具來開發Flex應用。當然也可以采用SDK中攜帶的免費命令行工具,AdobeFlexBuilder(一個Eclipse插件),或最近的IntelliJIDEA8。
Flex提供的是一個有狀態環境,在這個環境中,數據從客戶端加載。這種編程模式更像是開發桌面客戶端而非HTML編程,這種風格對于用過JavaSwing編程的開發員來說應該是相當熟悉。
Flex是MXML(類似XML的UI標記語言)和AdobeActionScript(面向對象的解析語言)的結合體。鑒于這種結合方式,Flex編程與Java非常相似,因為兩者用的都是熟知的面向對象的概念。
最理想的開發環境是把Flex應用創建在web部署文件夾下。這樣一來,每次更新應用之后都不需要重新部署,只要在瀏覽器下刷新一下就可以了。用Flex和BlazeDS開發后,開發效率絕對比之前有很大的提升。
理由七:BlazeDS可以在任何Java應用服務器上運行
BlazeDS目前已發布了多個版本,其中的turnkey版本還包含了為BlazeDS配置的ApacheTomcat。本文中,我用的是二進制發布版本,其中含有一個WAR用來展示如何把應用部署到各種應用服務器上去。不用這個WAR的話,你也可以從中提取JAR文件放到自己的項目中去。關于安裝BlazeDS的各種選項內容,可以參見BlazeDS的wiki。
這里舉一個簡單的例子,比方說要在已有的一個簡單的蘇打調配系統中應用BlazeDS。你只要把JAR文件放到項目文件夾下,然后就可以在應用里直接用BlazeDS,可以部署到能夠部署應用的任何地方。
在項目中添加BlazeDS,只需要完成下面兩個步驟:
解壓縮BlazeDSWAR文件的內容:jarxvfblazeds.war。
把JAR文件都拷貝到項目的lib文件夾下:cp-RWEB-INF/lib/sodaSample。
【編輯推薦】
- 使用FlexSDK4時三大注意事項
- FlexBuilder4十大新特性閃亮登場
- Flex自動化功能測試工具QTP用法指導
- 揭開Flex正則表達式的神秘面紗
- 技術分享 在Flex中嵌入Flex字體的步驟