Posted on 2007-06-08 07:55
Tommy Jian 閱讀(1290)
評論(1) 編輯 收藏 所屬分類:
Wicket
大部分現存的框架需要特定的HTML代碼
JSP具有最深的侵入性,它允許將Java代碼直接嵌入Web頁面中。但是,上面列示的框架(除了Tapestry)都不同程度地針對HTML代碼引入了特殊的語法。
因為特殊語法改變了單純而簡單的HTML標記的實質,而Web設計者對于這一點是十分的熟悉,所以特殊語法并不是十分得人心。而且預覽、編輯和理解這種包含特殊語法的HTML也是十分困難的事情。
Wicket并沒引入任何新的HTML語法。相反,它通過Wicket命名空間(namespace)的標準兼容方式擴展了HTML,這完全兼容XHTML標準。這意味這您可以使用Macromedia Dreamweaver、Microsoft Frontpage、Word、Adobe Go Live以及其他現有的HTML編輯器來編輯您的Web頁面,并且可以和Wicket的組件協同工作。為了實現這個目標,Wicket始終在Wicket命名空間內使用單個id屬性(“wicket:id”)來標識那些需要框架進行特殊處理的標簽。如果您并不喜歡將有Wicket命名空間修飾的標簽和屬性展示給您的最終用戶,通過簡單的設置就可以完全消除它們,從而得到普通的與標準兼容的HTML代碼。
HTML中沒有特殊的語法意味著設計者可以直接模擬頁面,而您可以在開發的過程中直接使用這些頁面。向HTML頁面中添加Java組件就和設置組件的名稱屬性一樣簡單。然后,您可以直接將這些頁面交給Web設計人員,他們可以充滿信心地對其進行修改。
與其他的應用框架相比,Wicket在各方面的分離上提供更多的支持。Web設計者在對應用程序代碼不甚了解的情況下就可以編輯HTML(當然,他們不能移除組件名稱標簽,而且不能任意改變組件嵌套的層次,其他的事情都是可以的)。另一方面,編程者只需要關注與HTML混在一起的Java組件,而不需要了解頁面的最終陳現是什么樣子。通過這種職能清楚的工作方式,每個人都可以工作得更為順暢。
現存的框架易用性不好
目前存在的大部分框架工具在對象模型方面做得不夠。在一些框架中,對象模型是通過特定的XML來定義的。這些語法令人生厭,而且還需要特定的工具來編輯這些配置信息。由于這些框架并不是單一的Java類庫,您就不能使用包含編輯器、調試器和編譯器的IDE工具來編輯它們。
Wicket是化繁為簡的代表。在學習Wicket的過程中不需要了解任何配置文件。Wicket就是組件結構良好的普通的類庫。在Wicket中,您的Web應用程序與普通的Swing應用程序類似,而不是JSP應用程序。如果您熟悉Java(特別是如果您熟悉Swing),那么您就已經對Wicket有不少的了解了。
現存的框架可復用性不好
Tapestry和JSF雖然有可以重用的組件模型,但是您將發現與Wicket相比這并不是特別容易做到的事情。Wicket從設計之初就十分地注重組件的復用。在Wicket中,從現有的組件擴展編制諸如SignInPanel或者AddressForm的復合組件是十分簡單的事情。相對來說,針對瀏覽器的新特性編制新的組件也是十分容易的事情。Wicket的組件可以使用JAR格式進行打包,直接通過庫引用的方式就可以實現重用——不需要任何配置文件!
Web編程應該更關注編程樂趣!
這就是我編寫Wicket的個人方面的目標。現存的框架在實現開發的直接性、快捷性和簡易性方面真正地吸引我。我希望Wicket在Web應用程序開發的建議性和樂趣方面能夠邁出重要的一步。
注:本文由Jonathan Locke編寫,相關權利由原作者享有。