7

この質問は、自由回答形式であるため、クローズされる可能性がありますが、それでも興味があります。

静的に型付けされた言語を使用してクロスプラットフォームの Web アプリケーションを開発したい場合、どのような選択肢がありますか? Mono と Java は知っていますが、他に何がありますか?

(クロスプラットフォームとは、Windows と少なくとも 1 つの一般的な Linux のフレーバーを意味します)

4

5 に答える 5

4

クライアント部分とサーバー部分の両方に単一の言語を使用できます。

  1. ジャワ
  2. C#
  3. グーグルズゴー
  4. スカラ
  5. GWT(Javaフレームワーク)
  6. Haskell Web フレームワーク
于 2012-05-17T11:29:23.850 に答える
3

強力な静的正確性を強調する高性能 Haskell Web フレームワークがいくつかあります。

目標は、型システムに依存して高度に最適化されたコードを提供し、ランタイム エラーの可能性をゼロにすることです。

Yesod の Web サイトを引用するには:

実行時のバグをコンパイル時のエラーに変える

Yesod は、コンパイラを敵ではなく味方にするという哲学を信じています。型システムを使用して、適切なリンクの生成から、XSS 攻撃の回避、文字エンコーディングの問題への対処まで、可能な限り強制します。一般に、コードがコンパイルされれば機能します。そして、あらゆる場所で型を宣言する代わりに、コンパイラーに型推論でそれらを理解させます。

于 2012-05-17T11:34:31.857 に答える
2

静的に型付けされていることを意味する場合、残念ながらそれほど多くの選択肢はありません。Google のGo言語は、Web アプリケーションの分野で成長し始めているようです (Google の App Engine やGoWebなどのプロジェクトに対する Go のサポートがあります) が、これらの取り組みはおそらくまだ十分に成熟していません。

Scalaは別の可能なオプションかもしれません。JVM でも実行されますが、その Web フレームワークは、言語の高度な機能 ( Liftなどを参照) により大きく異なり、個別に検討する価値があるかもしれません。

于 2012-05-17T11:31:09.523 に答える
2

Java と C# (mono 経由) に加えて、(最新の) C++ を
Wt (C++ Web Toolkit)の形式で使用することもできます。現在、C++ の C 下位互換性部分は厳密に型指定されていませんが、それ以外の場合、C++ プログラムは型安全です。

本当に強力な型安全性が必要な場合は、 Haskell とYesodを使用できます。Yesod の目標は、強力な型を使用して、Web アプリケーションのプログラミングでよくあるエラーを防ぐことです。たとえば、URL は型チェックされます。正しいパラメーターを指定しないと、アプリケーション内リンクを作成できません。Web ページをレンダリングするときのユーザー コンテンツのエスケープは、レンダリングされたページに含まれる前に文字列が適切にエスケープされることを保証するために Haskell コンパイラが使用される別の状況です。

于 2012-05-17T11:36:38.467 に答える
1

私は、 Rubyは厳密に型付けされていると信じているので、Ruby on Railsはこれに適した選択です。

于 2012-05-17T11:20:52.647 に答える