196

Scalaの学習を始めたばかりです。最初に実装するのは、小さなWebアプリケーションです。私は昨年Erlangを使用してサーバー側ソフトウェアを実装してきましたが、これまでWebアプリケーションを作成したことはありません。それは素晴らしい経験になるでしょう。

Lift以外にScalaのWebフレームワークはありますか?

誤解しないでください、Liftは素晴らしく見えます。フレームワークがいくつあるか知りたいので、フレームワークから選択できます。選択肢があるのはいつでも良いことですが、私が見つけたのはリフトだけでした。

4

18 に答える 18

78

私はScalaに非常に興味がありますが、まだ使用していません。そのため、HRJの回答(Lift、Sweet、Slinky)で言及されていないことを認識しているフレームワークは、次のとおりです。

于 2009-09-28T18:25:51.403 に答える
46

これについてブログに投稿しました。

要約すると、いくつかのオプションは次のとおりです。

  1. リフト
  2. 甘い
  3. スリンキー

私はついに自分に適したものがないことに気づき、自分の小さな「フレームワーク」を開発しました。(まだオープンソースではありません)。

于 2009-09-28T18:16:37.390 に答える
35

私はリフトが好きです;-)

Playは、Scalaに適したWebフレームワークの2番目の選択肢です。

ウィケットは私の3番目の選択肢です。

于 2010-06-18T05:52:47.323 に答える
35

以下はフレームワークのダンプです。それは私が実際にそれらを使用したという意味ではありません:

  • コイオス。Scala用の従来のMVCWebフレームワーク。

  • フィルタリングされていません。ScalaでHTTPリクエストを処理するためのツールキット。

  • ユニスカラ花崗岩

  • ガーデル

  • モンド

  • アモーレ。RubyWebフレームワークSinatraのScalaポート

  • XMLをスケーリングします。XML処理への柔軟なアプローチとXMLとの対話の簡素化された方法。

  • ベルト。Scalaz-HTTP上に構築されたWebアプリケーション用のラックのようなインターフェース

  • フランク。Scalaz/Belt上に構築されたWebアプリケーションDSL

  • MixedBits。Webサイトの構築を支援するScalaプログラミング言語のフレームワーク

  • サーカムフレックス。Scalaプログラミング言語を使用したアプリケーション開発のために、いくつかの自己完結型のオープンソースプロジェクトを統合します。

  • ScalaWebmachine。Webアプリケーションを構築するためのRESTベースのシステムであるScalaにあるBashoのWebマシンのポート

  • ボウラー。RESTfulなマルチチャネル対応のScalaWebフレームワーク

于 2010-10-07T15:58:27.627 に答える
23

ScalaもサポートしているPlayFrameworkを試してみてください。

于 2010-06-13T07:00:21.150 に答える
8

WicketScalaにもかなりの関心があることに注意する必要があります。WicketはScalaに驚くほどよく合います。非常に成熟したWicketプロジェクトとそのエコシステム(拡張機能)に加えて、Scalaの簡潔な構文と生産性の利点を利用したい場合は、これが最適です。

参照:

  1. いくつかの散文

  2. プレゼンテーション

  3. WicketとScalaの経験

  4. Scalaクロージャをモデルにバインドするためのグルーコードのプロジェクトに関する発表

于 2009-09-28T18:35:59.287 に答える
8

商用展開された非常に興味深いWebフレームワークの1つは、RubyのSinatraに触発されたScalatraです。これについてのInfoQの記事があります。

于 2010-10-07T14:30:19.250 に答える
8

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

于 2010-10-08T00:20:42.263 に答える
7

遊びはかなり甘いです。

これで生産準備が整いました。クールなテンプレートフレームワーク、安全な状態でのソースファイルの自動リロード、構成可能なアクションシステム、akkaの素晴らしさなどが組み込まれています。

Typesafeスタックの一部です。

これを2つのプロジェクトで使用したことで、非常にスムーズに機能し、次に新しいWebフレームワークを学習するときに検討する必要があると言えます。

于 2011-09-22T17:43:57.853 に答える
5

私はRESTulWebアプリケーションを作成するために、Jersey (Scala、Java、またはGroovyで優れたリソースBeanを作成できます)を使用してJAX-RSを使用する傾向があります。次に、さまざまなテンプレート言語(JADEScamlSsp(Scala Server Pages)、Mustacheなど)のいずれかを使用してビューをレンダリングするためにScalateを使用します。

于 2010-10-08T15:09:03.400 に答える
4

ScalaWebPagesと呼ばれる新しいWebフレームワークがあります。サイトから:

ターゲットオーディエンス

Scala Pages Webフレームワークは、Javaのバックグラウンドを持ち、ScalaでWebアプリケーションをプログラミングしたいWebプログラマーにアピールする可能性があります。関数型プログラミングよりもOOPに重点が置かれています。

特徴と特徴

  • model-view-controllerパラダイムに準拠
  • テキストベースのテンプレートエンジン
  • 単純な構文:$variableおよび<?scp-instruction?>
  • エンコーディング/コンテンツ検出、国際的なテキストエンコーディングを処理可能
  • カスタムタグの代わりにスニペット
  • URL書き換え
于 2010-03-12T05:27:28.323 に答える
4

Prikrutil、私たちは同じ船に乗っていると思います。ErlangからScalaにも来ています。私は窒素が大好きなので、それに触発されたScalaWebフレームワークを作成することにしました。

Xitrumを見てください。そのドキュメントは非常に広範囲です。READMEから:

Xitrumは、NettyおよびHazelcast上にある非同期のクラスター化されたScalaWebフレームワークおよびWebサーバーです。

  • ScalatraとLiftの間のギャップを埋めます。Scalatraよりも強力で、Liftよりも使いやすいです。RESTfulAPIとポストバックの両方を簡単に作成できます。Xitrumは、Liftのようにビューファーストではなく、Scalatraのようにコントローラーファーストです。
  • アノテーションは、JAX-RSの精神に基づいてURLルートに使用されます。すべてのルートを1か所で宣言する必要はありません。
  • Typesafe、Scalaの精神で。
  • Nettyの精神で非同期。
  • セッションはCookieまたはクラスター化されたHazelcastに保存できます。
  • jQuery検証は、ブラウザー側とサーバー側の検証に統合されています。i18nはGNUgettextを使用します。これは、他のほとんどのソリューションとは異なり、単数形と複数形の両方がサポートされていることを意味します。
  • ETagを使用した条件付きGET。

Hazelcastはまた以下を提供します:

  • インプロセスキャッシュとクラスター化キャッシュでは、個別のキャッシュサーバーは必要ありません。
  • 処理中のクラスター化されたCometでは、Cometを複数のWebサーバーに拡張できます。

クイックスタートについては、チュートリアルに従ってください。

于 2011-09-22T05:53:14.030 に答える
3

このリストに私自身の努力を加えたいと思います。あなたはここでより多くの情報を見つけることができます:

brzyフレームワーク

それは初期の開発段階にあり、私はまだ積極的に取り組んでいます。次のような機能が含まれています。

  • シンプルさと拡張性に焦点を当てています。
  • 統合ビルドツール。
  • モジュール設計; 一部の初期モジュールには、scalate、email、jms、jpa、squeryl、cassandra、cronサービスなどのサポートが含まれています。
  • シンプルなRESTfulコントローラーとアクション。

ありとあらゆるフィードバックをいただければ幸いです。

更新:2011-09-078、バージョン0.9.1へのメジャーアップデートを投稿しました。スクリーンキャストを含む詳細情報はhttp://brzy.orgにあります。

于 2010-10-28T17:00:14.460 に答える
3

以前はbitbucketにあったが、githubに転送されたPinkyもあります。

ちなみに、githubはScalaプロジェクトを検索するのに最適な場所です。そこにはたくさんのプロジェクトがあります。

于 2009-09-28T18:28:47.070 に答える
1

SweetとSlinkyはどちらも約1年間メンテナンスされていないようです。Sweet Mavenリポジトリsweetsoftwaredesign.comは機能していないため、依存関係をダウンロードする方法すらありません。

于 2010-12-19T04:37:53.830 に答える
1

注:Spiffyは古くなっています。

<プラグ>

Spiffy

  • Scalaで書かれています
  • 素晴らしいAkkaライブラリとアクターを使用してスケーリング
  • 非同期リクエスト処理にサーブレットAPI3.0を使用
  • モジュール式です(コンポーネントの交換は簡単です)
  • DSLを使用して、不要なコードを削減します
  • テンプレート用のScalateとFreemarkerをサポート

Spiffyは、Scala、Akka(Scalaアクター実装)、およびJavaサーブレット3.0APIを使用するWebフレームワークです。非同期インターフェースを利用し、Webアプリケーションに超並列でスケーラブルな環境を提供することを目的としています。Spiffyのさまざまなコンポーネントはすべて、少量の作業を非常に迅速に実行し、パイプライン内の次のコンポーネントに要求を渡す、独立した最小限のモジュールである必要があるという考えに基づいています。最後のコンポーネントがリクエストの処理を完了した後、リクエストを「完了」してクライアントに送り返すことにより、サーブレットコンテナに信号を送ります。

https://github.com/mardambey/spiffy

< /プラグ>

于 2011-03-27T01:17:10.870 に答える
0

Contextを試すこともできます。Javaフレームワークとして設計されましたが、Scalaでも問題なく使用できました。これはコンポーネントベースのフレームワークであり、LiftまたはTapestryと同様のプロパティがあります。

于 2011-04-09T13:38:51.187 に答える
0

数週間前にあなたの質問に出くわしましたが、それ以来、サーカムフレックスについても学びました。これは素晴らしく、最小限のフレームワークであるため、習得が容易であり、かなり優れたドキュメントも利用できます。

最小限であることに加えて、他のライブラリとうまく連携し、必要なときに独自の実装を使用できると主張しています。

于 2011-07-10T16:59:08.710 に答える