2

WindowsとMacOSXの両方で実行されるソフトウェアを作成しようとしています。これは、Dropboxのクライアントと非常によく似たソフトウェアです。以下に特徴を示します。

  1. UIは複雑ではありません。ユーザー操作のほとんどは、構成と監視ソフトウェアのステータスです
  2. システムと通信して、システムのパフォーマンス(CPUの使用率、ネットワーク帯域幅の使用率など)を取得する必要があります。
  3. システムリソース(CPU、メモリ、IO)をできるだけ少なく使用する

だから私の質問は、どの言語、フレームワークを使うべきかということです。言語/フレームワークは次のようにする必要があります。1。コアコードは、WindowsとMacOSXの両方でコードレベルで再利用できる必要があります。コードレベルとは、コードをクロスプラットフォームで実行できることを意味しますが、各OSプラットフォームでコードを再コンパイルしてもかまいません。

  1. コアコードレイヤーは、MacOSのcocoaobjective-cコードやWindowsのC++コードなど、OS固有のコードと非常に簡単に統合できます。その理由は、OS固有の言語で2つの異なるUIビューレイヤーを作成したいからです。
  2. コードをJavaのような解釈命令ではなく、ネイティブ命令にコンパイルできると、より良い結果が得られます。これはパフォーマンスを考慮したものです。
  3. 繰り返しますが、できるだけ速く、できるだけ小さくします。
  4. 私はLISPファミリーが好きですが、必須ではありません。
4

2 に答える 2

0

シンプルで「正しい」解決策はないと思います。

C++/C を使用するのが良いと思います:

- you will have to use OS-specific API and code to 'talk to system'
- you would use QT, but you want to use 'as less as possible resources' - this is not about QT

大したプロジェクトではないようです。したがって、C++ またはプレーン C を使用して開発する方がよいと思います (いずれかが得意な場合)。

OS 固有のコードを個別の関数/クラスに記述できます。次に、汎用クラス/関数を記述して抽象化します。

#define と #ifdef を使用してクロスプラットフォームにすることができます (確かに、プラットフォームごとに再コンパイルする必要があります)。

MacOS と Win 用のクロスプラットフォームで非常に小さなアプリケーションを作成する必要がある場合は、これが唯一の方法だと思います。

更新しました

LISP で。まず、LISP マシンが必要です。Windows用にEXEファイルにコンパイルしたとしても、「システムリソースの使用を可能な限り少なくする」ことはできません。

また、Dropbox クライアントに似ている場合は、サービス/デーモンとして実行する必要があります。そのようなタスクに LISP を使用するのは適切ではないと思います。

于 2012-10-12T06:45:49.447 に答える