Javalin是一款非常適合Kotlin和Java程序員的輕量級Web框架,它第一個版本是今年6月份發布的,目前剛剛達到穩定版本的Javalin1.0.0.0。Javalin主要有以下的特點:
·輕量級:不用提前學習任何概念就可以開始使用
·一致的API:所有的處理程序和映射器在Context (ctx)中都是無效的。
·Kotlin和Java擁有幾乎完全相同的API
·是框架也是庫:無需擴展任何功能
·擁有完全可定制的嵌入式服務器(Jetty)
·JSON對象映射
·通過AccessManager 接口簡單的按端點驗證
·簡單的靜態文件處理
·生命周期事件
·CookieStore——一種簡單的用來序列化的方法和存儲在cookie中的對象。
·模板渲染
·Markdown渲染
此外,如果Javalin 0.5.X版本升級到1.0.0,不會造成任何的破壞。
Javalin:是框架也是庫
輕量級Kotlin和Java 的Web框架受到Sparkjava與koa.js的啟發。Javalin主要是用Kotlin編寫的,Java參與了幾個功能接口的編寫,這可能會使得Kotlin和Java程序員擁有非常類似的體驗。此外,它是一個框架,也是一個庫。學習Javalin的最大好處就是無需擴展或實施任何東西就可直接使用。
Javalin最初是Spark Java和Kotlin Web框架的一個分支,但隨著koa.js的倒閉,只得進行重寫。所有Web框架都受到了現代微網絡框架之父Sinatra的啟發,如果你來自Ruby,對Javalin應該不會感到陌生。
Javalin的目標是成為一個輕量級的REST API庫。雖然沒有MVC概念,但為了方便它還支持模板引擎、websockets和靜態文件服務,程序員可以使用Javalin來創建RESTful API后端、為index.html 靜態資源提供服務 。
Hello World
Kotlin
Java
Javalin在設計的時候考慮到Kotlin和Java之間的互操作性,所以如果將Javalin項目從Java移植到Kotlin時就會很簡單。如果你之前用過Javalin,那應該明白Kotlin與Java切換也沒有那么麻煩。此外,為Kotlin和Java維護一致的API也是Javalin的一個重要目標。