SyncML解析ライブラリ(Iなし)を構築します。これは、ライブラリのメソッドによって提供される、ホストアプリケーションによって提供される情報に基づいてメッセージを構築できるようにする必要があります。また、ライブラリは、ホストアプリケーションのメソッドへのコールバックを実行できる必要があります。
これをコンパイルして、できるだけ多くのプラットフォーム(Windows、Windows Phone 7 OS、OSX、iOS、Linux、Android、BlackBerry)で利用できるようにしたいと考えています。基本的に、可能な限り多くのプラットフォーム。
優先事項は、これをモバイルデバイスで使用できるようにすることです。
質問:
この種のクロスプラットフォームプロジェクトはこれまで行ったことがないので、正しい方向に導くために利用できる情報があれば歓迎します。
私自身、C#/。NETおよびObjective-Cの経験があります。
Javaプラットフォーム/ JVMを使用することは明らかな選択です。これは、あらゆるプラットフォームで最も幅広いプラットフォームに対応しており、C#/。Netのバックグラウンドがあれば、概念は非常によく知られています。
あなたがJava languageを使用してJavaプラットフォーム-実際、最近では、プロジェクトを最初から開始する場合、次のいずれかをお勧めします。
これらのすべての言語は、JVMを使用することのすべての利点(素晴らしいJITコンパイラ、非常に効果的なガベージコレクション、膨大なライブラリのセット)を手に入れますが、作業する生産性の高い言語です。
ちなみに、すでに オープンソースSyncMLライブラリがJava Funambol と呼ばれています)で利用できます。これがどの程度直接役立つかはわかりません。しかし、これは通常、オープンソースがあるという事実の例ですJavaほとんどすべてのライブラリ......
他のオプションについての考え:
.NETは多くのプラットフォームでほとんど利用できず、Objective-Cはさらに悪いことに加えて、.NETは少し遅く、ObjCは基本的にApple以外ではサポートされていません。言語としてのCは、何らかの外部要因によって使用されない限り、基本的に検討する価値さえありません。
結果として実行可能な唯一の言語はC++です。
Java-Javaランタイム環境(仮想マシン)はクロスプラットフォームです、Javaを使用できますAndroid=(またはJava ME)を使用)のモバイルデバイスでは、.NETはそれに非常に似ています。
これは1つの選択肢ではなく、多くの選択肢です。どこにでも行くものを1つ見つけるのは魅力的ですが、それが常に最良の方法であるとは限りません。
たとえば、WindowsモバイルプラットフォームでC++コードを圧縮することは可能ですが、サポートの観点から見ると、.NETの方が対応するものよりも常に簡単です。
同様に、それをネイティブにするかランタイムで実行するかにかかわらず、主要な選択を行う必要があり、厳密にWebセントリックまたはより一般的な強力なものに制限されていますか?たとえば、Adobeランタイムはより偏在的ですが、コアプログラミング言語と比較して実行できることが制限されます。
私が推測する最も重要なことは、作成するGUIのタイプとレベルです。
今最も有望な選択肢に来ています。
a。 Symbian、Blackberry、Android、BREW、Bada(samsung)の場合、Java/J2MEが最も一般的な方法です。ただし、一部のプラットフォームのネイティブコアのものについては、多くの場合C/C++の方が優れている場合があります。
b。サポートされている言語を使用するWindows .NETが適切です。
c。 iOSの場合-目的C以外の選択肢はありません。これは[〜#〜]ではありません[〜#〜]C++なので、私はしません目標として数える
これは wikiリファレンス であり、すべてのプラットフォームのセットを示し、すべてのオプションとそれらが適用される場所を示しています。
あなたの質問のおかげで、私は上記のwikiリンクから、上記の問題を解決しようとするSDKがあることを知りました。最も近い2つは次のとおりです。
マーマレード: http://www.madewithmarmalade.com/marmalade/supported-platforms これは興味深いことにほとんどすべてのプラットフォームをサポートしています。 Windowsは、完全な円を作るために追加されるところです。
粒子コード: http://www.particlecode.com/
まだ使っていませんが、面白そうですね。