3

私は夏の間、大規模なアプリケーションを完全に書き直して、より現代的でクロスプラットフォームとの互換性を持たせるプロジェクトを行っています。Windows、OS X、および iPad で実行する必要があります。iPad のビルドが優先されます。将来的にもWebアプリに変換するのはかなり簡単であることが好ましい.

私の現在の計画は、HTML/CSS/JS ですべての GUI を実行し、Chrome Embedded Framework を使用してページをレンダリングし、インタラクティブ性を処理することです。このように、すべての UI がクロス プラットフォームであり、プラットフォーム固有のコードを記述して表示するだけです。また、Web に移植した場合、ほとんどの UI は既に Web 互換の形式になっていることも意味します。アプリケーション コード自体の残りの部分も、純粋な C++ だけで、ほぼクロス プラットフォームにする必要があります。iPad 用の CEF はないので、UIWebView クラスを使用して同じことを行うことを検討しています。iPad で HTML を GUI として使用することについて、あなたの見解を知りたいです。

私の主な懸念事項は次のとおりです。

  • パフォーマンス - UIWebView を GUI に使用する限り、そのパフォーマンス特性がどのようなものかはわかりません。多くのインタラクティブなダイアログがあり、アニメーションも必要です。Javascript から Objective-C に通信する方法について調査しましたが、最も一般的な方法 (ドキュメントの場所を MyApp:// などのカスタム URL に設定し、文字列からメッセージを抽出する) は非常に遅いようです。 .

  • 使いやすさ - iOS ユーザーは、特定の標準の対話機能に慣れています (たとえば、非常にスムーズな遷移、ドラッグ可能なサイドバー、すべてが高速で洗練されているなど)。CEF を使用して Windows/OS X でこれを実行できると確信していますが、iPad についてはわかりません。

御時間ありがとうございます!

4

4 に答える 4

1

デスクトップと iOS には HTML を使用することにしました。3 つの別々のプロジェクトを作成することはそれほど難しくなく、HTML を使用してレンダリングすることで、クロス プラットフォームの問題のほとんどが解決されます。ご回答ありがとうございます。

于 2012-05-08T16:27:13.297 に答える
1

XCode の最新バージョン (そうしないと、Mac OS X または iOS の App Store に公開できません) と C++ を搭載した Mac を使用していると思います。それはさておき、最善の策は、2 つの異なるツールキットを使用することです。Windows と Mac OS X 用の WxWidgets (両方のプラットフォームにネイティブのルック アンド フィールを提供) と、iPad 用の標準 iOS ツールキットをお勧めします。

両方のプラットフォームで単一のツールキットを使用する場合の問題は、それらが互いに互換性がないことです。GUI に HTML5/CSS3/Javascript を使用することは可能ですが、3 つの個別のプロジェクト (プラットフォームごとに 1 つ) を作成する必要があります。ただし、HTML/CSS を使用してデスクトップ アプリケーションを作成するために使用できるツールキットがあることは知っていますが、モバイル デバイスとの互換性はないと思います。

企業が iOS、Android、Windows、Mac OS X、さらには Linux 向けのアプリケーションをどのように作成しているのか疑問に思っているなら、そのプラットフォームに特化した開発者が 2 人いるのではないでしょうか。つまり、Windows 開発者のグループ、Mac OS X 開発者の別のグループなどです。WxWidgets や Qt などのクロスプラットフォーム ツールキットを使用している場合、さまざまなデスクトップ開発者グループが単一のデスクトップ開発者グループに統合されることがあります。

プロジェクトに取り組んでいる人数が少ない場合、デスクトップおよびモバイル アプリケーションを作成するのは困難です。

于 2012-05-07T21:26:37.813 に答える
0

Embarcadero によって (ある程度) サポートされている商用の FireMonkey を試すことができます。ハイライトは、クロスプラットフォームのコンパイルとデバッグ (!)、Mac OS と Windows での完全に類似した動作 (iOS は動作しますが、通常は別のフォームが必要です)、完全にベクトル化された (!!) ユーザー インターフェイスです。また、3D で回転し、3D を完全にサポート (!!!) し、アニメーションとエフェクトをライブラリに組み込みます。ただし、必ずしもビジネス アプリケーションに適合するとは限りません。これは、非常に優れた非常に高速な RAD によって補完されます。

欠点は、コミュニティが比較的小さいことと、フォルダー選択ダイアログ、トレイ アイコンのサポート、その他のアイテムなど、いくつかの欠陥やバージョン 2 のままのコンポーネントの欠落です。プラットフォームで質問を検索することをお勧めします。C++ または Delphi Object Pascal で Firemonkey 用に記述できます。

于 2013-02-18T07:17:40.063 に答える
0

確かに、iPad で HTML5/CSS/JS GUI を使用できます。これを支援する GUI フレームワークもあります。私が知っているのはエンヨです。他にもたくさんあります。

これらのテクノロジに基づいて構築された GUI の優れた点は、多くの場合、Web ブラウザーを使用してデスクトップ上で開発できることです。

iOS デバイスにデプロイする場合は、GUI を手動で配置するか、 phonegapUIWebViewを使用して面倒な作業を処理し、Android や iOS 以外の他のモバイル プラットフォームで公開するオプションも提供します。同じソースから。

デスクトップ バージョンの場合、同じ GUI が組み込みブラウザ ウィンドウ内で機能するかどうかを評価することができます。携帯電話やタブレットのハードウェアに依存しない Enyo アプリは、デスクトップの Web ブラウザ内でうまく動作しますが、デスクトップで使用するには GUI が奇妙に感じるかもしれません。より伝統的なものを構築する必要がある場合、パワーと最高のネイティブ ルック アンド フィールが必要な場合はQtを、シンプルさが必要な場合はFLTKをお勧めします。どちらのフレームワークも、Windows、OS X、および Linux で実行されます。

于 2012-05-08T05:09:13.100 に答える