最近、Scala ベースの Web フレームワーク コミュニティで多くの動きがありました。Rails、Rake、ActiveRecord、および migrations から来て - 実稼働サイトを構築するための適切な Scala フレームワークはどれですか?
パフォーマンスが少し低下しても、コードの保守性が大幅に向上する場合は許容されます。また、コラボレーション機能が組み込まれていると便利です。たとえば、DB の移行などです。
最近、Scala ベースの Web フレームワーク コミュニティで多くの動きがありました。Rails、Rake、ActiveRecord、および migrations から来て - 実稼働サイトを構築するための適切な Scala フレームワークはどれですか?
パフォーマンスが少し低下しても、コードの保守性が大幅に向上する場合は許容されます。また、コラボレーション機能が組み込まれていると便利です。たとえば、DB の移行などです。
(モデレーターの編集: David Pollak は Lift フレームワークの創設者です)
CRUD といくつかのページを実行するための素晴らしくシンプルな Scala Web フレームワークが必要な場合は、Play をお勧めします。素晴らしい開発サイクルがあり、シンプルで親しみやすいです。
成長して大量のトラフィックを処理するアプリを構築している場合は、Lift をお勧めします ;-)
Lift は、さまざまな ORM システムをサポートしています。Mapper は ActiveRecord によく似ています。Mapper は移行を使用するのではなく、Schemifier を使用して Mapper 定義からスキーマ定義を読み取り、それに応じて RDBMS を更新します。
あらゆる種類の Ajax または Comet アプリを作成する場合は、Lift が適切な選択です。Lift の Ajax サポートは単純です。サーバー上の関数を Ajax コントロールに関連付けるだけです。ユーザーがボタンをクリックしたり、選択をプルダウンしたりすると、関数が呼び出されます。
Lift は、どのフレームワークよりも優れたサーバープッシュ (Comet) をサポートしています。コメット サポートのフレーバーについては、http://liftweb.blip.tv/file/2033658/をチェックしてください。
パフォーマンスとスケーラビリティの点で、Lift は Foursquare やその他の非常にトラフィックの多いサイトを支えています。
簡潔なコードという点では、Lift は非常に簡潔ですが、タイプ セーフです (これは、String 名で変数を表す Play やその他のフレームワークには当てはまりません)。したがって、タイプ セーフで非常に保守しやすい REST サポートが得られます。これは、ここでも非常に簡潔に示されています: http://www.assembla.com/wiki/show/liftweb/REST_Web_Services
私の意見では、scalaモジュールで遊ぶことはリフトよりもはるかに優れています.scalaは、第一級の市民です。ステートレス、高速、シンプル、強力、本番環境での使用、scalate モジュール、アクティブなユーザー/開発者、キャッシング、データベース、ロギングなどのフルスタック フレームワークを備えています...このビデオをご覧ください: http://vimeo.com/7731173
Play with Scala のような他の Java フレームワークも使用できますが、Scala Web フレームワークの現在の (そしておそらく将来の) スターは Lift です。
Ruby から Scala/Lift に移行するときにパフォーマンスの低下を恐れる必要はありません。より高速に実行されることを期待してください (Ruby on Rails よりも 600% から 2000% 速いという数字を聞きました)。
ここでは、Lift の作成者による、 Lift の機能と、Rails から来た人々にとってそれが興味深い理由についての 2 つの短い説明を示します。
移行については、Scala の移行を参照してください。
Lift には (まだ) ビルダーはありませんが、play フレームワークにはそれがあると思います。ただし、エンタープライズ サイトを開発している場合は、おそらく Lift が適しています。
Liftyは Lift のビルダー/プロセッサーです。
Lift の概要については、Lift in Action (プレリリース) とThe Definitive Guide to Lift: A Scala-based Web Framework をご覧ください。後者はGoogle グループでも利用できます。ファイル「master.pdf」を参照してください。
リフト
RubyonRailsのように思われ、多くの人に好まれています。