どのようなScala Webフレームワークが利用可能ですか?



Answers

私はこれについてのブログ記事を書いた。

要約すると、いくつかのオプションがあります:

  1. Lift
  2. Sweet
  3. Slinky

私は最終的に誰も私に適していないことを発見し、自分の小さな「フレームワーク」を開発しました。 (まだオープンソースではない)。

Question

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

ScalaのWebフレームワークはLiftを除いて存在しますか?

私は間違ってはいけません。 私はちょうどそこにいくつのフレームワークがあるかを知りたいので、それらの間で選択することができます。 それは常に選択肢があるのは良いことですが、私が見つけたのはリフトだけでした。




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

Xitrum見てXitrumその文書はかなり広範囲です。 READMEから:

Xitrumは非同期でクラスタリングされたScalaのWebフレームワークであり、NettyとHazelcastの上にあるWebサーバーです。

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

ヘーゼルキャストはまた、

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

クイックスタートのtutorialに従ってtutorial




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

ScalaにやさしいWebフレームワークのための第2の選択です。

Wicketは私の3番目の選択です。




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

参照:

  1. いくつかの韻文

  2. Presentation

  3. WicketとScalaの経験

  4. Scalaクロージャをモデルにバインドするためのグルーコードプロジェクトの参考になるAnnouncments




私はあなたの質問に数週間前につまずいたが、その後Circumflexについても学んだ。 したがって、学習しやすい素敵な最小限のフレームワークであり、かなり良いドキュメントも用意されています。

それは最小限ですが、他のライブラリとうまく機能すると主張し、必要に応じて独自の実装を使用することもできます。




このリストに自分の努力を加えたいと思います。 ここで詳しい情報を見つけることができます:

brzyフレームワーク

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

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

すべてのフィードバックは非常に高く評価されています。

UPDATE:2011-09-078、バージョン0.9.1のメジャーアップデートを投稿しました。 http://brzy.orgにはスクリーンキャストが含まれています。




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

< plug >

Spiffy

  • Scalaで書かれています
  • 素晴らしいAkkaライブラリと俳優を使ってスケール
  • 非同期要求処理にサーブレットAPI 3.0を使用
  • モジュール式です(コンポーネントの交換は簡単です)
  • あなたがそれを望まないところでDSLを使ってコードを減らす
  • テンプレート作成のためのScalateとFreemarkerをサポート

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

https://github.com/mardambey/spiffy

< / plug >




Jerseyを使ってJAX-RSを使う傾向があります(Scala、Java、Groovyの素敵なリソースBeanを書いてRESTul Webアプリケーションを書くことができます)。 次に、さまざまなテンプレート言語( JADEScamlSsp (Scala Server Pages)、 Mustacheなど)を使用してビューをレンダリングするためにScalateを使用します。




RubyのSinatraに触発されたScalatra 、商用展開の非常に面白いWebフレームワークの1つです。 InfoQの記事は次の通りです。




Related