1

クロスプラットフォームのグラフィカルな数学モデリング アプリケーションを作成します。たとえば、ユーザーはキャンバスに多数のノードをドロップし、ノード間の数学的関係を指定して、シミュレーションを実行できます。また、これが Web アプリになることにも興味があります。

Java、MATLAB、Python のプログラミング経験はありますが、大規模なアプリケーションを作成したことはありません。そのため、ソフトウェア アーキテクチャや、複数の言語がどのように連携するかについてはほとんど知りません。

私は作業に最適な IDE、言語などを見つけようとしています。私のグループが行った以前の作業には、シミュレーションなどのバックエンド作業のために使用できる C/C++ ライブラリがたくさんあります。上司から、Java は開発の「島」であると言われました。つまり、Java アプリは他の言語のライブラリを使用したり、独自のライブラリを他の言語で使用できるようにしたりするのが難しいということです。

これは本当ですか?誰かがこのトピックに光を当てることができますか?

また、どのツールを使用すればよいですか?私は何でも学ぶ準備ができていますが、最も生産的なルートを選択しようとしています. C/C++ ですべてを学習してからプログラミングすることは、現在、私にとって非常に生産的な方法のようには思えません。

これまでに調べたものには、WindowBuilder/GWT Designer (これはデスクトップ アプリと Web アプリの両方を作成する方法のようです)、Mono/GTK+/MonoDevelop、および Delphi が含まれます。

できる限り詳しく説明してください。よろしくお願いします。

4

3 に答える 3

3

この投稿はトピック外として閉鎖される可能性があります。しかし、トスするには少し特殊すぎるようです。

Java は、Java 以外の多くのプロジェクトや製品などと相互運用できます。ただし、Java の主要な機能は移植性であるため、人々は JVM 環境内にとどまろうとする努力をしていることがわかります。そういう意味では「島」です。

相互運用したいものを正確に考えて具体的にすることをお勧めします-フックがそこにあるかどうかを確認してください。

バックエンド C/C++ ライブラリの場合、JNI インターフェイスを実装する必要があります。私はこれを、小さくても適度に急勾配の学習曲線があると説明します-学ぶことはあまりありませんが、少し考えなければなりません-特に、やり取りされるデータの量が非常に多いためパフォーマンスが問題になる場合.

あなたがやっていることのグラフィカルな側面のために GWT で必要なものがない ことに気付くかもしれません。

Web の側面がどれだけ必要か、よく考えてみます。その場合は、デスクトップのみのソリューション (およびおそらく Java/GWT) を完全にスキップして、Web に移動することを検討してください。これは、古いブラウザーをサポートする必要がない場合に特に有効です。

「どのツールか」という質問には触れません。範囲が広すぎるためです。

于 2011-11-16T22:24:38.013 に答える
1

Jython、Groovy、Clojure、およびその他多数の Java 言語への適応を考慮すると、あなたの上司は自分が何について話しているのか分かっていないことを強くお勧めします。Java には、必要に応じてネイティブ コードを実行する機能もあるため、JVM 以外の他のツールキットを組み込むことはそれほど難しくありません。しかし、彼が正しく、Java との言語間作業がなかったとしても、言語は十分に長く存在しており、十分に冗長であるため、探している相互運用性を提供するライブラリを一般的に見つけることができます。


あなたの詳細を知らなければ、正確な答えを出すのは難しいでしょうが、一般的なルールは、あなたが知っている言語はあなたが知らない言語よりも優れているということです. 例えば。社内に C/C++ の専門知識がある場合、それらの言語はアプリケーションの構築に完全に適しています。JavaScript は大幅に少なくなります。

言語に関する誤った仮定によって引き起こされるバグは望ましくありません。特にどこを見ればよいか分からないため、それらを追跡することはほぼ不可能です。

于 2011-11-16T22:26:10.337 に答える
0

クロス プラットフォームが問題になる場合は、Java で開発することをお勧めします。その点では、すべてが非常に簡単になります。C/C++ ライブラリのロードに関しては、あまり経験がありませんが、Java Native Accessなどを参照することをお勧めします。

ツールに関する限り、それらは幅広く多様です。私は個人的にNetbeansまたはEclipseを使用していますが、そのような選択は、必要なプラグインと個人的に好むものに帰着します。

全体として、さまざまな環境やさまざまな言語でアプリケーションの小さなスタブをプログラムして、気に入ったものを見てください。情報に基づいた決定を下すには、アプリケーションの詳細を知る必要があり、ほとんどの場合、それは異なります。頑張ってください!

于 2011-11-16T22:29:13.640 に答える