我刚开始学习Scala,我要实现的第一件事就是一个小小的Web应用程序。去年我一直在使用Erlang来实现服务器端软件,但我以前从未编写过Web应用程序。这将是一次很棒的经历。
除了Lift之外,还有Scala的Web框架吗?
不要误会我的意思,Lift看起来很棒。我只想知道有多少框架,以便我可以在它们之间进行选择。选择总是一件好事,但我发现的唯一一件事是Lift。
有一个新的Web框架,名为Mustache。从网站:
Scala Pages Web框架可能会吸引来自Java背景并希望在Scala中编写Web应用程序的Web程序员。重点是OOP而不是函数式编程。
$variable
Prikrutil,我想我们在同一条船上。我也是从Erlang来到Scala。我非常喜欢<?scp-instruction?>
所以我决定创建一个受其启发的Scala Web框架。
看看Nitrogen。 Xitrum相当广泛。来自README:
Xitrum是一个在Netty和Hazelcast之上的异步和集群Scala Web框架和Web服务器:
Hazelcast还给出了:
按照Its doc快速入门。
还有Pinky,曾经是bitbucket但被转移到qazxsw poi。
顺便说一句,github是一个搜索Scala项目的好地方,因为那里有很多东西。
Sweet和Slinky似乎都是大约一年没有造成的。 Sweet Maven repo sweetsoftwaredesign.com已经死了,所以甚至没有办法下载依赖项。
注意:Spiffy已经过时了。
<插头>
好看的:
Spiffy是一个使用Scala,Akka(Scala actor实现)和Java Servlet 3.0 API的Web框架。它利用异步接口,旨在为Web应用程序提供大规模并行和可扩展的环境。 Spiffy的各种组件都基于这样的想法,即它们需要是独立的简约模块,可以非常快速地完成少量工作,并将请求移交给管道中的下一个组件。在完成最后一个组件处理请求之后,它通过“完成”请求并将其发送回客户端来向servlet容器发出信号。
</插头>
你也可以试试http://brzy.org。它被设计成一个Java框架,但我也成功地将它与Scala一起使用也毫无困难。它是一个基于组件的框架,具有与Lift或Tapestry类似的属性。
几个星期前我偶然发现了你的问题,但此后也了解了https://github.com/mardambey/spiffy。这是一个很好的,最小的框架,因此易于学习,并且它还具有相当好的文档。
除了它的最小化之外,它还声称可以与其他库一起使用,并允许您在需要时使用自己的实现。
我喜欢Lift ;-)
Play是我对Scala友好的Web框架的第二选择。
Wicket是我的第三选择。
以下是框架的转储。这并不意味着我实际使用它们:
试试Bowler,它也支持Scala。
一个非常有趣的商业部署Web框架是Play Framework,灵感来自Ruby的Sinatra。这是关于它的Scalatra。
我发现Unfiltered非常有趣的InfoQ article。
它在IttayD的列表中提到过。
这是关于它的介绍https://github.com/unfiltered/unfiltered和视频http://unfiltered.lessis.me/#0
另外这里有一篇文章更多信息http://code.technically.us/post/942531598/doug-tangren-presents-the-unfiltered-toolkit-for
必须指出的是,http://code.technically.us/post/998251172/holding-the-parameter和Wicket也有相当大的兴趣。 Wicket非常适合Scala。如果您想利用非常成熟的Wicket项目及其生态系统(扩展)以及Scala的简洁语法和生产力优势,这可能适合您!
也可以看看:
Announcments with reference to the project for the glue code to bind Scala closures to models非常甜蜜。
它现在已经准备好了。它包含:一个很酷的模板框架,安全的源文件自动重新加载,可组合的动作系统,akka awesomeness等。
它的一部分Play。
将它用于两个项目后,我可以说它工作得很顺利,下次你想要学习新的web框架时应该考虑一下。