2

iPhone / iPadをサポートする分散アプリケーションフレームワーク(商用でも大丈夫です)はありますか?

フレームワークで私が探しているもの:

  • アプリケーションロジックに集中できます
  • 「低レベル」のネットワークプログラミングをコーディングする必要はありません(何度もやりすぎたので、もう一度やりたくない= p)
  • 積極的に維持する必要があります(人気があるといいでしょう)

基本的に、私はそれからより速く開発することができます。

多くのiPhone/iPadクライアント(30以上)がLAN経由で単一のサーバーに接続されているソフトリアルタイムTCP/IPクライアント/サーバーアプリケーションを開発する予定です。サーバーはほとんどの場合Windowsを実行します(フレームワークがWindowsをサポートしていない場合を除く)。

私は周りを見回していて、私は見ます:

私はまだObjective-CとMonoTouchのどちらを使用するかを決定していますが、.NET Frameworkを入手し、Macの世界だけに縛られることはないので、MonoTouchに傾倒しています。

私の質問に関係のないものを追加した場合は、遠慮なくコメントしてください---私はiPhone/iPadの世界に不慣れです。

4

4 に答える 4

2

要件をもう少し明確にする必要があります。REST APIを介したオブジェクトのシリアル化(脱水/水和)のみが必要な場合は、POXまたはJSONをサポートするものであれば何でも問題なく機能します。ただし、認証、暗号化/デジタル署名、トランザクションなどを使用したRPCスタイルのメソッド呼び出しが必要な場合は、上記のフレームワークのいずれかが必要です。

フレームワークが必要な場合は、後でクライアントを他のプラットフォーム(Windows Phone 7など)に移動できるようにするため、個人的にはMonoTouchWCFを使用します。繰り返しになりますが、あなたが言ったように、今は少し荒いです。Monoチームが将来、それを維持するために投資するリソースがないと判断した場合、別のフレームワークに移行しなければならない可能性があります。もちろん、アプリケーションにMonoTouchを使用する必要があり、Objective-Cを使用できないという欠点もあります。確かに、iOS開発者契約の最近の変更により、それはそれほど問題ではありませんが、それでも覚えておくべきことがあります。

(免責事項:私は以前MicrosoftのWCFチームで働いていたので、製品自体に偏っています)

私が選ぶ他のオプションは、Cocoa分散オブジェクトです。ただし、サーバーがOS Xでも実行されている場合は、それが私の選択です。Bonjourfor Windowsがあることは知っていますが、サーバーシナリオ用に最適化されているとは思えません。また、その上にAppleのRPC実装がどれほど豊富かもわかりません。 Windowsプラットフォーム用。ですから、私がAppleのプラットフォーム専用に構築している場合にのみ、Appleのテクノロジーを使い続けるでしょう。

WCFと分散オブジェクトはRPCスタイルの機能を提供しますが、特定のシナリオでは役立ちません。プレゼンス情報やマルチユーザーチャットが必要な場合など、さらに高いレベルの抽象化が必要/必要な場合でも、それらを自分で実装する必要があります。この時点で、これらの機能を提供するフレームワークを検討する価値があるかもしれません。例としては、RakNet(上記にリストしたもの)があります。これは、リモーティングレベルを抽象化し、その上に追加機能を構築します。

于 2010-09-14T22:52:44.140 に答える
2

私たちはWCF/Monotouchを使用して大成功を収めました。f/workには100%の領域がいくつかありますが、ほとんどの場合、MonotouchでWCFを使用するのは簡単です。

monodroidとmonotouchとwm7の間ですべてのデータ同期、モデル、テストなどを共有する機能は非常に優れています(一部の作業では、これは簡単に可能ですが、複数のprjファイルを管理する必要があります)。

wcfサービスへの呼び出しを正しく管理し、それらを最小限に抑え、アーキテクチャをシンプルに保つように注意してください。データを同期するためのwcfサービスへの呼び出しの量を最小限に抑えるために、かなり複雑なdtoになりました。これは、デバイスを最初から同期するために必要な時間が今ではほんの一部であるため、それだけの価値があります。

SSLを使用してサーバーと通信することはPITAですが、それはAppleがサーバーを管理する方法のより多くのケースだと思います。

于 2010-09-16T09:05:56.457 に答える
2

必要なすべてのサーバー側を提供するJSONTouch + Vitche PHPEmissionFrameworkを使用できます。また、そのフレームワークを使用して、既存のSOAP(WCF、Axisなど)サービスにアクセスできます。

于 2011-05-16T16:19:40.023 に答える
1

Googleプロトコルバッファを使用してRPCを実装できますが、とにかくメッセージを転送するためにネットワークプログラミングを行う必要があります。C ++、Java、Python、Objective-Cおよび.NETのインターフェイス生成をサポートしているため、RPCメッセージの単一のセットを作成し、ほとんどすべてのモバイルプラットフォームでそれらを操作するためのコードを取得できます。モバイルプラットフォームのトランスポート層は、自分で実装する必要があります。

http:// code.google.com/apis/protocolbuffers/-メインのProtobufページ(C ++、Java、Python)http://code.google.com/p/protobuf-net/-Protobuf .NETは、コメントhttp://code.google.com/p/metasyntactic/wiki/ProtocolBuffers-Obj-CのProtobuf

于 2010-09-16T13:38:44.897 に答える