2016-12-22 9 views
0

私はもはや私と一緒に働いていない別の開発者によって書かれたWindowsサービスを持っています。これは.NET 4.5の要件を持つC#で書かれています。私たちのソリューションはLinuxへの移行を進めており、デーモンは必然的に変換する必要があります。C++またはJavaのLinux Deamon?

私のジレンマは何を書き換えるのですか? C++またはJava?デーモンは複雑ではありません。これは単に他のアプリケーションがクラッシュしたり、再起動したかどうかを確認するコントローラです。それとは別に、名前付きパイプを介してヘルスチェックを行い、別の管理Tomcat Webインターフェイスを介してパスワードで保護されたWebソケットを介して制御され、すべてのログにログを書き込みます。

"あなたが最も快適なものを書く"という提案は控えておいてください。両方の言語でかなりの経験と知識があり、私が必要とするものは何でも学びます。私の懸念事項は、必要なすべてを達成するための実現可能性と努力です。私は特定の時間的制約はありませんが、一方の言語が他方の時間の一部分よりも短い場合は、それがより良い解決策になるかもしれません。

現在、Javaで記述するのが最も簡単な解決策ですが、C++で記述すると、ネイティブでないコードであるという利点があります。しかし、以前はC++でWebインターフェイスやソケットコードを書いたことはありませんでした。そのため、それに伴う労力は分かりません。

打破するために私の要件:

  • Linuxの
  • 既存のコードのクライアントアプリケーションと通信するための
  • 名前付きパイプが必要 が重くリファクタリングする
  • 制御用
  • Webインタフェース

C++やJavaはより適切ですか?

編集:追加の詳細情報

EDIT2:私はコードが重くとにかくリファクタリングする必要があることを言及している必要がありますね。もともとは、変更や追加が難しいように書かれていました。したがって、この時点では書き換えはよりクリーンな解決策です。私が言及したように、それは大きなプログラムではありません。ちょうどコントローラサービス。

+0

おそらくあなたはあなたのリストに "C#With .NET Core"を追加します。 – BradleyDotNET

+1

それをC#で放置するのではなく、Javaで書くのは簡単でしょうか?私はその中に論理を持っていません。すでにC#で書かれています。それをC#に残すより簡単なことは何ですか? – itsme86

+0

この質問はこのサイトの話題とはかけ離れているようです。 –

答えて

2

解決策を.NETコアに移植することができます。これはLinux(そしてすべての目的と目的のためにMac)上で動作し、コードベースのほとんどは最小のリファクタリングを必要とするかもしれません。唯一懸念されるのは、.Net Coreに現在アプリでサポートが必要な機能がある場合です。そして、.Net Coreはまだプレビュー中です。

+0

「プレビュー」はちょっと違うかもしれませんが、 RTMです。 https://blogs.msdn.microsoft.com/webdev/2016/11/16/announcing-asp-net-core-1-1/ – BradleyDotNET

+0

@BradleyDotNETそうですが、これはASP.NET Coreにのみ適用されます。上で動作するモジュラーフレームワークです。 NETと.NETコア。 .Net Coreフレームワークは現在プレビュー4になっています。 – SiriusBits

+0

プレビューにはまだSDKがあります:https://github.com/dotnet/core/releasesのように見えますが、バージョンが必ずしも整列しているとは限りません – BradleyDotNET

関連する問題