Java微框架:不可忽视的新趋势--转载
原文:http://www.infoq.com/cn/news/2015/06/Java-Spark-Jodd-Ninja?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global
任何語言都有優缺點。對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的入門教程。
下面是上述三種框架的流行度對比:
此外,Dreyfuss還列出了其它一些框架,包括JHipster、Javalite、Ratpack和Vert.x。感興趣的讀者可以進一步研究。
轉載于:https://www.cnblogs.com/davidwang456/p/4585002.html
總結
以上是生活随笔為你收集整理的Java微框架:不可忽视的新趋势--转载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: The LMAX disruptor A
- 下一篇: 史上最详细版!java文件打包成exe,