2009-08-13 10 views
8

今、私はScala言語に精通しており、Web開発を行う準備ができています。私が遭遇した唯一のフレームワークはLiftであり、それについて何も知らない。 Scalaを使ってWeb開発にどのようにアプローチしていますか?Scalaを使用してWebの開発を開始するにはどうすればよいですか?

+0

何らかの理由でリフトを除外していますか、またはリフトについての回答が有効ですか?これは明らかではない。 –

+0

私はリフトを排除していません。私はちょうど私がそれを使用し始めることがどれほど成熟しているのか分からないと言っています。 Scala Web開発の一般的なアプローチは何ですか? – Cory

答えて

4

Web開発用に少なくとも2つのスケーラフレームワークがあります。 1つは、あなたが言及したように、Liftです。

また、もあります。これは、RubyのSinatraの静脈にある小さなフレームワークです。それはかなりクールだといいDSLがあります。

少しばかり実験的に、最新のscalazトランクには、Webアプリケーションを扱うためのパッケージがあります。しかし、ドキュメンテーションや例が多少不足しており、今後数ヶ月間に大きな変化が起こる可能性があります(私はコミッターです)。私がそれを使用することを考えている最先端の方法に従いたいなら、scappsをチェックすることができます。私はまもなくサンプルアプリケーションを用意したいと考えています。 ScalaでのWeb開発のためのリフトを使用して

+0

)を使うことはできますが、私はできませんScala 2.8で動作するようにしてください。 –

2

私はWicketTapestryの両方を使用して、ScalaでWebアプリケーションを構築しました。

リフトは私たちの開発者が2つのフレームワークにかなり熟練しているため、Scalaへの変換がより簡単になるためです。

  • Collectionクラス:もちろん

    、スカラ座でのJava Webフレームワークを使用するときに心に留めておくべきいくつかのものがあります。 ScalaのコレクションはJavaのコレクションよりもはるかに豊富ですが、ほとんどのJavaフレームワークでは使用できません。 (これを補う何かはScala 2.8で導入されます)

  • 例えば、Tapestry 5.1ではモジュールクラスでは不要なメソッドは受け入れられませんが、スカラは暗黙的にすべてのクラスに$tag()を追加します。これにより、Tapestryはクラスを拒否します。
+0

'$ tag'の問題をどうやって解決しましたか? Tapestry 5.1を使用しないでください。 –

+0

私はちょうどJavaでその1つのクラスを書いています:)これはハックな解決策ですが、明らかにScala 2.8は$ tagメソッドを廃止し、それはもはや問題にはなりません。 – andri

+0

ヒント:ScalaのJavaコレクションとJavaのScalaコレクション(2.7.x、http://github.com/jorgeortiz85/scala-javautils/tree/master –

1

私はStruts 2とScalaで成功しました。 scala.reflectパッケージの@BeanInfoアノテーションと@BeanPropertyアノテーションは、プロパティへのアクセスに便利です。

1

あなたがScalaであなたのアプリケーションを書こうと思っているなら、Liftは現在、主要なWebフレームワークだと思います。

2

は、いくつかの陽性があります

  • アクティブ、支え、応答コミュニティを、
  • フレームワークはScalaと互換性があるのではなく、Scala用に設計されています。
  • すでに複数の寄稿者によって投資されています。

ネガ:

  • おそらくチャレンジ(私のように)あなたがStrutsなどのフレームワークから移動している場合。
  • 特定のリリースとは対照的に、1.1-SNAPSHOTではユーザーの要求に対する応答性が大幅に向上しています。つまり、移動するターゲットに対してコーディングしています。実際には大きな問題ではありませんが、私はこれがいくつかのために不安を感じることができます。明らかに、この弾丸ポイントは1回もうまくいっていません。1がリリースされます。

Nick Partridgeが答えたところで指摘したように、他のフレームワークもあります。だったのオープンソースのリフトブック(スナップショットがあります

あなたはまた、モチベーションを見てみたいことがありリフトの影響(「シーサイドの非常にきめ細かなセッションとセキュリティ、Railsはすばやく簡単に起動でき、Djangoの「CRUD以上のものが含まれています」、Wicketのデザイナーフレンドリーなテンプレート....」)http://liftweb.net/にリストされていますあなたが望むものにマッチする。

関連する問題