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
任何語言都有優(yōu)缺點(diǎn)。對(duì)Java而言,它安全、經(jīng)過嚴(yán)格測(cè)試、向后兼容,但卻犧牲了部分靈活性和簡(jiǎn)潔性。于是,有人就嘗試尋找方法,以便能規(guī)避Java的臃腫,同時(shí)又利用JVM的強(qiáng)大功能。第一波努力圍繞輕量級(jí)Java框架展開,而現(xiàn)在,第二波努力已經(jīng)出現(xiàn),即Java微框架。近日,軟件分析公司Takipi探討了這一新趨勢(shì)。
隨著語言的成熟,每次發(fā)布都會(huì)增加一些庫。時(shí)間一久,對(duì)于大部分項(xiàng)目而言,包含在這些庫中的許多功能都不是它們真正需要的。微框架就是要解決這個(gè)問題,其思想是:創(chuàng)建一個(gè)專用而又靈活的解決方案,滿足生產(chǎn)過程的基本需求。
Java微框架是輕量級(jí)Java框架的延續(xù)。它們可能是當(dāng)今最輕量級(jí)的Java開發(fā)方式。雖然目前應(yīng)用范圍有限,但已經(jīng)有在生產(chǎn)環(huán)境中成功部署的案例。Josh Dreyfuss來自Takipi的產(chǎn)品營(yíng)銷部門, 他介紹了三種當(dāng)前較為流行的Java微框架。
Ninja是一個(gè)用于創(chuàng)建Web Service和應(yīng)用程序的全棧Java微框架。它綜合Play和Ruby on Rails的優(yōu)點(diǎn),并以純Java格式提供。作為一個(gè)綜合性軟件棧,Ninja提供了大量開箱即用的功能,如JSON解析、HTML渲染,使得它簡(jiǎn)單易用。在擴(kuò)展性方面,Ninja采用了無狀態(tài)設(shè)計(jì),只需要增加服務(wù)器就可以實(shí)現(xiàn)橫向擴(kuò)展。不過,內(nèi)置大量功能和簡(jiǎn)單易用的代價(jià)是,用戶選擇減少,工具本身占用空間較大。總之,Ninja重新設(shè)計(jì)了Java框架,提供了簡(jiǎn)單、可擴(kuò)展、易于使用的功能。感興趣的讀者可以查看Ninja的入門教程。
Spark(注意不要同Apache Spark混淆)的設(shè)計(jì)初衷是,可以簡(jiǎn)單容易地創(chuàng)建REST API或Web應(yīng)用程序。它是一個(gè)靈活、簡(jiǎn)潔的框架,大小只有1MB。Spark允許用戶自己選擇設(shè)計(jì)應(yīng)用程序的模板引擎以及選擇最適合他們項(xiàng)目的庫,比如,HTML解析功能就有Freemarker、Mustaches、Velocity、Jade、Handlebars、Pebble或Water等選項(xiàng)可供選擇,而且很少需要配置或樣板文件。不過,靈活簡(jiǎn)單的代價(jià)是,用戶可選的功能減少。總之,Spark剔除了許多Java的臃腫之物,提供了一個(gè)最小化的、靈活的Web框架。但由于精簡(jiǎn)程度較高,它缺少了一些功能,不適合用于大型Web應(yīng)用程序的開發(fā)。感興趣的讀者可以查看Spark的入門教程。
Jodd是一個(gè)Java微框架、工具和公用程序的集合。所以,它同上面兩個(gè)框架可能不具有直接可比性,比如,Spark可以作為Jodd的一個(gè)組件。Jodd的目標(biāo)是減少許多Java工具和框架的空間占用,提高它們的速度,提供一個(gè)超級(jí)輕量級(jí)的框架和工具精選集合。Jodd中的每個(gè)庫都是單獨(dú)提供的,用戶可以選擇使用。這樣一個(gè)提供若干功能的框架集合似乎與微框架背道而馳,但實(shí)際上,Jodd大小總共不過1.5MB。總之,Jodd是一個(gè)框架和工具的集合,用戶可以對(duì)它們自由組合,形成自己的解決方案。但同時(shí),這種靈活性也增加了使用的復(fù)雜度。感興趣的讀者可以查看Jodd的入門教程。
下面是上述三種框架的流行度對(duì)比:
此外,Dreyfuss還列出了其它一些框架,包括JHipster、Javalite、Ratpack和Vert.x。感興趣的讀者可以進(jìn)一步研究。
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/4585002.html
總結(jié)
以上是生活随笔為你收集整理的Java微框架:不可忽视的新趋势--转载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: The LMAX disruptor A
- 下一篇: 史上最详细版!java文件打包成exe,