開源專案buffalo2.0最終版正式釋出
Buffalo在經歷了兩年之久的考驗後,近日正式釋出2.0版本。Buffalo是一個J2EE輕量級AJAX框架,也是國內著名的專案。它與DWR 和JSON-RPC一樣,著眼於Web遠端呼叫(Web Remoting),其簡潔而實用的特性一直以來深受開發者喜愛。 Buffalo2.0最大的特點在於其效能的提升,還有完全自行實現的Java到JavaScript協議轉換。得益於新的協議實現以及為大規模AJAX 呼叫而進行的最佳化,2.0版本比前一階段版效能有進一步的提高。
在國內,對JavaScript技術深入研究的人可謂鳳毛麟角,Buffalo的作者陳金洲 (Michael Chen) 就是其中之一。關於這次Buffalo 2.0版本的新特性,陳金洲這樣解釋:
最令人振奮的特性應當是為大規模、頻繁遠端呼叫而進行最佳化的顯著效能提升。在2.0-alpha1版本的效能測試中,效能最高提升達到了30%。即便不借助於高階的測試工具,從1.2升級到2.0的使用者,應該能顯著感受到速度的提升。
另外,Buffalo 1.x版本的使用者都知道,之前的版本都基於Burlap協議,而Burlap協議的維護者Caucho公司已經很久沒有更新這個庫了。很多在Resin上使用Buffalo的使用者發現這樣或者那樣基於Burlap的各種問題。種種考慮之後,2.0版本正式使用了完全自行編寫的協議解析和轉換。
當問到Buffalo希望在眾多AJAX框架中扮演一個什麼樣的角色時,他回答:
最早的時候希望Buffalo成為一個全功能、全新的、Web 2.0時代的Web框架。非同步傳輸只是其中最基礎的一部分。後來發現憑藉自己現有的資源(時間,、能力等)不太可能在能夠預見的時間內完成這一目標。目前想達到的目標是:最簡單最容易使用的AJAX框架。從使用者的反饋看來,這一目標完成的比較不錯,大多數使用者都能在很短的時間內配置Buffalo並開始使用。
那麼和Web Remoting框架DWR 和JSON-RPC相比較,在JS-Java之間物件轉換功能和協議上,Buffalo有何優勢所在?
從整體產品上來說,最大的優勢在於簡單。核心API只有一個方法。在JS-Java物件轉換上,談不上優勢吧,各有千秋:buffalo採用自我描述,完整的XML協議,DWR採用自定義文字協議,JSON對JavaScript更友好。
社群力量推動Buffalo成長!
在一年多前的一次BEA活動上,就曾經聽到滿江紅開源組織的負責人曹曉剛講述“利用後設資料和RIA簡化企業應用程式的開發”的主題時推薦了Buffalo。時間過去了這麼久,Buffalo並沒有像許多的開源專案那樣銷聲匿跡,而是還在不斷完善,陳金洲解釋了Buffalo的開發路線圖和背後的支援動力:
2004年11月的時候我提出了AMOWA的概念——即面向訊息的Web應用,第二年春即了1.0測試版本。具體的日程可以在Buffalo變更歷史裡看到。從Buffalo產生至今,整整兩年了。新的開發計劃,還有很多特性沒有完成,例如跟Spring更緊密的整合;檔案上載支援,以及更好的OPOA支援等。開發計劃完全取決於社群的反饋,以及功能純粹單一的綜合衡量。我不希望Buffalo成為龐然大物。
其中的動力,我想最大程度上來自於Buffalo社群。在1.2版本釋出的時候我寫過一篇部落格“寫在Buffalo1.2釋出之後”。我現在的想法雖然稍有不同,但歸根結底就是:開源作者提出一個想法,需要得到社群的反饋;同時作者對反饋進行響應。這是一個長期的過程。對此我一直對處在社群中,對Buffalo進行貢獻的使用者心存感激。Buffalo方便了他們的工作,也滿足了我作為一個作者某種程度上的虛榮心:),這種感覺,應該是最大的動力吧。
從2.0-alpha升級到Buffalo 2.0正式版!
當Buffalo的使用者遇到問題時,可以聯絡Buffalo郵件列表,絕大多數問題都可以找到答案,的開發者也會幫助你解決問題。
從2.0-alpha1釋出至今,經過長達半年多的測試階段,buffalo 2.0正式版本釋出。2.0最大的關注點在於效能的提升和完全自行實現的java到javascript協議轉換。根據評測,2.0版本要比前一階段版本最高提升30%效能。這得益於新的協議實現以及為大規模AJAX呼叫而進行的最佳化。
對於一直使用alpha版本的使用者,此次升級很簡單,只需要將相應的jar和js進行替換即可。從1.2.x版本升級的使用者,升級也很簡單:
* 刪除所有burlap*.jar, buffalo*.jar, 替換為buffalo.jar
* 替換新的buffalo.js
* 將繼承自BuffaloService的類,對session等資訊的使用替換為對RequestContext.getContext().getXXX的使用。(注意,目前有開發者報告在resin 2.1伺服器上偶爾會出現丟session的現象)
Buffalo2.0正式版本的釋出意味著完全自我獨立的協議實現,為後續特性的開發打下了基礎。
初學者可以到 look一下,這裡有詳盡的tutorials!
當然,也會生動地展現Buffalo2.0的最新特性!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8271432/viewspace-914379/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- renren開源專案釋出
- 【京東開源專案】微前端框架MicroApp 1.0正式釋出前端框架APP
- Kodi ‘Leia’ 18.2 最終版釋出
- LibreOffice 3.6 最終版 3.6.7 版釋出
- PHP框架Raxan1.0最終版釋出PHP框架
- Android開源專案釋出jCenterAndroid
- 最終預覽版 Beta 4 現已釋出,Android P 正式版即將到來!Android
- github釋出開源專案程式碼教程Github
- Github上最熱門的Java專案終於開源了!GithubJava
- 開源問答社群軟體 Answer 1.0 正式版釋出!
- Laravel 專案全自動介面管理 - 正式版 1.0 釋出Laravel
- 墨菲安全正式釋出 murphysec 開源專案!讓開發者更安全的使用開原始碼原始碼
- 千呼萬喚始出來—阿里正式釋出《Java開發手冊》終極版!阿里Java
- J2PaaS 低程式碼平臺,正式釋出開源版!
- 紅帽開源作業系統CentOS 6.6 正式版釋出作業系統CentOS
- 開源媒體中心 Kodi 15.0 Isengard 正式版釋出
- 釋出 JavaScript 開源專案的學習指南JavaScript
- Laravel Shop 電商專案正式開源~Laravel
- 飛冰 2.0 正式釋出並支援 Vue 專案開發Vue
- 每日開源新聞速遞(2016/4/13):LXD 2.0 釋出;Let's Encrypt 專案正式釋出!
- 【開源】合摩 WeexBox 正式釋出
- 微軟edge瀏覽器最終正式版明年釋出,目前已經更換全新圖示微軟瀏覽器
- 今日頭條螢幕適配方案終極版正式釋出!
- 騰訊開源專案TARS首次全面釋出PHP版本PHP
- 【開源框架】SqlSugarRepository 全庫ORM 正式釋出框架SqlSugarORM
- 如何為你的開源專案釋出一個版本
- 釋出 UIAutomatorViewer 獨立包開源工程專案UIView
- 微軟也在sourceforge.net釋出開源專案了微軟
- 華為雲開源專案Sermant正式成為CNCF官方專案
- Flutter 1.7 正式版釋出Flutter
- MongoDB 3.0 正式版釋出!MongoDB
- Go 1.3 正式版釋出Go
- Bootstrap 3.0 正式版釋出boot
- PyPy 2.1 正式版釋出
- Django 1.7 正式版釋出Django
- CentOS 7 正式版釋出CentOS
- Qt 5.0 正式版釋出QT
- Fedora 18正式版釋出