モバイルデバイス向けのデータ集約型アプリケーションの開発を検討しています。私たちの中心的な問題は
私たちは開発の3つの可能性を考えました
オフラインアプリケーションキャッシュを利用するHTML5ローカルストレージを使用するWebアプリケーション。ローカルストレージの上限は5 MBですが、ブラウザによってはこれが2.5 MBに下がる場合があります
PhoneGap を介してWebアプリケーションを作成し、ネイティブアプリを作成します。ここでの大きな利点は、ストレージにファイルシステムを使用できることです。欠点は、App Store(特にiOSの場合)を経由する必要があることです-Appleへのサブスクリプションアプリの30%の収益
私たちは MonoTouch を使用してアプリを構築しますAndroidおよびiOS。良い-C#および.Netでこれを行うことができます。悪い-ブラックベリーなし
質問
この場合、PhoneGapよりもMonoTouchを使用することの真の利点を見つけるのに苦労しています。彼らは何ですか?それらはありますか?
この例の例として、データをファイルシステムに保存することは非常に便利ですが、電話ギャップが Fileオブジェクト を介してこれを実行できると思います。明らかに、monoTouchはSystem.IOを活用します。
MonoTouchに明確な追加機能が存在するインスタンスはありますか-特にモバイル開発に役立つ機能、例えばジオロケーションまたはカメラタイプ機能?または、電話のギャップはこれらすべてをほぼカバーしていますか?.
生意気な追加の質問
私が見落とした他のオプションや、私が説明した3つのアプローチについて、忘れていた他の主な利点/欠点はありますか?
皆の専門知識をありがとう
MonoTouchで記述された非常にデータ集約型のアプリが完成しました。アプリは中間層を介してSAPデータにアクセスし、これをアプリで公開します。また、同じ中間層を介して、アプリからSAPに直接更新することもできます。
これをWindows Phoneに移植し、Android MonoDroidを使用しています。
上司にMonoTouchが先を行く道であると納得させるのにしばらく時間がかかり、jQuery mobile、ExtJS、Obj Cなどのいくつかの異なる製品を事前に試しました。
私が彼を説得しようとしたのは、Attachmateを買収したときであり、MonoTouchが破滅したように見えた。幸運なことに、私(私)にとって、Xamarinは炎のことわざのフェニックスのように立ち上がり、Mono *を現在の状態に発展させ続けました。
C#開発者(およびMono愛好家)として、Obj CまたはHTML/JavaScriptのいずれかに対する主な勝利は、C#を使用して仕事を遂行できるという事実でした。ドキュメンテーションはとても良かった、そしてドコがそれを完全にカットしなかったとき(最近更新された)、コミュニティはそれをした。
IRCチャネルは非常にアクティブで、Xamarinの従業員とコミュニティエバンジェリストは常に問題を支援したり洞察を提供したりします。メーリングリストもそうです。
もう1つのプラスは、MTを中心に成長しているエコシステムです。 MT.Dialogは、対応するXCodeと比較して、テーブルベースのUIの開発を非常に簡単にします。これと組み合わせて、確かにSilverlightに基づくサブセットである.Net BCLですが、シリアル化、電子メールから暗号化などすべてを備えています。Netでカバーされていない場合、または特定のMono *プロジェクトがない場合、MTコードでObjCプラグインを使用できます。
MTには証明済みのプラットフォームとして「まだ証明されていない」という意見はありません。私たちはそれを使用しており、比較的小規模な会社ですが、それを使用している大規模な会社もたくさんあります。A Appleで紹介されているアプリのいくつかは、MTで書かれていると伝えられています。
客観的であり続けるために、私にとってMonoTouchの2つの「短所」は、ObjCを読み取ることができる必要があるということです(ただし、tbh、私はこれを短所とは見なしていません...「C#」開発者としてとにかく私はたくさんの言語を読み書きできる必要があります)、そして歴史的に、MonoDevelopは少しバグが多いという事実。主要なバグはつぶされているようで、オープンソースプロジェクトなので、いつでも修正して他の人たちを助けることができます!
あなたの懸念に答えるには:
C#で.NetのSystem.IOクラスを使用します。これらが不明な場合は、MSDNに多数の例があります(MTはファイルストレージのiOS実装を非表示にします)。
彼らはすべてこれを行うことができますが、ネイティブアプリは私の意見では常に気分が良くなるでしょう。
MonoTouchはC#です-あなたの強みを活かして、数か月ではなく数週間でアプリを入手してください!
私の2ペニー!何度も何度も同じルートを選ぶのをためらうことはありません。
しばらく(WP7で)PhoneGapを使用しましたが、MonoTouchは使用していませんが、C#/ Silverlight開発者としての経験があります。
MonoTouchのいくつかの利点:
MonoTouchのいくつかの欠点:
PhoneGapの利点:
PhoneGapの短所:
要約すると、難しい選択です!
個人的にはPhoneGapを使用しますが、ではありません特定のOSのルックアンドフィールをエミュレートしようとするのではなく、アプリケーションにうまく機能する独自のUIを作成しますすべてのプラットフォームで使用します。
昨日(2012年2月8日)にリリースされたMonoTouchの新しいリリース-5.2。 iOSアプリの開発をより簡単かつ迅速にするためのたくさんの新機能。詳細はこちらからアクセスできます: http://blog.xamarin.com/
MonoTouchを特に興味深いテクノロジーにする1つのことは、インターネット接続を必要とせずに実行できる、かなり洗練された高度なアプリを開発できることです。それは大事なことです。