今天下班回家,上了EasyJF團隊官方論壇,突然看到一篇標題為“EasyJF Web感覺概念上很奇怪”的新帖子,由于本人在EasyJF中是負責EasyJWeb的開發,頓感眼睛一亮。點開后,看到tin同學(前輩)針對EasyJWeb談了很多東西。因此,這里把他原話及我的回復帖出來,希望能拋磚引玉。
原文地址:http://www.easyjf.com/html/bbs/20060523/6893036162172645.htm?ejid=?ejid=910837-129973425
tin:
標題:EasyJF Web感覺概念上很奇怪
內容:
真的很支持國產。但是Model 2的MVC其實已經過季了。Webwork 2本身已經做到了Model 2 MVC的頂峰了,理念也差不多了。EasyJF這個其實也是Model 2。去掉了Struts里面Action的extends,用command模式的接口。很簡單可以做到CRUD,可是僅僅CRUD加速是遠遠不夠的。比如Component Based的MVC,Tapestry、JSF的組件級復用和基于事件的變成模型。比如Stripes里面提出的基于annotation的各種配置。RoR里面的N多革命性概念,seaside里面的full continuations.... 板叔的JDao Framework里面還混了了EJB,這算個創意,而EasyJF呢?EasyJF里面限定了vm作為模版,這其實是反模式,因為WebWork和Spring MVC都把View解放了,你可以自己選擇自己的view模版,這是一個靈活MVC的基礎,否則對于客戶的多種多樣的view上的需求,一個vm能解決么?而且歷史已經證明vm的模版模型在Web中并不怎么好用,FreeMarker也基本上取代它了,后面還有WebMacro2這類性能強大的模版……所以,我覺得現在大張旗鼓地宣傳這樣的Web框架有點混淆視聽,真的希望好好宣傳成功框架的最佳實踐。
當然不想潑冷水,還是覺得Java的Web框架不是太少了,而是太多了。小框架最好靠創意成功吧,起碼啟發別人。而現在這樣的代碼/架構/風格/思想,我覺得只會使一些不太熟悉Java Web開發的新手誤入歧途,真的,誠懇的要求主力開發人員再看看J2EE Development without EJB。
言語如有冒犯,請諒解。
我的回復:
謝謝tin,總算有一個愿說到點子上了。
EasyJWeb肯定需要作很多改進,以前由于只是一兩個人開發,受到很多技術及認識上的限制,有點“閉門造車”,“看到一片樹葉,就聲稱發現了一片森林”的感覺,因此存在那么多的問題,再所難免。現在經過很多同行的指點,總算找到點感覺了。MVC其實在一個應用中算不了什么,一個高手幾十行代碼就能寫出一個MVC,EasyJF開源團隊也不打算在EasyJWeb上浪費太多的精力。然而,跟樓主說的一樣,EasyJWeb需要作徹底的改進。
對了,EasyJF不是EasyJWeb,也就是說EasyJF不是要做一個或者兩個框架,而更希望做的是一個能提高軟件生產力的東西。有一天一個朋友告訴我,他是看了Tapestry后,才看EasyJWeb,說他很像;也有用Struts的同行說,這是struts的翻版;當然還有很多用過webwork的人更是如此說。
我認為技術最好、概念最先進的并不一定是最適合的,有歷史為證,大家看到現在的EasyJWeb,愿意是想在很多優秀框架之間能找到一些平衡。類似我在《玩玩Spring》系列中提到的“中庸”。他現在的所謂“好”,個人認為體現在三個“一點點”,即體現在比jsp+javabean概念先進一點點(國內還停留在這個階段的公司及個人不少啊),比struts技術上好用那么一點點,比webwork易于理解一點點。
EasyJF現在還沒有也不敢對EasyJWeb進行“大張旗鼓地宣傳”,畢竟還存在那么多需要完善的地方,而且才是一個0.5版本。現在甚至沒有怎么宣傳,有的宣傳也是針對EasyJF團隊的宣傳吧。我們原計劃EasyJWeb第一個正式版本出來以后,到時候再開始從網上、網下開展“大張旗鼓”的宣傳,8-9月份應該差不多吧。
天地間,人最大,EasyJF最在乎的是人才。以后還請tin兄多多指導,希望EasyJWeb下一個以及下下一個版本出來時候,能讓大家看到一些新的東西,再次感謝。
附:玩玩Spring之八卦MVC框架與 “中庸”之道
? ?http://www.aygfsteel.com/daxia/archive/2006/05/16/46457.html