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