4

私は長年の Windows 開発者であり、Windows アプリの Mac への移植に携わる予定です。

両側の GUI に Flex/Air を使用することにしました。

私の Windows アプリケーションには、ネットワーク アダプタ (有線および無線) を制御する C++ DLL があります。これは標準ライブラリと Boost を使用して記述されているため、ほとんどの場合、クロス プラットフォームで動作するはずです。

Mac で C++ を書きたい場合、ほとんどの人はどの IDE/コンパイラを使用しますか? また、WiFi アダプターを制御できる Mac の API (関連付け、スキャン、切断など) へのポインターを誰かが提供できますか?

4

5 に答える 5

9

Xcode は Mac OS X 用の IDE です。無料のオンライン メンバーシップで Apple Developer Connection に参加することで、最新バージョンをダウンロードできます。

ワイヤレス ネットワーク アダプターを制御するための API がサポートされているとは思えません。最も近いのは System Configuration フレームワークですが、それでやりたいことがすべてできるかどうかはわかりません。

また、アプリケーションのユーザー エクスペリエンスに Flex/Air を使用しないことを強くお勧めします。Windows 開発者として Windows を使用するのは巧妙に見えるかもしれませんが、完全な Macintosh ユーザー エクスペリエンスを提供することになると、そのようなテクノロジは必ずしも優れた選択肢ではありません。

一例を挙げると、Air アプリケーションは Mac OS X のテキスト編集キーストロークの全範囲をサポートしていないと思います。すべての Mac ユーザーがすべてのキーストロークを使用するわけではありませんが、(たとえば) control-A と control-E を処理しないテキスト フィールドに入力してフィールドの最初と最後に移動しようとすることに慣れている人々にとっては、水泳のようなものです。シロップを通して。

クロスプラットフォームである必要がある新しいアプリケーションの場合、各プラットフォームで最高のユーザー エクスペリエンスを得るために、Mac では Cocoa を使用し、Windows では WPF を使用しながら、コア ロジックを C++ で構築することを強く検討します。Mac OS X と Windows の両方に、それぞれのユーザーが慣れ親しんでいる最新のネイティブ ユーザー エクスペリエンス テクノロジがあり、C++ コードがこれらのテクノロジと相互運用するための優れた方法もあります。

于 2008-11-02T21:02:08.663 に答える
3

事実上の OS X IDE およびコンパイラはXcodeです。すべての Mac に付属しており、OS X インストール CD からインストールするだけです。

Apple の開発者向けサイトでは、OS X API に関する詳細情報を入手できます

于 2008-10-31T14:46:38.983 に答える
1

XcodeとカスタムGCCだと思います...

于 2008-10-31T14:47:15.113 に答える
0

人々がすでに指摘しているように、xcodeはホットです。

過去に Windows/Mac のコードベースを維持していたので、MVCを見てください。

バックグラウンド ロジックを UI やプラットフォーム固有のもの (ファイル処理、ネットワーク、画面への描画など) と区別しておく限りは。そうすれば、将来 Linux に移行したいときに、プラットフォーム固有のコンポーネントを作成するだけで済みます。

Mac のネットワークに関しては、接続などのレベルですか? OSにそれを処理させてから、利用可能な接続を確認してみませんか? 接続が有線か無線かを気にする必要はありません。OS にはすでにこれらのツールが多数組み込まれており、ユーザーは接続が機能していることを確認することに慣れているため、ネットワークを操作するための追加のプログラムを用意するのは奇妙に思えます。

于 2008-10-31T15:13:10.583 に答える
0

私が知っている限り、Xcode はよく使われます。コンビネーション エディター (例: Textmate ) を知っている限り、コマンド ライン gcc もかなり頻繁に使用されます。(それは私がOS Xでやっていることです)

すべての API のニーズについては、ネットワークAPI などのApple の開発者サイトにアクセスしてください。

于 2008-10-31T15:00:47.800 に答える