この記事では、MonoTouchを使用したモノラルとネイティブのObjective-Cで1つのプロジェクトを同時に開発した少しの経験についてお話したいと思います。
プロジェクトの説明
1つのiPhoneアプリケーションに対して、美しいページめくり効果を開発する必要がありました。 行う必要があることの良い例が、Silverlightアプリケーションとしてインターネット上で見つかりました。
オプション#1:Mono + MonoTouch
Monoが何であるかを言う必要はないと思います。
MonoTouchを使用すると、C#でアプリケーションを作成し、iPhone用にコンパイルしたり、.NETライブラリを使用したりできます。
ソフトウェアのフルセット:
* Apple Mac OS X
* Mac OS X用Monoをインストール
* MonoDevelop
* MonoTouch
まず、Silverlightソースコードはmacosで問題なくコンパイルされ、Safariで起動されました(macosのSilverlightはすでにMoonlightです )。 それは良い兆候でした。
MonoTouchプロジェクトが作成され、クロスプラットフォームのコピー&ペースト技術を使用して、アプリケーションの80%が作成されました。 残りのコードの適応には約2日かかり、その後アプリケーションの最初のバージョンがデモされました。 アプリケーションが迅速に機能したことに注意してください(主に画像変換に使用された数学的計算で構成されていました)。
残念ながら、MonoTouchバージョンは顧客に適さず、ネイティブのObjective-Cで記述されたアプリケーションが必要でした。
オプション#2:iPhone SDK + Objective-C
C#からObjective-Cへのコードは日中に書き直され、その後...アプリケーションはひどく遅くなり始めました。 さらに2日間はメモリリークとの戦いといくつかのローカル変数のリリースの作成に費やされ、その後、アプリケーションは同様に動作し始めました。
ここでは、停止して余談をする必要があります。
結論
したがって、この状況で次の結論を出しました。
*上記のツールの使用を開始するために、中毒や追加のマニュアルは必要ありません(Xcodeの場合)。
*アフィリエイトであり、C#とMonoTouchで書く機会がある場合-より良くすれば、多くの問題からあなたを救うでしょう。
*モノ-誰かが考えたいようなプラットフォームではありません。
* MonoTouchは若い製品であるという事実にもかかわらず、この製品を使用する機能に関連するネットワーク上にはすでに多くの資料があります。
*実際には、iPhone SDKを使用しますが、C#構文と.NET機能を使用します(たとえば、[string1 stringByAppendingString:string2]の代わりにstring1 + string2);
* MonoDevelopの使いやすさは、Xcodeよりもはるかに高くなっています。
この小さな経験が、将来あなたがiPhoneアプリケーションを開発するためのツールを選択するときに役立つことを願っています(あなたがアフィリエイトである場合)。
PS結果として、OpenGL ESが実装に選択されました。これは、デバイス上での効果が非常に遅かったためです。