我刚开始学习Scala,我要实现的第一件事就是一个小小的Web应用程序.去年我一直在使用Erlang来实现服务器端软件,但我以前从未编写过Web应用程序.这将是一次很棒的经历.
除了Lift之外,还有Scala的Web框架吗?
不要误会我的意思,Lift看起来很棒.我只想知道有多少框架,以便我可以在它们之间进行选择.选择总是一件好事,但我发现的唯一一件事是Lift.
我对Scala非常感兴趣,但我还没有使用它,所以有了这个警告,我所知道的框架在HRJ的答案(Lift,Sweet,Slinky)中没有提到:
Scalatra,之前Step(在GitHub上)
玩2(在GitHub上)
粉红
我写了一篇关于此的博客文章.
总而言之,一些选项是:
电梯
甜
苗条
我终于发现没有一个适合我,并开发了我自己的小"框架".(它还不是开源的).
我喜欢Lift ;-)
Play是我对Scala友好的Web框架的第二选择.
Wicket是我的第三选择.
以下是框架的转储.这并不意味着我实际使用它们:
Coeus.Scala的传统MVC Web框架.
未经过滤.用于在Scala中处理HTTP请求的工具包.
Uniscala花岗岩.
加德尔
盟
爱茉莉.Ruby Web框架Sinatra的Scala端口
缩放XML.灵活的XML处理方法和与XML交互的简化方法.
腰带.用于基于Scalaz-HTTP构建的Web应用程序的类似Rack的界面
弗兰克.Web应用程序DSL建立在Scalaz/Belt之上
MixedBits.Scala编程语言的框架,用于帮助构建网站
Circumflex.使用Scala编程语言统一几个用于应用程序开发的自包含开源项目.
Scala Webmachine.Basho的Web机器在Scala中的端口,这是一个基于REST的系统,用于构建Web应用程序
保龄球.一个RESTful,多渠道准备好的Scala Web框架
试试Play Framework,它也支持Scala.
必须指出的是,Wicket和Scala也有相当大的兴趣.Wicket非常适合Scala.如果您想利用非常成熟的Wicket项目及其生态系统(扩展)以及Scala的简洁语法和生产力优势,这可能适合您!
也可以看看:
一些prosa
介绍
Wicket和Scala的一些经验
公告参考了用于将Scala闭包绑定到模型的粘合代码的项目
一个非常有趣的商业部署Web框架是Scalatra,灵感来自Ruby的Sinatra.这是关于它的InfoQ文章.
我发现Unfiltered非常有趣https://github.com/unfiltered/unfiltered.
它在IttayD的列表中提到过.
以下是关于它的演示 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
玩得很甜蜜.
它现在已经准备好了.它包含:一个很酷的模板框架,安全的源文件自动重新加载,可组合的动作系统,akka awesomeness等.
它是Typesafe Stack的一部分.
将它用于两个项目后,我可以说它工作得很顺利,下次你想要学习新的web框架时应该考虑一下.
我倾向于使用JAX-RS使用Jersey(您可以在Scala,Java或Groovy中编写好的资源bean)来编写RESTul Web应用程序.然后我使用Scalate使用各种模板语言之一(JADE,Scaml,Ssp(Scala Server Pages),Mustache等)渲染视图.