我刚开始学习 Scala,我要实现的第一件事是一个小型 Web 应用程序。去年我一直在使用Erlang来实现服务器端软件,但我之前从未编写过 Web 应用程序。这将是一次很棒的经历。
除了Lift之外,Scala 是否有网络框架?
不要误会我的意思,Lift 看起来很棒。我只想知道有多少框架,以便我可以在它们之间进行选择。有选择总是一件好事,但我唯一发现的是电梯。
我刚开始学习 Scala,我要实现的第一件事是一个小型 Web 应用程序。去年我一直在使用Erlang来实现服务器端软件,但我之前从未编写过 Web 应用程序。这将是一次很棒的经历。
除了Lift之外,Scala 是否有网络框架?
不要误会我的意思,Lift 看起来很棒。我只想知道有多少框架,以便我可以在它们之间进行选择。有选择总是一件好事,但我唯一发现的是电梯。
I like Lift ;-)
Play is my second choice for Scala-friendly web frameworks.
Wicket is my third choice.
以下是框架的转储。这并不意味着我实际上使用了它们:
科伊斯。Scala 的传统 MVC Web 框架。
未过滤。用于在 Scala 中服务 HTTP 请求的工具包。
爱茉莉。Ruby Web 框架 Sinatra 的 Scala 端口
缩放 XML。灵活的 XML 处理方法和与 XML 交互的简化方法。
腰带。基于 Scalaz-HTTP 构建的 Web 应用程序的 Rack 式界面
混合位。用于帮助构建网站的 Scala 编程语言框架
回旋曲。使用 Scala 编程语言联合多个独立的开源项目进行应用程序开发。
斯卡拉网络机器。Scala 中 Basho 网络机器的端口,一个基于 REST 的系统,用于构建网络应用程序
保龄球。一个 RESTful、多通道就绪的 Scala Web 框架
试试Play Framework,它也支持 Scala。
我发现 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 框架时应该考虑一下。
Prikrutil,我认为我们在同一条船上。我也是从 Erlang 来到 Scala 的。我非常喜欢Nitrogen,所以我决定创建一个受它启发的 Scala Web 框架。
Xitrum 是一个基于 Netty 和 Hazelcast 的异步集群化 Scala Web 框架和 Web 服务器:
Hazelcast 还提供:
按照教程快速入门。
有一个新的 Web 框架,称为Scala Web Pages。从网站:
Scala Pages Web 框架可能会吸引具有 Java 背景并希望在 Scala 中编写 Web 应用程序的 Web 程序员。重点是 OOP 而不是函数式编程。
$variable
和<?scp-instruction?>
还有 Pinky,它曾经在 bitbucket 上,但被转移到了github 上。
顺便说一句,github 是搜索 Scala 项目的好地方,因为那里有很多东西。
我想将自己的努力添加到此列表中。您可以在这里找到更多信息:
它处于早期开发阶段,我仍在积极努力。它包括以下功能:
非常感谢任何和所有反馈。
更新:2011-09-078,我刚刚发布了 0.9.1 版的重大更新。http://brzy.org上有更多信息,其中包括截屏视频。
Sweet 和 Slinky 似乎都有一年左右无人维护。Sweet Maven repo sweetsoftwaredesign.com 已死,因此甚至无法下载依赖项。
注意: Spiffy 已过时。
<插头>
漂亮:
Spiffy 是一个使用 Scala、Akka(Scala actor 实现)和 Java Servlet 3.0 API 的 Web 框架。它利用异步接口,旨在为 Web 应用程序提供大规模并行和可扩展的环境。Spiffy 的各种组件都基于这样的想法:它们需要是独立的简约模块,可以非常快速地完成少量工作并将请求传递给管道中的下一个组件。在最后一个组件处理完请求后,它通过“完成”请求并将其发送回客户端来向 servlet 容器发出信号。
https://github.com/mardambey/spiffy
< /插头>
几周前我偶然发现了你的问题,但从那时起我也了解了Circumflex。这是一个很好的、最小的框架,因此很容易学习,而且它也有很好的文档。
除了极简之外,它还声称可以与其他库很好地配合使用,并允许您在需要时使用自己的实现。
您也可以尝试Context。它被设计成一个 Java 框架,但我已经成功地将它与 Scala 一起使用,也没有任何困难。它是一个基于组件的框架,具有与 Lift 或 Tapestry 相似的属性。