Java微框架是輕量級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是一個框架和工具的集合,用戶能夠對它們自由組合,造成本身的解決方案。但同時,這種靈活性也增長了使用的複雜度。
歡迎關注本站公眾號,獲取更多信息