Java微框架:不可忽視的新趨勢

jopen 9年前發布 | 14K 次閱讀 Java

 

任何語言都有優缺點。對Java而言,它安全、經過嚴格測試、向后兼容,但卻犧牲了部分靈活性和簡潔性。于是,有人就嘗試尋找方法,以便能規避Java的臃腫,同時又利用JVM的強大功能。 第一波努力圍繞輕量級Java框架展開 ,而現在,第二波努力已經出現,即Java微框架。近日,軟件分析公司Takipi 探討 了這一新趨勢。

隨著語言的成熟,每次發布都會增加一些庫。時間一久,對于大部分項目而言,包含在這些庫中的許多功能都不是它們真正需要的。微框架就是要解決這個問題,其思想是:創建一個專用而又靈活的解決方案,滿足生產過程的基本需求。

Java微框架是輕量級Java框架的延續。它們可能是當今最輕量級的Java開發方式。雖然目前應用范圍有限,但已經有在生產環境中成功部署的案例。Josh Dreyfuss來自Takipi的產品營銷部門, 他介紹了三種當前較為流行的Java微框架。

Ninja 是一個用于創建Web Service和應用程序的全棧Java微框架。它綜合 Play 和Ruby on Rails的優點,并以純Java格式提供。作為一個綜合性軟件棧,Ninja提供了大量開箱即用的功能,如JSON解析、HTML渲染,使得它簡單易 用。在擴展性方面,Ninja采用了無狀態設計,只需要增加服務器就可以實現橫向擴展。不過,內置大量功能和簡單易用的代價是,用戶選擇減少,工具本身占 用空間較大。總之,Ninja重新設計了Java框架,提供了簡單、可擴展、易于使用的功能。感興趣的讀者可以查看Ninja的 入門教程

Spark (注意不要同Apache Spark混淆)的設計初衷是,可以簡單容易地創建REST API或Web應用程序。它是一個靈活、簡潔的框架,大小只有1MB。Spark允許用戶自己選擇設計應用程序的模板引擎以及選擇最適合他們項目的庫,比 如,HTML解析功能就有Freemarker、Mustaches、Velocity、Jade、Handlebars、Pebble或Water等選 項可供選擇,而且很少需要配置或樣板文件。不過,靈活簡單的代價是,用戶可選的功能減少。總之,Spark剔除了許多Java的臃腫之物,提供了一個最小 化的、靈活的Web框架。但由于精簡程度較高,它缺少了一些功能,不適合用于大型Web應用程序的開發。感興趣的讀者可以查看Spark的 入門教程

Jodd 是一個Java微框架、工具和公用程序的集合。所以,它同上面兩個框架可能不具有直接可比性,比如,Spark可以作為Jodd的一個組件。Jodd的目 標是減少許多Java工具和框架的空間占用,提高它們的速度,提供一個超級輕量級的框架和工具精選集合。Jodd中的每個庫都是單獨提供的,用戶可以選擇 使用。這樣一個提供若干功能的框架集合似乎與微框架背道而馳,但實際上,Jodd大小總共不過1.5MB。總之,Jodd是一個框架和工具的集合,用戶可 以對它們自由組合,形成自己的解決方案。但同時,這種靈活性也增加了使用的復雜度。感興趣的讀者可以查看Jodd的 入門教程

下面是上述三種框架的流行度對比:

Java微框架:不可忽視的新趨勢

此外,Dreyfuss還列出了其它一些框架,包括 JHipsterJavaliteRatpackVert.x 。感興趣的讀者可以進一步研究。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!