3

いくつかのクロス プラットフォーム ライブラリを推奨するのは簡単です。

しかし、製品ごとに各プラットフォームを個別に扱う利点はありますか?

はい、すべてのプラットフォームで使用される基本ライブラリがいくつかありますが、UI やその他の要素はプラットフォームごとに異なります。

製品が各プラットフォームで 100% 同一でなければならないという制限はありません。

Mac、Linux、および Windows がターゲット プラットフォームです。

重い win32 API、MFC は Windows 版で既に使用されています。

私がクロス プラットフォーム ライブラリに完全に賛成していない理由は、すべてのプラットフォームに一般化しようとすると、最終製品が少し苦労するだろうと感じているからです。

4

6 に答える 6

14

各プラットフォームの個別開発のメリットは次のとおりです。

- ネイティブなルック アンド フィール

- 開発者が取得したプラットフォームの知識

-... 私はアイデアがありません

真剣に、注意を怠ると、アプリケーションの 3 つの個別のコピーを開発および維持するコストが膨大になる可能性があります。

懸念しているのが GUI コードだけである場合は、必ず GUI 部分をプラットフォームごとの開発作業に分離してください。ただし、コアの「ビジネス ロジック」タイプのコードを共通にしないと後悔するでしょう。

また、GUI をロジックから分離しておくことは一般的には良い考えであると考えられているため、必然的に「ほんの少し」のビジネス ロジックをプレゼンテーション レイヤーに入れたいという誘惑が生じたときに、開発者はその分離を維持する必要があります。

于 2008-09-30T04:24:16.347 に答える
2

私は利点を次のように見ています

  • すべてのプラットフォームで完全にネイティブな動作を実現できることは、エンド ユーザーにとって良いことです

そのリスクは

  • 1 つではなく 3 つのアプリをコーディングすることになるかもしれませんが、いくつかの違いがあります (つまり、X も別の方法でやりましょう!)。
  • 気付かないうちに、異なる OS バージョン間でわずかな非互換性が作成されます。
  • メンテナンス コストは、所有するさまざまなコードの量に比例して影響を受けます。

したがって、リスクを考慮に入れることで、可能な限り最大の共通コア (リスク 1 の誘惑への抵抗)、すべてのプラットフォーム用の優れた統合テスト セット (リスク 2 の最小化) を備えた、優れたネイティブ動作アプリを開発できます。ネイティブの動作を実現するために必要なコードの量を減らす (リスク 3 に対処する)

于 2008-09-30T04:26:04.753 に答える
1

また、プラットフォームの違いや、あるプラットフォームのすべての機能が別のプラットフォームで利用できるかどうかにも依存します。Win32プラットフォーム、Windows CEとモバイル、およびさまざまな組み込みプラットフォームで利用可能なバージョンを持つツールを開発しています。製品のいくつかの側面は、一致するハードウェアを備えていないプラットフォームには関係ありません。たとえば、私は現在[リンクテキスト]フィールドベースの土地調査製品1に取り組んでいますこれは、GPSやトータルステーションなどのさまざまな測定デバイスで動作し、さまざまなプラットフォームでBluetooth、RS232、無線モデムなどのさまざまな通信メディアを使用します。私が現在取り組んでいる特定のバージョンは、比較的小さな画面とキーボード、および非常に限られたメモリとストレージを備えた測定デバイスでオンボードでホストされます。他のデバイスに関連する機能を含めても意味がありません。ユーザーにとって、インターフェイスを可能な限りシンプルかつ合理化しておくことは非常に有益です。

一部のドメインでは、合理化されたユーザーインターフェイス、小さな実行可能ファイル、およびブロートウェアに対するゼロトレランスが依然として最も重要です。確かに多くの共通ソースがありますが、ターゲット固有のソースと条件付きコンパイルもたくさんあります。

于 2008-09-30T06:25:31.533 に答える
1

これが魅力的であることは否定できませんが、確かに妥協点の問題が生じます。もちろん、いくつかのバックエンド コードを共有しますが、デザインとコードの両方の観点から、UI 側でどれだけ共有でき、何を共有するのでしょうか?

これは個々のケースの問題だと思います。通常、それはおそらく価値がありませんが、いくつかの特定のプラットフォーム上の特定のアプリケーションは、そのオペレーティング システムの詳細をターゲットにする必要があります。

于 2008-09-30T04:18:55.923 に答える
1

はい、クロスプラットフォーム UI ライブラリは常に、少なくとも 1 つのプラットフォームでプログラムの外観や動作を少し「奇妙」にします。

UI コードと内部がうまく分離されていれば、UI 以外のコードを再利用して、プラットフォームごとに最適化されたユーザー インターフェイスを作成することはそれほど難しくありません。高予算のクロスプラットフォーム アプリケーションの多くは、まさにこの方法で作成されています。

于 2008-09-30T04:23:04.090 に答える
0

クライアント プログラム (つまり、Web サーバー プログラムではない) の場合、優れた Mac および Linux 開発者を見つけるのはかなり難しく、優れた Windows 開発者を見つけるのは実際には簡単ではありません。

プラットフォームに依存しないコードが多ければ多いほど、3 つのプラットフォームすべてでプロジェクトを完成させるのがより簡単かつ迅速になります。

3 つのコードベースを維持するのは、費用がかかり、リスクが高くなります。クロス プラットフォーム ツールを使用する競合他社は、常に市場であなたを打ち負かします。

于 2008-11-20T15:58:19.917 に答える