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


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


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


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


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