今、私はScala言語に精通しており、Web開発を行う準備ができています。私が遭遇した唯一のフレームワークはLiftであり、それについて何も知らない。 Scalaを使ってWeb開発にどのようにアプローチしていますか?Scalaを使用してWebの開発を開始するにはどうすればよいですか?
答えて
Web開発用に少なくとも2つのスケーラフレームワークがあります。 1つは、あなたが言及したように、Liftです。
また、もあります。これは、RubyのSinatraの静脈にある小さなフレームワークです。それはかなりクールだといいDSLがあります。
少しばかり実験的に、最新のscalazトランクには、Webアプリケーションを扱うためのパッケージがあります。しかし、ドキュメンテーションや例が多少不足しており、今後数ヶ月間に大きな変化が起こる可能性があります(私はコミッターです)。私がそれを使用することを考えている最先端の方法に従いたいなら、scappsをチェックすることができます。私はまもなくサンプルアプリケーションを用意したいと考えています。 ScalaでのWeb開発のためのリフトを使用して
)を使うことはできますが、私はできませんScala 2.8で動作するようにしてください。 –
私はWicketとTapestryの両方を使用して、ScalaでWebアプリケーションを構築しました。
リフトは私たちの開発者が2つのフレームワークにかなり熟練しているため、Scalaへの変換がより簡単になるためです。
- Collectionクラス:もちろん
、スカラ座でのJava Webフレームワークを使用するときに心に留めておくべきいくつかのものがあります。 ScalaのコレクションはJavaのコレクションよりもはるかに豊富ですが、ほとんどのJavaフレームワークでは使用できません。 (これを補う何かはScala 2.8で導入されます)
- 例えば、Tapestry 5.1ではモジュールクラスでは不要なメソッドは受け入れられませんが、スカラは暗黙的にすべてのクラスに
$tag()
を追加します。これにより、Tapestryはクラスを拒否します。
'$ tag'の問題をどうやって解決しましたか? Tapestry 5.1を使用しないでください。 –
私はちょうどJavaでその1つのクラスを書いています:)これはハックな解決策ですが、明らかにScala 2.8は$ tagメソッドを廃止し、それはもはや問題にはなりません。 – andri
ヒント:ScalaのJavaコレクションとJavaのScalaコレクション(2.7.x、http://github.com/jorgeortiz85/scala-javautils/tree/master –
私はStruts 2とScalaで成功しました。 scala.reflectパッケージの@BeanInfoアノテーションと@BeanPropertyアノテーションは、プロパティへのアクセスに便利です。
あなたがScalaであなたのアプリケーションを書こうと思っているなら、Liftは現在、主要なWebフレームワークだと思います。
は、いくつかの陽性があります
- アクティブ、支え、応答コミュニティを、
- フレームワークはScalaと互換性があるのではなく、Scala用に設計されています。
- すでに複数の寄稿者によって投資されています。
ネガ:
- おそらくチャレンジ(私のように)あなたがStrutsなどのフレームワークから移動している場合。
- 特定のリリースとは対照的に、1.1-SNAPSHOTではユーザーの要求に対する応答性が大幅に向上しています。つまり、移動するターゲットに対してコーディングしています。実際には大きな問題ではありませんが、私はこれがいくつかのために不安を感じることができます。明らかに、この弾丸ポイントは1回もうまくいっていません。1がリリースされます。
Nick Partridgeが答えたところで指摘したように、他のフレームワークもあります。だったのオープンソースのリフトブック(スナップショットがあります
- :私はあなたが望むものを知っているか、またはフレームワークに期待していないとして、私はあなたがあなたの心を作る助けるかもしれないいくつかのリフト資源であなたを指すことができますThe Definitive Guide to Liftとして公開)http://groups.google.com/group/the-lift-book(そのページのmaster.pdfを検索)にあります。
- リフトPDFを皮切りに短い導入http://liftweb.net/docs/StartingWithLift.pdf
- あるメーリングリストは(私にとって)大きな音量が、情報の素晴らしい源です:http://groups.google.com/group/liftweb
あなたはまた、モチベーションを見てみたいことがありリフトの影響(「シーサイドの非常にきめ細かなセッションとセキュリティ、Railsはすばやく簡単に起動でき、Djangoの「CRUD以上のものが含まれています」、Wicketのデザイナーフレンドリーなテンプレート....」)http://liftweb.net/にリストされていますあなたが望むものにマッチする。
play frameworkは、現在、最大のスカラーウェブフレームワークの1つです。
- 1. Perlを使用してWebページのスクレイピングを開始するにはどうすればよいですか?
- 2. 既存のサーバーレンダリングWebアプリケーションでElmの使用を開始するにはどうすればよいですか?
- 3. 「電話サービス」(電話バンキングなど)の開発を開始するにはどうすればよいですか?
- 4. EDI 837 Professionalの開発を開始するにはどうすればよいですか?
- 5. UBUNTU 9.04でCUDA開発を開始するにはどうすればよいですか?
- 6. AndroidでSkypeアプリケーション開発を開始するにはどうすればよいですか?
- 7. iPhone向けに開発を開始するにはどうすればよいですか?
- 8. transitionFromView:toView:duration:options:completionを使用してキャンセルし、アニメーションを開始するにはどうすればよいですか?
- 9. df.resampleを使用して週の開始日を変更するにはどうすればよいですか?
- 10. WindowsでClojureを使用してプログラミングを開始するにはどうすればよいですか?
- 11. python 2.7でtime.strftime()を使用して000日で開始するにはどうすればよいですか?
- 12. ASC3(ActionScript 3)フレームの開始時にリスニングを開始するにはどうすればよいですか?
- 13. Terraformプロビジョニングを使用してリモートサービスを開始するにはどうすればよいですか?
- 14. webRTCを使用してビデオストリーミングを開始するにはどうすればよいですか?
- 15. コマンドライン引数を使用してリモートプロセスを開始するにはどうすればよいですか?
- 16. ロボットフレームワークを使用して開発者ツールを開くにはどうすればいいですか
- 17. アンケートWebサイトの新しいデバッグセッションを開始するにはどうすればよいですか?
- 18. PhoneGapまたはAdobeAirを使用してアプリケーションを開発するにはどうすればよいですか?
- 19. Hadoopのマップを開始するにはどうすればよいですか?
- 20. ブルートゥースペアリングのプロセスを開始するにはどうすればよいですか?
- 21. クロム開発ツールを使用してAndroidでJ2V8をデバッグするにはどうすればよいですか?
- 22. TFS 2010を使用してWebアプリケーションを自動展開するにはどうすればよいですか?
- 23. MSBuildを使用してAsp.NET Webアプリケーションを公開するにはどうすればよいですか?
- 24. Windowsでサブプロセスを開始するにはどうすればよいですか?
- 25. MDIでマウスイベントを開始するにはどうすればよいですか?
- 26. アンカータグでストライプクレジットカードチェックアウトを開始するにはどうすればよいですか?
- 27. webpackでプロダクションを開始するにはどうすればよいですか?
- 28. JavaScriptの開発 - ユニットテストをいつ開始すればよいですか?
- 29. オフィスUIファブリックを使用してシェアポイントアプリケーションを開発するにはどうすればよいですか?
- 30. FactoryGirlファクトリを使用して開発データベースを構築するにはどうすればよいですか?
何らかの理由でリフトを除外していますか、またはリフトについての回答が有効ですか?これは明らかではない。 –
私はリフトを排除していません。私はちょうど私がそれを使用し始めることがどれほど成熟しているのか分からないと言っています。 Scala Web開発の一般的なアプローチは何ですか? – Cory