4

Windows Mobile で実行される基幹業務アプリがあります。これは、ローカルの SQL CE データベースを備えた Winforms アプリであり、サーバー上で実行されている WCF Web サービスからデータを取得します。

現在、お客様から「iPhone/iPad/Android/Phone 7 などのバージョンを作成してみませんか?」という問い合わせが常に寄せられています。私の上司は、これがどれほど難しいか尋ねました。私の最初の答えは非常に難しいものです。なぜなら、おそらく私だけがその仕事をしているからです。Visual Studio の幸せな場所以外での経験はありません。

今、MonoTouch と MonoDroid に出会いました。それらは簡単な解決策を提供しているように見えますが、多くの問題があると確信しています。Android用にアプリをコンパイルできるとは思えません。

私は、それは大変な作業であり、唯一の現実的な解決策は、異なる画面解像度に対応する各ページの複数のバージョンを持つモバイル Web サイトであると提案する傾向があります。残念ながら、既存のアプリにはローカル データベースがあり、「時々接続される」ので、それではうまくいきません。

膨大な時間を無駄にする前に、提案やヒントはありますか?

乾杯
マーク

4

3 に答える 3

8

Android用にアプリをコンパイルできるとは思えません

それは正しいです; あなたはしません。

背景: MonoTouchMono for Androidの設計哲学は、iOS と Android に "コア" .NET と C# のエクスペリエンスをもたらすと同時に、特定の各プラットフォームの基礎となる機能を公開することです。PhoneGapとTitaniumは基盤となるプラットフォームを抽象化しますが (「一度書き込めばどこでも実行できる」雰囲気を実現するため)、MonoTouch と Mono for Android はプラットフォームの抽象化を提供せず、基盤となるプラットフォームの型とメンバーを直接公開します。

その結果、MonoTouch プログラムは、基礎となる CocoaTouch UIButtonタイプを直接ラップするMonoTouch.UIKit.UIButtonを使用します。

同様に、Mono for Android プログラムは、基になる Android android.app.Activityタイプを直接ラップするAndroid.App.Activityを使用します。

両方のプラットフォームに共通するのは、.NET、.NET CF、Silverlight、Windows Phone 7、Mono で見られる「コア」フレームワークの名前空間と型Systemです。 to-XML)など。たとえば、Mono for Android に含まれるアセンブリを参照してください。System.Collections.GenericSystem.LinqSystem.Xml.LinqSystem.IO

では、既存の Windows Mobile アプリをそのまま Android で使用できますか? いいえ、Mono for Android は を提供していないためSystem.Windows.Formsです。

ただし、モデル/ビュー/コントローラーの設計パターン (または MVVM など) に従うように既存のコードをリファクタリングし、UI (ビュー) を抽象化して、さまざまなプラットフォームに置き換えることができるようにすることは可能です。たとえば、MonoTouch を使用した iOS UI、XAML を使用した WP7 UI、Mono for Android を使用した Android UI、ASP.NET MVC を使用した HTML UI などです。ただし、選択したプラットフォームと一貫性のあるネイティブ ユーザー インターフェイスをユーザーに提供できます。

たとえば、iOS、Android、および WP7 にプラットフォーム固有の UI を提供しながら、共通のコード ベースを利用するMIX11 Conference Appsを参照してください。

于 2011-04-28T14:10:55.603 に答える
1

チタンとphonegapを見てください。

于 2011-04-28T07:23:26.220 に答える
0

私の提案は、WP7 をざっと見てみることです。飛び込むのは非常に簡単です。Visual Studio (実際に行っています) とあらゆる種類の C# の経験があればなおさらです。そうすれば、C# アプリケーションを開発するのにかかる時間をより簡単に推測できるはずです (そして、MonoDroid を使用して Android に移植することもできます)。

はい、Titanium と PhoneGap はオプションですが、個人的には MonoDroid の方が見栄えが良いと思います。

最もリクエストが多いのはどのプラットフォームですか? Androidが最も可能性が高いと思われるので、私はAndroidを推測しています。MonoDroid は本当に堅実だと多くの人が言っているのを見てきました。

于 2011-04-28T07:47:49.813 に答える