2007年7月1日,Kingdee發布了OperaMasks 1.0,并且推出了開源社區OperaMasks.org。
OperaMasks是一個基于JSF的Web應用框架。
選用JSF作為基礎引擎,個人認為有三大優勢:
一是,SUN的官方標準;二是,JSF得到了包括IBM在內的眾多大廠商的支持,這點對于可持續發展來說很重要;
第三點,也是Kingdee宣稱的“與表現層無關的表現層技術”,這點有助于適應不斷發展的RIA技術。在這方面,OperaMasks提供了“Render Kit”,也就是說,當有一個新的RIA技術出現,僅僅需要針對這種RIA技術編寫一個“Render Kit”,而不需要對以前的應用做修改。
OperaMasks有幾個地方比較吸引我:
一、J2EE without AJAX
在這個AJAX滿天飛的時代,各式各樣的AJAX框架也層出不窮,單在Java方面就有DWR、DOJO、GWT、jMaki、Ajax4jsf等等。
一方面,這樣的框架提高了開發效率,但是同時也意味著更高的學習成本;另外一方面,這些框架與既有Web技術的綁定問題,以jMaki為例,如果你想為你的JSF應用增加AJAX功能,你需要將一些JSF標簽換成jMaki標簽,這無疑增大了開發者的工作量,并且增加了出錯的機會。
而OperaMasks則從根本上解決了這些問題,它提供了“原生”的AJAX支持。
這就是說,利用OperaMasks開發具有AJAX功能的Web應用,你不需要掌握額外的AJAX框架技術。通過OperaMasks,你只需要采用標準的JSF組件的寫法,你唯一需要做的就是指定該組件的Render Kit是Ajax,或者在配置文件faces-config.xml中將全局Render Kit設置為Ajax。
只要掌握基礎的J2EE知識,就可以進行AJAX開發,這無疑是意義重大的。
OperaMasks提供了豐富的組件庫,用于組織、顯示和編輯數據,并且集成了強大的YUI-EXT組件庫功能。
這是OperaMasks的一些應用截圖:


二、Apusic Studio
與別的一些開源框架相比,這是OperaMasks的巨大優勢。
Kingdee為OperaMasks提供了一體化的開發、配置、調試、監控的集成開發環境——Apusic Studio,它是一個基于Eclipse的IDE工具。通過Apusic Studio,你可以進行“所見即所得”的可視化設計。Apusic Studio提供了Apusic Ajax、Apusic Graph、Apusic Layout和Apusic Widget等控件集。通過簡單的拖放,就可以實現很好的AJAX效果。
這是Apusic Studio的一些截屏:


三、開源社區
OperaMasks.org,是OperaMasks的開源社區。
透過它,你可以看到有關OperaMasks的新聞、項目進展情況、技術文章、在線示例、下載信息等等,你還可以通過論壇,來反饋信息。通過近日的觀察,發現社區還是比較活躍的。
當然,從開源角度,OperaMasks還有做得不夠理想的地方,例如采用的GPL開源協議,對商業應用是否友好?maillist、bugtrack何時完善?等等。
從一個JSF使用者的角度來看,OperaMasks帶來的方便,確實是巨大的。作為國產開源軟件,希望OperaMasks可以走得更遠!
OperaMasks是一個基于JSF的Web應用框架。
選用JSF作為基礎引擎,個人認為有三大優勢:
一是,SUN的官方標準;二是,JSF得到了包括IBM在內的眾多大廠商的支持,這點對于可持續發展來說很重要;
第三點,也是Kingdee宣稱的“與表現層無關的表現層技術”,這點有助于適應不斷發展的RIA技術。在這方面,OperaMasks提供了“Render Kit”,也就是說,當有一個新的RIA技術出現,僅僅需要針對這種RIA技術編寫一個“Render Kit”,而不需要對以前的應用做修改。
OperaMasks有幾個地方比較吸引我:
一、J2EE without AJAX
在這個AJAX滿天飛的時代,各式各樣的AJAX框架也層出不窮,單在Java方面就有DWR、DOJO、GWT、jMaki、Ajax4jsf等等。
一方面,這樣的框架提高了開發效率,但是同時也意味著更高的學習成本;另外一方面,這些框架與既有Web技術的綁定問題,以jMaki為例,如果你想為你的JSF應用增加AJAX功能,你需要將一些JSF標簽換成jMaki標簽,這無疑增大了開發者的工作量,并且增加了出錯的機會。
而OperaMasks則從根本上解決了這些問題,它提供了“原生”的AJAX支持。
這就是說,利用OperaMasks開發具有AJAX功能的Web應用,你不需要掌握額外的AJAX框架技術。通過OperaMasks,你只需要采用標準的JSF組件的寫法,你唯一需要做的就是指定該組件的Render Kit是Ajax,或者在配置文件faces-config.xml中將全局Render Kit設置為Ajax。
只要掌握基礎的J2EE知識,就可以進行AJAX開發,這無疑是意義重大的。
OperaMasks提供了豐富的組件庫,用于組織、顯示和編輯數據,并且集成了強大的YUI-EXT組件庫功能。
這是OperaMasks的一些應用截圖:


二、Apusic Studio
與別的一些開源框架相比,這是OperaMasks的巨大優勢。
Kingdee為OperaMasks提供了一體化的開發、配置、調試、監控的集成開發環境——Apusic Studio,它是一個基于Eclipse的IDE工具。通過Apusic Studio,你可以進行“所見即所得”的可視化設計。Apusic Studio提供了Apusic Ajax、Apusic Graph、Apusic Layout和Apusic Widget等控件集。通過簡單的拖放,就可以實現很好的AJAX效果。
這是Apusic Studio的一些截屏:


三、開源社區
OperaMasks.org,是OperaMasks的開源社區。
透過它,你可以看到有關OperaMasks的新聞、項目進展情況、技術文章、在線示例、下載信息等等,你還可以通過論壇,來反饋信息。通過近日的觀察,發現社區還是比較活躍的。
當然,從開源角度,OperaMasks還有做得不夠理想的地方,例如采用的GPL開源協議,對商業應用是否友好?maillist、bugtrack何時完善?等等。
從一個JSF使用者的角度來看,OperaMasks帶來的方便,確實是巨大的。作為國產開源軟件,希望OperaMasks可以走得更遠!
|
|
歡迎大家訪問我的個人網站 萌萌的IT人
Kingdee宣稱”不依賴于應用服務器,在Servlet 2.5兼容的容器中均能運行“
呵呵,我還在測試,會將測試報告,與大家分享。^_^
我想OperaMasks和dorado相比,一個很大不同在于OperaMasks是個JSF引擎,其without AJAX的概念,使得基于JSF的AJAX應用,更加自然。而dorado是否意味著更高的學習成本?
再有Apusic應用服務器為OperaMasks提供了一些額外的特性,例如基于NIO的多路復用技術提升并發處理能力、基于gzip形式的狀態壓縮技術降低網絡流量、支持在Managed Bean中通過Annotation進行資源注入等等。
Ajax本來就是很簡單的技術,還要搞這個噱頭?
而所謂的Apusic Studio 也只是簡單的WTP插件的集成而已,沒有什么技術含量!
呵呵,不知道您這里說的簡單,是原理上的簡單?還是應用到具體項目時的簡單?
呵呵。我看了一下OperaMasks得demo,應該是基于yui實現的。性能絕對是比不上dorado,yui開個有效果的頁面,cpu就可能到100%,當然只是一瞬間的100%,但是我也覺得不可忍受。
OperaMasks是jsf引擎,那么開發人員還得去學習jsf對吧。學習dorado只需要知道jsp就可以了。而且頁面上的內容都是通過配置文件來實現的,比OperaMasks那個手動寫代碼省事多了。
呵呵,OperaMasks確實是基于yui-ext的,不過這只是一種實現選擇!如果你愿意的話,也可以選擇別的。
哈,這是一個基于JSF的框架啊,就好像AJAX4JSF似的。學習曲線可以換成:JSF-->OperaMasks。^_^
嗯,您在開發中,使用dorado?還望多多指教!
哈哈,您的見解非常到位!謝謝!受益匪淺!
我說Apusic Studio簡單是指它是直接使用Eclipse WTP插件,在這個插件“掛”自己的標簽而已,使用過WTP或開發過emf插件的一看就知道
至于Ajax簡單點用prototype,做適合自己的封裝,說白了主要還是DOM/JS的封裝,不必要弄J2EE Without Ajax這么大的標題
前幾年流行的是 thinking in xxxx
后來流行的是 xxx in action
再后來流行的是 xxx without xxx
技術界的標題黨可真多……
首先J2EE without AJAX,這是AOM的口號,我只是用這個口號而已,“技術界的標題黨”,有點過了。
如果你說Apusic Studio簡單的理由是在Eclipse WTP上掛幾個自己的標簽,那么請問您如何看待MyEclipse?IDE工具說白了,只是提高開發效率,如果說提高了開發效率還算簡單的話,我就不知道追求不簡單的意義何在了?!
AJAX簡單這點,ok,我明白了,您指的是原理簡單,AJAX庫使用簡單,只是我想了解這些所謂的簡單,能不能帶來實際開發過程中的簡單?
言辭不當,多多原諒。
AOM所提的“原生支持AJAX”,是有其獨特之處的,在aom的環境下,開發者可以開發標準JSF應用(譬如sun公司的petstore例子),使用MyFaces部署,或者使用sun的JSF參考實現部署,也可以使用aom來部署,同樣的一個標準應用,不改動任何的代碼和配置,部署在其他JSF引擎上的,點擊按鈕是要刷新頁面的,而部署在aom上的,是ajax方式的,這個我親手試過。
目前為止,我沒有見到過在某個應用在不做任何配置的情況下,能夠讓<h:commandButton action="#{dosomeThing}"/>直接以ajax方式工作的。
至于dorado,解決的僅僅只是客戶端的問題,dorado如何做規則導航,如何服務器端校驗,如何處理事務,如何做容器管理,如何做依賴注入?這些在aom里面是有解決方案的。
至于Apusic Studio,我不認同您說的“而所謂的Apusic Studio 也只是簡單的WTP插件的集成而已,沒有什么技術含量!”觀點
首先Apusic Studio并不是專門為aom的可視化設計提供服務的,aom的可視化設計器只是其中JavaEE開發模塊的一小部分。
Apusic Studio的主要工作是集成了Apusic應用服務器,使開發過程一體化,提高開發者使用apusic開發的效率,在Apusic Studio里面,可以完成對應用服務器的管理、開發、調試、部署、測試的完整過程。
在Apusic Studio里可以完成應用服務器的啟動、停止,添加數據源、部署應用、以實時圖表方式監控服務器各個指標等功能。
在執行一個程序并想對其進行性能分析的時候,通過指定配置,可分析在一個調用過程中,哪些類的哪些方法被調用了多少次,耗時多少,占用內存多少等信息。
Apusic Studio是集成了WTP插件沒錯,據我所知,在WTP插件中,如果要為自己的組件添加可視化設計支持,不是單單導入一個tld文件就可以的,那樣只是在文本形態的jsp編輯器里面有tld的補全支持,如果要在WTP插件中加入自己組件的可視化支持,必須對每一個組件進行編碼實現,包括該組件的設計期形態、預覽形態,都是要有編碼繪制,否則只會在設計器上顯示個叉叉。
EJB2也有這兩個所謂的“優勢”,可惜世易時移,最后流行的都是without EJB。
呵呵,流行很難說,誰敢斷定EJB3.0不會流行?技術總是向前發展,所以without EJB注定也不是永久!
如果說JBoss Seam會是下一個流行,那么堅守without EJB無疑是錯的!
我因為rod johnson得without ejb跳到spring,用從gavin king得seam跳回ejb.
技術好壞,ide支持多少,開發方便,維護性能,等等等等,不如興趣。有興趣得,用vi寫個java也是有滋有味的事。
支持國產!