本文基于對以下人的采訪(最后兩位的看法獨(dú)到還是自己看吧!): JSF Jacob Hookom RIFE Geert Bevin Seam Gavin King SPRing MVC Rob Harrop Spring Web Flow Rob Harrop and Keith Donald Stripes Tim Fennell Struts Action 1 Don Brown Tapestry Howard Lewis Ship Trails Chris Nelson WebWork Patrick Lightbody Wicket Eelco Hillenius
6、你對Ruby on Rails的看法如何? 它與WebWork一樣好用,它的CoC(Convention over Configration)和腳手架非常好用。他認(rèn)為CoC可以被應(yīng)用在任何framework,他認(rèn)為這是RoR最大的優(yōu)點(diǎn)。他還認(rèn)為RoR會走上其它framework的路(復(fù)雜性),因?yàn)槿藗冃枰约旱臄U(kuò)展。
6、你對Ruby on Rails的看法如何? 它是PHP的很好替代品。假如它有一個正經(jīng)一點(diǎn)的持久化層它就可以和Java競爭了。
Spring MVC(Rob Harrop)和Spring Web Flow(Rob Harrop and Keith Donald)
1、你認(rèn)為你的framework的"甜點(diǎn)"在哪里?他最適合哪種類型的項(xiàng)目? Spring MVC: 穩(wěn)定可擴(kuò)展,支持了i18n、文件上傳、異常處理,這些穩(wěn)定的支持給開發(fā)者堅(jiān)實(shí)的工作基礎(chǔ)。是最佳實(shí)踐,告訴你怎么做是最好的。與Spring集成,領(lǐng)先的IoC遠(yuǎn)生支持。支持,Spring社區(qū)活躍和龐大。Struts開發(fā)者可以平滑過渡。適合多種項(xiàng)目,可選的多種result類型。 Spring Web Flow:內(nèi)置任務(wù)處理引擎,支持線性處理過程中的持續(xù)狀態(tài)。抽象,減少開發(fā)的關(guān)注點(diǎn)。適合多種項(xiàng)目類型,插件支持Spring MVC、Struts、JSF等。
2、它不適合于什么樣的場景?在這些場景你推薦什么fremework?它是哪個? Spring MVC:不適合需要組件化開發(fā)的場景。它是一個request驅(qū)動的MVC。那些場景推薦JSF或Tapestry。 Spring Web Flow:處理線性頁面流,不適合一般的"自由瀏覽"。當(dāng)然Spring Web Flow可以與request驅(qū)動或者組件驅(qū)動共存。
4、你的framework的未來會怎樣?對于用戶開發(fā)會有什么方便使用的變化?你會原生支持Ajax么?你們計(jì)劃支持它了么? Spring MVC:簡化jsp標(biāo)簽。更多的MVC配置schema。CoC風(fēng)格的默認(rèn)控制器、URL影射、view,學(xué)習(xí)Rails和Stripes的優(yōu)點(diǎn)。增強(qiáng)數(shù)據(jù)綁定和驗(yàn)證(支持范型綁定)。Portlet支持。Spring也要接受Ajax,使用DWR庫。 Spring Web Flow:一大堆,關(guān)心的可以自己看......
5、有對你們的framework的傳言需要澄清么?假如有,是哪個? Spring MVC難于配置。在Spring 2.0,將會改善,可以使用自己定義的基于schema的配置。
6、你對Ruby on Rails的看法如何? Spring MVC:RoR非常有趣。不過現(xiàn)在就拿出來用還有點(diǎn)幼稚。這里舉了個例子,關(guān)于變量的復(fù)數(shù)形式的處理,RoR會使用這樣的CoC風(fēng)格來處理變量list,而Spring MVC也實(shí)驗(yàn)了種種風(fēng)格,但是受到的結(jié)果卻很差。人們認(rèn)為英語的復(fù)數(shù)很古怪,沒有一定的規(guī)則,所以會帶來混亂,如(person -> people)。所以Spring ...
6、你對Ruby on Rails的看法如何? 我認(rèn)為Java社區(qū)有很多可以從RoR學(xué)習(xí)的地方。Stripes學(xué)習(xí)了RoR的前端部分,開發(fā)者可以減少配置量。但是RoR的RHTML讓我想到了以前的JSP中混亂的scriptlet。而后面的ActiveRecord是一個很好的理念,實(shí)現(xiàn)的也很好。ActiveRecord比Hibernate等復(fù)雜的ORM工具要輕易理解,因?yàn)檫@樣的特點(diǎn)RoR才引起了這么大的波瀾。
6、你對Ruby on Rails的看法如何? 不需要D&D工具,旨在幫助開發(fā)人員提高開發(fā)效率的好例子。我們在Action2中將學(xué)習(xí)它的先進(jìn)理念。
Tapestry(Howard Lewis Ship)
1、你認(rèn)為你的framework的“甜點(diǎn)”在哪里?他最適合哪種類型的項(xiàng)目? 我想Tapestry對于中等規(guī)模或者大規(guī)模的應(yīng)用會帶來很多好處(甚至你可以在單頁面的應(yīng)用程序中獲得好處)。這里有答應(yīng)你創(chuàng)建新的組件的良好工具。Tapestry不關(guān)心數(shù)據(jù)從哪里來,很多“項(xiàng)目類型”都基于切面(aspect)(如CRUD vs. rss feed vs. etc.)。我認(rèn)為Tapestry非常輕易與IoC集成(HiveMind或與Spring),方便進(jìn)行測試。