2

次のプロジェクトの開発に使用するIDE/言語について調査しています。このツールは、カスタムデバイスの一部の設定を監視およびプログラムするために作成されています。Windowsを介した通信は、VirtualComPortドライバーを介して行われます。アプリケーションは、Windows 7およびXPで実行する必要があります。追加の作業をあまり行わずに実行できる場合は、他のオペレーティングシステムで実行する必要があります。考慮すべき開発ツールが不足していますか?

それぞれのオプションの長所と短所を見つけます。主な質問:

  • 考慮すべき開発ツールが不足していますか?

  • クロスプラットフォームはどのようにmono/javaですか?アプリケーションを一度開発して、他のオペレーティングシステムに小さな変更を加えて移植したり、変更を加えなかったり、コードに多くの変更を加えたりすることはできますか?移植されたときのアプリケーションのバグはどれくらいですか?

  • どのプラットフォームを選択しますか?アプリケーションをすぐにクロスプラットフォームにすることにもっと時間をかけたいですか、それともMonoDevelop / VisualStudioを使用して.NETアプリケーションのみを作成する方が良いですか?

どんな洞察も大歓迎です:)最終結果が何であるかを投稿します。

ps。私はJavaの経験がなく、どちらも保守する必要のない開発者です。私たちは両方ともC#の経験が豊富です。

4

3 に答える 3

2

Visual StudioでC#を使用することが、基本的なWindows機能の制御に関して最良のソリューションであることがわかりました。Microsoftのやや「母国語」の言語を使用することは理にかなっていますが、インストール先のコンピューターに.netフレームワークをインストールする必要があることを念頭に置いてください。

Javaに関しては、私はJavaが大好きです。ほとんどのコンピューターにはJavaフレームワークがインストールされており、(私の意見では)c#よりも簡単です。これは「すべてを一度に構築する」というアイデアで作成されたため、互換性が主要な要素である場合は、Javaが最適です。私は個人的にEclipseIDEを使用していますが、すべてのOS用のビルドがあります。Netbeansよりも軽いと思います。EclipseはC#も実行できます

Monoに関しては、Windows用にビルドするだけの場合はこれを使用しないでください。また、Linuxを使用していて、Windows用にビルドする必要がある場合は、VMを使用することをお勧めします。

于 2012-10-17T12:07:18.860 に答える
2

明らかに、Javaで書かれたクロスプラットフォームアプリはたくさんあります。また、Monoで書かれたものもかなりあります。iOSやAndroidをターゲットにするためにMonoを使用したモバイル開発がかなりあるようです。

プラットフォーム(ハードウェアやOS)に固有のものはすべて、別のプラットフォームでは少なくともわずかに異なる動作をする可能性があります。したがって、スレッド化とロックの動作がプラットフォーム間で同一ではないこと、またはJVMの実装が異なること(「一度書き込み、どこでもテスト」)が行われることは驚くことではありません。開発者は、大幅な変更を行うことがあります。

これについてはMono/.NETではあまり耳にしませんが、これは主に.NETがWindowsに固有であり、MonoコミュニティがUNIX/Linuxスペース以外のJavaコミュニティよりも小さいためです。

しかし、本当のこだわりは、通信ポートのドライバーである可能性が高いと思います。それらはターゲットシステム上に存在する必要があります(つまり、誰かがそれらを移植する必要があります)...そしてスループットとレイテンシーはハードウェア/OS/バージョンによっておそらく大きく異なる可能性があります。

だから私はあなたが望む種類のことをするためにどんな種類のサンプル/オープンソースコードがそこにあるか(もしあれば)をチェックすることから始めます-特に通信ポート(仮想かどうか)とのインターフェース。それはあなたに難易度の相対的なレベルの感触を与えるはずです。

次に、数秒ごとにポートをポーリングする単純な「コンソール」アプリを作成してみてください。両方の方法でそれを行い、どちらがより良い「感じ」かを確認してください。

于 2012-10-17T12:21:14.460 に答える
1

言語としてC#を使用し、フレームワークとして.NET / Monoを使用することをお勧めします(これはほとんど同じIMHOです)。しかし、これは哲学的な質問です。多くの人がJavaを好み、他の人はC#/。NETを好みます。どちらもC#の経験が豊富なので、そこにとどまるほうがよいでしょう。

複数の環境があります。あなたが考えるかもしれない。

私はすでにそれらすべてと協力しました。

私の個人的な経験では、.NET/Mono用のクロスプラットフォームコードを書くことはそれほど難しくありません。

于 2012-10-17T11:59:44.877 に答える