私は、ブラウザ上で動作し、多くの可視化およびシミュレーション作業 (静電および電磁気の可視化、2D および 3D) を備えた包括的な教育用ソフトウェアを開発する予定です。
どの言語 ( Processing、javascript など) が私の目的に最適ですか?
私は、ブラウザ上で動作し、多くの可視化およびシミュレーション作業 (静電および電磁気の可視化、2D および 3D) を備えた包括的な教育用ソフトウェアを開発する予定です。
どの言語 ( Processing、javascript など) が私の目的に最適ですか?
質問は確かに広いですが、私の経験からお答えします。
Javascript は実際には数学的計算を行うことを意図したものではありません。これは、多くの E&M 現象を迅速に計算するために必要な場合があります (特に、それらが閉じた形式のソリューションとして表されていない場合)。グラフにどれだけ詳細を表示するかが重要になります (より多くのステップ = より多くの計算)。パフォーマンスの違いを補うために、さらに最適化を行う必要があることに気付くかもしれません。
Flash でアンテナ アレイ (クローズド フォーム ソリューション、単純なアレイのみ) を視覚化したところ、うまくいきました。Javascript は、実行したい 3D シミュレーションに匹敵するものではありません。
Actionscript よりも .NET 用の数学ライブラリが多いため、Silverlight の方が優れたソリューションである可能性があるのではないかと思います。これにより、自分で数学を記述する多くの作業を節約できます (しかし、いずれにしても、パフォーマンスの問題)。
私はショーに少し遅れていますが、あなたが望むものはJavaScriptで実装されており、これは非常に便利です。JS処理エンジンは非常に高速なので、Chromeで実行することをお勧めします。(さらに高速なChrome 2を試してみることもできます)
参照: http: //www.chromeexperiments.com/
私は自分でFlexまたはSilverlightに行きます
Flash は現在、探しているアプリケーション スタックとしてより一般的かもしれませんが、Silverlight は、そこに含まれる強力な機能に基づいて、それらからタイトルを取得する準備が整っているように見えます.
私は LFSR Consulting の意見に同意します。Processing は教育目的で多く使用されており、無料で高速 (Java は一般に Flash よりも高速) であり、習得も容易であるため、より迅速に結果を得ることができます。3D をサポートし、シミュレーションやコンピューティングなどのための Java ライブラリに取り組むことができます。そして、素晴らしいコミュニティがあります! :-)
JavaScript は、このような使い方には少し軽いです。JavaFX は誇大宣伝されていますが、実際には 3D ではなく (Java3D を使用した人もいます)、まだ少し新しいです。
Flash と Silverlight: コメントはありません。この分野での経験はあまりありません。OpenLazlo は代替手段になる可能性があります...
問題を、ユーザー操作と表示の部分と、重い計算の部分の2つの部分に分割できる場合があります。
重い計算をサーバーに移動できる場合でも、すべてをjavascriptで表示できます。
javascriptの難しさの1つは、JavaScriptが解釈され、より多くの方程式を自分で作成する必要があることです。そのため、パフォーマンスが低下し、開発時間がかかりますが、プラグインがなくても機能します。ただし、キャンバスタグ。
FlashとSilverlightの方が優れたオプションがあるかもしれませんが、使用するFlashのバージョンに応じて、新しい言語を学習し、プラグインが必要になります。
おそらくpythonを試す必要があります。これは、教育および計算目的に非常に適した言語であり、かなりまともなコミュニティがあり、構文はそれほど難しくありません。コマンドライン用に設計されていますが、外部パッケージを使用してフロントエンドの GUI を作成できます。また、高度なプロットとデータの視覚化のためのScipy、Numpy、Matplotlibなどのパッケージも提供します。
実際には、Flash の ActionScript または Silverlight の VB.NET/C#/other の 2 つの選択肢があります。
したがって、最初に、これらのプラットフォームのどれをターゲットにするかを決定する必要があります。
processing.js、xcode、iprocessing をチェックしてください! ProcessingJS はデータの視覚化には優れていますが、対話性に欠けています。