有哪些 Scala 网络框架可用?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1488412/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-22 01:40:09  来源:igfitidea点击:

What Scala web-frameworks are available?

scalaframeworksweb-frameworkslift

提问by Prikrutil

I've just started learning Scala, and the first thing I'm going to implement is a tiny web application. I've been using Erlangfor the last year to implement server-side software, but I've never wrote web applications before. It will be a great experience.

我刚刚开始学习 Scala,我要实现的第一件事是一个微型 Web 应用程序。去年我一直在使用Erlang来实现服务器端软件,但我之前从未编写过 Web 应用程序。这将是一次很棒的体验。

Are there web-frameworks for Scala except for Lift?

除了Lift之外,还有 Scala 的网络框架吗?

Don't get me wrong, Lift looks awesome. I just want to know how many frameworks there are so that I can then choose between them. It's always a good to have a choice, but I the only thing I found was Lift.

不要误会我的意思,Lift 看起来很棒。我只想知道有多少个框架,以便我可以在它们之间进行选择。有选择总是好的,但我唯一发现的就是 Lift。

采纳答案by bn.

I'm very interested in Scala, but I have not used it yet, so with that caveat, the frameworks I am aware of that are not mentioned in HRJ's answer(Lift, Sweet, Slinky) are:

我对 Scala 非常感兴趣,但我还没有使用它,所以有这个警告,我所知道的在HRJ 的回答(Lift、Sweet、Slinky)中没有提到的框架是:

回答by HRJ

I wrote a blog postabout this.

我写了一篇关于这个的博客文章

To summarise, some of the options are:

总而言之,其中一些选项是:

  1. Lift
  2. Sweet
  3. Slinky
  1. 电梯
  2. 甜的
  3. 紧身

I finally found that none were suitable for me, and developed my own little "framework". (It is not open-source yet).

我终于发现没有一个适合我,并开发了自己的小“框架”。(它还不是开源的)。

回答by David Pollak

I like Lift ;-)

我喜欢电梯;-)

Play is my second choice for Scala-friendly web frameworks.

Play 是我对 Scala 友好的 Web 框架的第二选择。

Wicket is my third choice.

Wicket 是我的第三选择。

回答by IttayD

Following is a dump of frameworks. It doesn't mean I actually used them:

以下是框架的转储。这并不意味着我实际上使用了它们:

  • Coeus. A traditional MVC web framework for Scala.

  • Unfiltered. A toolkit for servicing HTTP requests in Scala.

  • Uniscala Granite.

  • Gardel

  • Mondo

  • Amore. A Scala port of the Ruby web framework Sinatra

  • Scales XML. Flexible approach to XML handling and a simplified way of interacting with XML.

  • Belt. A Rack-like interface for web applications built on top of Scalaz-HTTP

  • Frank. Web application DSLbuilt on top of Scalaz/Belt

  • MixedBits. A framework for the Scala progamming language to help build web sites

  • Circumflex. Unites several self-contained open source projects for application development using the Scala programming language.

  • Scala Webmachine. Port of Basho's webmachine in Scala, a REST-based system for building web applications

  • Bowler. A RESTful, multi-channel ready Scala web framework

  • 科乌斯。Scala 的传统 MVC Web 框架。

  • 未过滤。用于在 Scala 中为 HTTP 请求提供服务的工具包。

  • Uniscala 花岗岩

  • 加德尔

  • 蒙多

  • 爱茉莉。Ruby Web 框架 Sinatra 的 Scala 端口

  • 缩放 XML。XML 处理的灵活方法和与 XML 交互的简化方式。

  • 。基于 Scalaz-HTTP 构建的 Web 应用程序的类似机架的界面

  • 弗兰克。基于 Scalaz/Belt 构建的Web 应用程序DSL

  • 混合位。用于帮助构建网站的 Scala 编程语言框架

  • 圆周率。使用 Scala 编程语言将多个独立的开源项目联合起来进行应用程序开发。

  • 斯卡拉网络机器。Basho 的 webmachine 在 Scala 中的端口,一个用于构建 Web 应用程序的基于 REST 的系统

  • 保龄球。一个 RESTful、多渠道就绪的 Scala Web 框架

回答by lidaobing

Try Play Framework, which also support Scala.

试试Play Framework,它也支持 Scala。

回答by fedesilva

I find Unfiltered very interesting https://github.com/unfiltered/unfiltered.

我发现 Unfiltered 非常有趣https://github.com/unfiltered/unfiltered

It's mentioned in IttayD's list.

IttayD的列表中提到了它。

Here is a presentation about it http://unfiltered.lessis.me/#0and the video http://code.technically.us/post/942531598/doug-tangren-presents-the-unfiltered-toolkit-for

这是关于它的演示 http://unfiltered.lessis.me/#0和视频http://code.technically.us/post/942531598/doug-tangren-presents-the-unfiltered-toolkit-for

Also here there is an article with more info http://code.technically.us/post/998251172/holding-the-parameter

这里还有一篇包含更多信息的文章http://code.technically.us/post/998251172/holding-the-parameter

回答by Daniel C. Sobral

One very interesting web framework with commercial deployment is Scalatra, inspired by Ruby's Sinatra. Here's an InfoQ articleabout it.

一个非常有趣的具有商业部署的 Web 框架是Scalatra,其灵感来自 Ruby 的 Sinatra。这是一篇关于它的InfoQ 文章

回答by Andreas Petersson

It must be noted that there is also a considerable interest in Wicketand Scala. Wicket fits Scala suprisingly well. If you want to take advantage of the very mature Wicket project and its ecosystem (extensions) plus the concise syntax and productivity advantage of Scala, this one may be for you!

必须指出的是,人们对WicketScala也有相当大的兴趣。Wicket 非常适合 Scala。如果您想利用非常成熟的 Wicket 项目及其生态系统(扩展)以及 Scala 的简洁语法和生产力优势,那么这个可能适合您!

See also:

也可以看看:

  1. Some prosa

  2. Presentation

  3. Some experience with Wicket and Scala

  4. Announcments with reference to the project for the glue code to bind Scala closures to models

  1. 一些散文

  2. 推介会

  3. 使用 Wicket 和 Scala 的一些经验

  4. 参考项目的公告,用于将Scala闭包绑定到模型的胶水代码

回答by JaimeJorge

Playis pretty sweet.

玩起来还挺甜蜜的。

It is now production ready. It incorporates: a cool template framework,automatic reloading of source files upon safe, a composable action system, akka awesomeness, etc.

现在可以生产了。它包含:一个很酷的模板框架,在安全的情况下自动重新加载源文件,一个可组合的动作系统,akka awesomeness 等。

Its part of the Typesafe Stack.

它是Typesafe Stack 的一部分。

Having used it for two projects, I can say that it works pretty smoothly and it should be something to consider next time you are looking to learn new web frameworks.

已经将它用于两个项目,我可以说它运行得非常顺利,下次你想学习新的 Web 框架时应该考虑一下。

回答by James Strachan

I tend to use JAX-RS using Jersey(you can write nice resource beans in Scala, Java or Groovy) to write RESTul web applications. Then I use Scalatefor the rendering the views using one of the various template languages (JADE, Scaml, Ssp(Scala Server Pages), Mustache, etc.).

我倾向于使用 JAX-RS 和Jersey(您可以在 Scala、Java 或 Groovy 中编写漂亮的资源 bean)来编写 RESTul Web 应用程序。然后我使用Scalate使用各种模板语言之一(JADEScamlSsp(Scala 服务器页面)、Mustache等)来呈现视图。