2009-05-04 4 views
31

iPhone、BlackBerry、Androidで動作するアプリを書くための戦略や、少なくともベストプラクティスはありますか?iPhone、BlackBerry、Androidの携帯電話を同時に書くテクノロジーですか?

私はBBとAndroidの開発環境について無知ですが、どちらもJavaアプリケーションをサポートしていると思います。

私は、iPhoneにObjectiveCの部分(新しいUI全体)が必要であることを知っています。

これを行った人はいますか?マルチプラットフォームアプリケーションを書くとき

+0

iPadとAndroidベースのタブレットを混在させることはできますか? – ripper234

+0

低レベルですか?次に、ここに:http://stackoverflow.com/questions/5393844/common-ide-to-develop-mobile-applications-and-deploy-it-to-iphone-android-black/6986237#6986237 – YumYumYum

+0

http:///stackoverflow.com/questions/51988/what-work-has-been-done-on-cross-platform-mobile-development/ – Gabor

答えて

19

あなたはhttp://phonegap.com/

+1

私はそれを数回使ってきました。それは明らかにネイティブアプリを書いているようなフル機能ではないが、小型のクロスデバイスアプリには優れている。 – cpjolicoeur

+0

ちょうど映画を見た。完璧。ありがとうございました! –

+1

この記事の執筆時点では、phonegapフレームワークはプラットフォーム間で統一された永続ストレージメカニズムを提供していません。これは、私たちがプラットフォーム間のアプリケーションを書くことを試みている人にとって、大きな痛みの原因となっています。プラットフォーム間には他にも多くの相違点があります。そのため、プロジェクトを開始する際に、どのテクニックを利用できるかを明確にしたいと考えています。 –

1

をチェックアウトする場合があります、あなたが共有するためにどのくらいのコードを決定する必要があります。 2つのオプションは

  • すべてです。あなたと仮定すると(ロジックは、クロスプラットフォームですが、プレゼンテーション層は、プラットフォーム固有の

である第二のアプローチは、より良いアプリケーションを与える傾向があるが、それはより多くの仕事であるあなたは、(書き込み)、クロスプラットフォームのGUIライブラリを使用して、システムが

  • ルーチンクロスプラットフォームライブラリを書く必要はありません)。

    モバイルの世界では難しいことは言語を選ぶことです。今、あなたが持っている

    • のJava:アンドロイド、ブラックベリー、JavaのME電話
    • のObjective C/C:iPhone、Windows Mobileの
    • Javascriptを:Palm Preの

    あなたはjavascriptにJavaをコンパイルすることができ、その逆も可能です。また、javaをCにコンパイルするか、Cから呼び出すことができるjavascriptエンジンを使用することができます。私はあなたがjava/javascriptの携帯電話でCを実行できるとは思わない。 Java/Javascriptでコードを書くことをお勧めします。クロスコンパイル(および一般的な言語の混合)では、デバッグを少し難しくするという欠点があります。

  • 1

    http://j2mepolish.orgが良い選択かもしれませんが、iphoneはロードマップにのみあります。しかし、アンドロイドとBBはすでに他のすべてのJ2ME携帯電話と同様にサポートされています。

    +1

    今、J2ME自体だけで恐ろしいことをしなかったなら、それは便利な解決策かもしれません。 – davr

    4

    もう1つのオプションは、Rhodesです。これはRubyフレームワークです。

    1

    ゲームを書く場合、私のクロスプラットフォーム(iPhone、Androidなど)のソリューションは、イカのエンジンと呼ばれるhttp://www.cuttlefishengine.comでチェックしてください。 使用HTML/CSS/JavaScriptのとローカルに埋め込まれたWebコンテンツを読むためにプラットフォームのHTMLビューアオブジェクトを使用して、コンパクトなクライアントを記述します。このような参照アプリケーションなどのアプリケーションの特定の種類のために適切に動作します

    +0

    笑、サイトのサポートの下であなたはちょうど1つの単語を得る... 'すぐに'! –

    +0

    サイトが更新され、ダウンロード可能なベータ版を含む多くの情報が追加されました。 –

    8

    一つの技術、。

    BlackBerryとWindows Mobileの両方で実行されるクロスプラットフォームアプリケーションを作成する1つの手法は、すべてHTMLで記述することでした。私は、BlackBerry BrowserとPocket Internet Explorerの両方で動作するHTMLとCSSのサブセットを使用しなければなりませんでした。私は少量のJavaScriptを使いました。

    jar://(BlackBerry)とres://(Windows Mobile)のURLを使用して、内部で保存されたHTMLと画像を実行した非常に小さい視聴者を作成しました。私はすべてのHTMLファイルと画像ファイルをBlackBerryアプリケーションの一部として埋め込むことができました。 Windows Mobileと同じように、Windows MobileアプリケーションでPocket Internet Explorerを埋め込みActiveXとして使用することができました。

    注 - BlackBerryの場合、OS 4.2を実行するレガシーデバイスをサポートする必要がありました。これを行うために、SecondaryResourceFetchThread.javaなどのRIMコードサンプルをリサイクルして、アプリケーションに埋め込まれたイメージをプルし、内部的にjar:// URLを処理するように設計されたHttpConnectionを実装したカスタム接続オブジェクトに渡しました。埋め込まれたHTML /画像をBlackBerryアプリケーションに埋め込みます。把握するのはちょっと面倒だった。 Windows Mobileでは、より直感的でした。

    私は必要なことをするには他の方法もありますが、医学的参照アプリケーションでは完全に機能し、BlackBerryとWindows Mobile用に別々のCSSファイルをデザインして、 。 (これは、昔のNetscapeとInternet Explorerの互換性のテストのようなものでした)

    これはあなたの状況では機能しないかもしれませんが、あなたのアプリケーションがWebスタイルの「リファレンス」アプリケーションであり、 HTMLでは、このアプローチが有効です。

    5

    我々は現在も、このに見ていると、私たちが見つかりました:

    Titanium

    Kony Solutions

    をこれらの製品は、良いレビューを持っています。 Titaniumはコミュニティ版では無料です。

    +0

    あなたが気にしない場合、あなたの発見をKony Solutionsで分かち合うことができますか? – Seshagiri

    1

    また、モバイルコミュニティフレームワーク(MCF)を試すこともできます。これは、iPhone、Android、WinMobile、Symbian、およびBlackBerryでネイティブに実行されるクロスプラットフォームのフレームワークです。 MCFは、Wi-Fi Ad-Hocネットワーク、または直接接続が不可能な場合は専用プロキシサーバーを使用して、ネットワーク、ロケーション、近接操作を処理します。シンプルなAPIを持ち、自由に使用できます。こうすることで、各プラットフォームでアプリケーションインターフェイスとロジックを個別に開発し、MCFを使用してアプリケーションのインスタンスを好みの方法で接続することができます。

    詳細情報はhttp://uvamobiltec.com

    1

    でいつでもWeb上のJavaScriptアプリケーションを書くことができ、そしてそれはすべての3つで動作するはずです。もちろん、それは電話にインストールされていません。

    AndroidにはJavascriptを実行するwebviewがあります。私は他のプラットフォームもそうしていると確信しています。あなたがロジックのほとんどをjavascriptで書いていれば、プラットフォーム間でそのjavascriptを再利用できるかもしれません。

    1

    さらに別のフレームワークでは、すべての主要なプラットフォームをサポートしているようだhttp://www.mosync.com/

    です。

    1

    クロスプラットフォームのWebアプリケーションを作成する場合は、SenchaTouchまたはPhonegapが良い選択です。

    ネイティブアプリをご希望の場合、最適なクロスプラットフォームソリューションはTitaniumです。チタニウムを使用すると、あなたはJavascriptであなたのアプリを書くことができ、JSをネイティブコード(Objective-C、Java ...にコンパイルする)

    1

    Adob​​e FlexとFlash Builderも有望です。それでも、あなたはその独自性を考慮する必要がありますが、デベロッパーセンターのウェブサイトにあるvideoは価値があると思われます。 ところで、最新のリリースは現在Androidをサポートしています。 iOSのサポートは2011年6月に更新される予定です。

    関連する問題