Sinatra 是一个微型的 Ruby 语言的 Web 框架,据说 100 行代码就可以开发一个博客软件。一个简单的hello world的web应用用Sinatra只需5行代码:
1 require 'rubygems'
2 require 'sinatra'
3
4 get '/' do
5 'Hello World'
6 end
而 Sinatra 这种框架的思路被越来越人所接受,也因此创造出参考该框架的其他语言移植版本。
下面是三个 Java 语言实现的类 Sinatra 框架:
1. Turismo
Turismo 是一个类似 Sinatra 的 Java 的微型 Web 框架。
示例代码:
01 public class AppRoutes extends RoutesList {
02 protected void map() {
03 get("/wildcard/*/:id", new Action() {
04 public void run() {
05 String id = params("id");
06 print("wildcard id " + id);
07 }
08 });
09 }
10 }
2. Spark Framework
Spark是一个微型的Java Web框架,它的灵感来自于Sinatra,它的目的是让你以最小的代价创建出一个Java Web应用。
示例代码:
01 import static spark.Spark.*;
02 import spark.*;
03
04 public class HelloWorld {
05
06 public static void main(String[] args) {
07
08 get(new Route("/hello") {
09 @Override
10 public Object handle(Request request, Response response) {
11 return "Hello World!";
12 }
13 });
14 }
15 }
3. Scalatra
Scalatra 是一个 Scala 语言仿 Sinatra 的框架。
示例代码:
1 import org.scalatra._
2
3 class ScalatraExample extends ScalatraServlet {
4 get("/") {
5 <h1>Hello, world!</h1>
6 }
7 }
总结:
Sinatra 是一种全堆栈的 Web 框架解决方案,这种思路用在 Java 上,你觉得靠谱吗?
说说你的想法吧?