Jooby的核心在於模組

青春ing發表於2016-03-17

  Jooby的核心在於模組,這些模組的構建目的在於從外部庫中提取功能。“這些模組非常精簡且能夠通過多種方式對外部庫進行引導與配置,但它們並不會帶來新的抽象層或者通過定製化API實現庫內功能的訪問。相反,它們可以直接依原樣對各類庫元件進行提取,”Espina表示。“這也是Jooby與其它Java Web框架之間的最大差別所在。”

  Jooby提供多種預設選項以解決應用程式開發工作中的各類典型問題,例如資料庫訪問、驗證、會話、模板引擎以及電子郵件等等。這使其擁有極為出色的易用性,Espina指出,“但與此同時,它也擁有相當優秀的靈活性與模組化程度,經驗豐富的使用者能夠將不同模組進行混合與匹配,從而滿足自身實際需要甚至編寫自己的整合方案。”

  Jooby當中的無狀態應用程式開發機制使其能夠在不造成任何重大影響的前提下實現規模擴充套件,特別是在開發人員配合頭/JWT(即JSON Web Token)驗證機制構建REST API的情況下。當然,在某些用例當中,開發人員可能需要儲存使用者資訊。“對於這類用例,大家可以使用HTTP會話,”Espina解釋稱。

  Jooby提供一套記憶體內HTTP會話,但開發人員也可以選擇其它不同後端,例如Redis、HazelCast以及MongoDB。該HTTP會話的設計傾向為儘可能精簡,同時要求開發人員認真考量是否要加以使用,因為其只允許匹配原語與字串這兩類資料。

  這套框架擁有兩套程式設計模式。其一為指令碼程式設計模式,在這裡開發人員能夠將應用程式定義並編寫為單一檔案。而對於大型且複雜度較高的應用程式,Jooby支援MVC。“在這裡,大家可以將自己的應用程式拆分為多個層,並建立一個或者多個控制器類,”Espina告訴我們。

  Jooby面世至今已經有大約18個月了,而其1.0.0正式版本預計將在今年年初發布。面向Java 8以及更高版本,Jooby還能夠與Nashorn專案協作,這意味著我們可以將Jooby擴充套件至JavaScript開發領域。“這是一套Java框架,因此其始終執行在JVM之上; 但從開發人員的角度來看,它也可以作為一套JavaScript框架發揮作用,”Espina指出,他還計劃在未來逐步加入對其它JVM語言的支援能力。

相關文章