1. 程式人生 > >常用框架優缺點

常用框架優缺點

1.SpringMVC

  中國有句俗話叫“薑還是老的辣”,所以SpringMVC雖然釋出已有十多年,但仍然老當益壯,以絕對的優勢處於領先者的地位。在擁抱完整的MVC框架後,Spring不斷髮展變化,現在已經成為面向Internet應用程式的全面Java框架,為軟體工程師提供了用於Web應用程式開發的強大的工具包和針對安全專案的應用程式配置。作為最受程式設計師寵愛的一枚,Spring發展良好的生態系統提供了很多附加選項:RESTAPI或SOAPWeb服務,安全性(身份驗證和授權,加密)等。另外,很多大型公司都選擇使用SpringMVC,所以如果你在使用過程中遇到問題,會有很多技術大牛能夠給你解答。

  優點和缺點

  Spring以絕對優勢登頂不是沒有理由的,它之所以能夠成為最知名的Java框架,主要是因為:

  1.使用POJO簡化測試資料的注入。

  2.增強的模組化,使程式碼擁有更好的可讀性。

  3.不同模組之間解耦合。

  4.靈活應用依賴注入(DI)。

  雖然SpringMVC有很多文件可供參考,但其對於新手Java開發人員來說學習曲線還是太陡了,在碰到參考文件較少的部分,開發人員可能會出現無從下手的情況。另外,雖然SpringMVC網上的資訊比較多,但是版本不同也會有差異。總體來說,SpringMVC是工程師最喜愛的框架之一。

  2.Struts2

  為了更詳細地闡述現代軟體工程師廣泛使用的Java框架,這裡我們為大家介紹ApacheStruts1的後續版本Struts2。Struts2用於構建當代JavaEEWeb應用程式。Apache軟體基金會為開發人員提供了一個廣泛的工具,用於建立企業級面向Web的應用程式,開發過程的優化貫徹始終,甚至連後期維護也囊括其中,到最終點優化開發過程以及後期維護。如果您在為高負載系統(如廣播門戶)發愁,那麼Struts將會是你的不二選擇。

  由於Struts2實現了Action類(普通POJO物件),所以測試編寫程式碼所需的工作量較少。使用框架API,耦合變得更容易,有助於調整攔截器。

  優點和缺點

  Struts2最大的特點是不必重寫或實現Action類,同時IT工程師為多個操作建立重複設定程式碼也不再是一個問題,因為攔截器會處理它。

  Struts最大的缺點就是不夠靈活。

  3.Hibernate

  雖然Hibemate不在RebelLabs的排行榜中,但它仍是值得一提的Java框架。這個對映Java框架解決了物件和關係不匹配的問題,採用持續的資料庫訪問操作來代替高層次的物件處理功能。每個企業的應用程式都是不同的,所以Hibernate配備了一個強大啊的功能套件,幫助後端開發人員微調資料訪問層。這是一個高階的ORM框架,允許您對Java物件(實體)執行資料庫操作,利用Hibernate快取將資料從Java環境持久化到資料庫是一個持久化的概念,

  優點和缺點

  Hibernate只要對原有程式碼做一些微小的改動就可以幫助你和任何資料庫進行通訊,它彌補了物件和關係之間的差距。除了這個優勢,它還有:

  1.不管是Oracle,還是Db2亦或是MySQL,Hibernate是獨立於DB存在的。

  2.快取機制對類似查詢進行優化。

  3.支援N+1或懶載入。

  儘管Hibernate的優勢很多,但是它不允許多個插入,不支援JDBC的一些查詢,不適用於表比較少的小規模專案。

  4.JSF

  作為JavaEE的一部分,Oracle支援JavaServerFaces。雖然這不是Java快速開發的最好框架,但是因為Oracle提供了大量的文件所以很容易上手。如果你不離開JavaEE環境,JSF沒有外部依賴項,但功能很強大,它擁有的豐富的庫和工具(包括一個易於建立使用者介面的工具集),無論你的應用程式看起來有多麼複雜,它都可以支援。

  優點和缺點

  如上所述,JSF是JavaEE的一個組成部分。因此,開發人員可以利用IDE軟體套件以及來自行業領先供應商的高水準的支援。

  但是事情都有兩面性,JavaServerFaces太龐大,所以沒有Web開發經驗或者技術不純熟的人可能難以掌握。

  5.Vaadin

  Vaadin是在現代開發人員在建立業務應用程式並使用GWT渲染結束網頁時必選的流行框架之一。Vaadin利用一個眾所周知的基於元件的方法,快速適應瀏覽器發生的變化,從而減輕開發人員的負擔。Vaadin通過傳達對瀏覽器的更改來消除開發人員的負擔。豐富的UI元件、各種各樣的部件和控制元件時代程式設計師能夠隨時隨地構建一個酷炫的應用程式。

  優點和缺點

  在Java或HTML的佈局構建中,Vaadin提供了可用的MVC或MVP繫結資料的方法。支援拖放以及其他突出的功能簡化了對Java應用程式的單頁UI的建立。

  因為Vaadin需要將每個事件回發到伺服器,所以或導致移動應用程式的UI遲緩。

  6.GoogleWebToolkit

  GWT是一個允許使用者建立和優化複雜的基於Web的應用程式的免費的Java框架。GWT的軟體開發套件提供核心JavaAPI和小部件,構建之後就可以編譯為JavaScript的應用程式。

  優點和缺點

  使用GoogleWebToolkit,您可以獲得單個程式碼庫(Java中的瀏覽器和伺服器端程式設計),從而簡化開發和除錯過程。與其他技術的簡單整合允許程式設計師在Web頁面中嵌入GWT小部件。在GWT的幫助下還可以自定義視窗小部件功能。

  但是GWT不適用於純HTML和後期動態內容佈局,因此無法滿足網頁設計師的需求。

  7.Grails

  這個特別的Web框架被認為是可以提高工程師生產力的動態工具。它擁有獨樹一幟的API實際,合理的預設值以及約定的配置範例。與Java的無縫整合使其成為全世界很多程式設計師的最佳選擇。Grails擁有一系列強大的功能,例如基於Spring的依賴注入和各種外掛,同時提供建立現代Web應用程式所需的一切。

  優點和缺點

  Grails可以快速搭建新專案,腳手架為編碼人員節省了大量寶貴的時間。Grails擁有一個巨大的庫,提供超過900種不同的易於安裝的外掛。Grails是一個全棧開發的Java框架,它的物件關係對映涵蓋了龐大的功能,使其成為一個重量級的軟體。

  如何選擇合適的Java框架

 

  在這些眼花繚亂的流行Java框架中挑選出適合自己的框架不是一項簡單的任務,因為每個公司在建立自己的Web應用程式和移動應用程式時都有自己堅持的理念。但是無論你選擇哪個框架,它們都應具有以下特點是:易於安裝、社群活躍、文件豐富等等。因為專案的依賴型別不同,所以企業在選擇時最好選擇同一公司或一脈相承的框架;另外,如果現實允許的話,最好選用輕量級的框架來代替重量級框架;最後,企業是一個團隊,所以要及時企業的其他同事溝通框架的使用,保證每個員工都能充分利用該框架來創造價值。

1.SpringMVC

  中國有句俗話叫“薑還是老的辣”,所以SpringMVC雖然釋出已有十多年,但仍然老當益壯,以絕對的優勢處於領先者的地位。在擁抱完整的MVC框架後,Spring不斷髮展變化,現在已經成為面向Internet應用程式的全面Java框架,為軟體工程師提供了用於Web應用程式開發的強大的工具包和針對安全專案的應用程式配置。作為最受程式設計師寵愛的一枚,Spring發展良好的生態系統提供了很多附加選項:RESTAPI或SOAPWeb服務,安全性(身份驗證和授權,加密)等。另外,很多大型公司都選擇使用SpringMVC,所以如果你在使用過程中遇到問題,會有很多技術大牛能夠給你解答。

  優點和缺點

  Spring以絕對優勢登頂不是沒有理由的,它之所以能夠成為最知名的Java框架,主要是因為:

  1.使用POJO簡化測試資料的注入。

  2.增強的模組化,使程式碼擁有更好的可讀性。

  3.不同模組之間解耦合。

  4.靈活應用依賴注入(DI)。

  雖然SpringMVC有很多文件可供參考,但其對於新手Java開發人員來說學習曲線還是太陡了,在碰到參考文件較少的部分,開發人員可能會出現無從下手的情況。另外,雖然SpringMVC網上的資訊比較多,但是版本不同也會有差異。總體來說,SpringMVC是工程師最喜愛的框架之一。

  2.Struts2

  為了更詳細地闡述現代軟體工程師廣泛使用的Java框架,這裡我們為大家介紹ApacheStruts1的後續版本Struts2。Struts2用於構建當代JavaEEWeb應用程式。Apache軟體基金會為開發人員提供了一個廣泛的工具,用於建立企業級面向Web的應用程式,開發過程的優化貫徹始終,甚至連後期維護也囊括其中,到最終點優化開發過程以及後期維護。如果您在為高負載系統(如廣播門戶)發愁,那麼Struts將會是你的不二選擇。

  由於Struts2實現了Action類(普通POJO物件),所以測試編寫程式碼所需的工作量較少。使用框架API,耦合變得更容易,有助於調整攔截器。

  優點和缺點

  Struts2最大的特點是不必重寫或實現Action類,同時IT工程師為多個操作建立重複設定程式碼也不再是一個問題,因為攔截器會處理它。

  Struts最大的缺點就是不夠靈活。

  3.Hibernate

  雖然Hibemate不在RebelLabs的排行榜中,但它仍是值得一提的Java框架。這個對映Java框架解決了物件和關係不匹配的問題,採用持續的資料庫訪問操作來代替高層次的物件處理功能。每個企業的應用程式都是不同的,所以Hibernate配備了一個強大啊的功能套件,幫助後端開發人員微調資料訪問層。這是一個高階的ORM框架,允許您對Java物件(實體)執行資料庫操作,利用Hibernate快取將資料從Java環境持久化到資料庫是一個持久化的概念,

  優點和缺點

  Hibernate只要對原有程式碼做一些微小的改動就可以幫助你和任何資料庫進行通訊,它彌補了物件和關係之間的差距。除了這個優勢,它還有:

  1.不管是Oracle,還是Db2亦或是MySQL,Hibernate是獨立於DB存在的。

  2.快取機制對類似查詢進行優化。

  3.支援N+1或懶載入。

  儘管Hibernate的優勢很多,但是它不允許多個插入,不支援JDBC的一些查詢,不適用於表比較少的小規模專案。

  4.JSF

  作為JavaEE的一部分,Oracle支援JavaServerFaces。雖然這不是Java快速開發的最好框架,但是因為Oracle提供了大量的文件所以很容易上手。如果你不離開JavaEE環境,JSF沒有外部依賴項,但功能很強大,它擁有的豐富的庫和工具(包括一個易於建立使用者介面的工具集),無論你的應用程式看起來有多麼複雜,它都可以支援。

  優點和缺點

  如上所述,JSF是JavaEE的一個組成部分。因此,開發人員可以利用IDE軟體套件以及來自行業領先供應商的高水準的支援。

  但是事情都有兩面性,JavaServerFaces太龐大,所以沒有Web開發經驗或者技術不純熟的人可能難以掌握。

  5.Vaadin

  Vaadin是在現代開發人員在建立業務應用程式並使用GWT渲染結束網頁時必選的流行框架之一。Vaadin利用一個眾所周知的基於元件的方法,快速適應瀏覽器發生的變化,從而減輕開發人員的負擔。Vaadin通過傳達對瀏覽器的更改來消除開發人員的負擔。豐富的UI元件、各種各樣的部件和控制元件時代程式設計師能夠隨時隨地構建一個酷炫的應用程式。

  優點和缺點

  在Java或HTML的佈局構建中,Vaadin提供了可用的MVC或MVP繫結資料的方法。支援拖放以及其他突出的功能簡化了對Java應用程式的單頁UI的建立。

  因為Vaadin需要將每個事件回發到伺服器,所以或導致移動應用程式的UI遲緩。

  6.GoogleWebToolkit

  GWT是一個允許使用者建立和優化複雜的基於Web的應用程式的免費的Java框架。GWT的軟體開發套件提供核心JavaAPI和小部件,構建之後就可以編譯為JavaScript的應用程式。

  優點和缺點

  使用GoogleWebToolkit,您可以獲得單個程式碼庫(Java中的瀏覽器和伺服器端程式設計),從而簡化開發和除錯過程。與其他技術的簡單整合允許程式設計師在Web頁面中嵌入GWT小部件。在GWT的幫助下還可以自定義視窗小部件功能。

  但是GWT不適用於純HTML和後期動態內容佈局,因此無法滿足網頁設計師的需求。

  7.Grails

  這個特別的Web框架被認為是可以提高工程師生產力的動態工具。它擁有獨樹一幟的API實際,合理的預設值以及約定的配置範例。與Java的無縫整合使其成為全世界很多程式設計師的最佳選擇。Grails擁有一系列強大的功能,例如基於Spring的依賴注入和各種外掛,同時提供建立現代Web應用程式所需的一切。

  優點和缺點

  Grails可以快速搭建新專案,腳手架為編碼人員節省了大量寶貴的時間。Grails擁有一個巨大的庫,提供超過900種不同的易於安裝的外掛。Grails是一個全棧開發的Java框架,它的物件關係對映涵蓋了龐大的功能,使其成為一個重量級的軟體。

  如何選擇合適的Java框架

 

  在這些眼花繚亂的流行Java框架中挑選出適合自己的框架不是一項簡單的任務,因為每個公司在建立自己的Web應用程式和移動應用程式時都有自己堅持的理念。但是無論你選擇哪個框架,它們都應具有以下特點是:易於安裝、社群活躍、文件豐富等等。因為專案的依賴型別不同,所以企業在選擇時最好選擇同一公司或一脈相承的框架;另外,如果現實允許的話,最好選用輕量級的框架來代替重量級框架;最後,企業是一個團隊,所以要及時企業的其他同事溝通框架的使用,保證每個員工都能充分利用該框架來創造價值。