2012-02-13 3 views
0

私はこの質問が何らかの形で起こっていることを知っています。しかし、それらの多くは古くなっているので、私は再び尋ねると思っただけでなく、この質問の真の理由を尋ねました。Android vs Blackberry development(再利用可能なコード?)

AndroidとBBの両方の開発はJavaを使用して行うことができますが、Android SDKには多くのクラスと機能が追加されていますが、BlackberryはJavaのJ2MEに依存しているようです。両方のプラットフォームを対象とするアプリケーション、特にメディア再生の観点から、両方のプラットフォーム間でどの程度のコード再利用が期待できるのでしょうか?記録のために、PhoneGapベースのアプリケーションは(WebkitのBBの実装のために)不可能です。

答えて

2

私は、Android、BlackBerry、MIDP、J2SE(つまりDesktop Java)で共通のコードを共有する大規模なアプリケーションで動作します。私は、特定のプラットフォーム上のコードの約75%が共通コードであると言います。

長所:/テストを開発するためのコードの

  • ワンたくさん。これは非常に肯定的です!
  • 他のプラットフォームに移植することを決定した場合は、既にそのほとんどを実行しています。

短所:

  • あなたは、共通のコードでJava 1.3の互換性(なし注釈、コレクション、など)に限られています。
  • UIの違いは、特にさまざまなイベントモデルで痛みを伴う可能性があります。 MVCはあなたの友人です - 少なくともあなたはモデルを共有することができます!
  • 一般的なコードと対話する必要があるすべてのプラットフォーム依存のものについて、ラッパークラスを記述したいと思うでしょう。これは、コードを共有していない場合に書く必要のない余分なコードです。

それはあなたの中にはいくつかのことに依存する価値になるだろうかどうか...私は、少なくとも以下について考えたい:

  1. プロジェクトはどれくらいですか? (より大きい=より多くのコードを共有する場合。)
  2. あなたのコア機能のどれくらいが現実的に共有可能になるのですか?あなたはメディアの再生について言及しています。もしそれがあなたのアプリのコードの80%になるのであれば、おそらく共有コードを設定する価値はありません。
  3. さまざまなプラットフォームについてよく知っていますか? (もっとよく知っている=潜在的な落とし穴の考え方=どのコードを共有すべきか、どのように構造化すればよいか知る可能性が高い)
1

AndroidとBlackberryコードは再利用できます。私はそれを前にやってきて、美しく働きます。いくつかの小さな違いがあります。それらをすべて覚えていません。

  • Https/Http apiの呼び出しが異なります。だから、あなたは両方のためにそれらを少し違った方法でコード化する必要があります。
  • ブラックベリー、コンパイラは未使用輸入
これら以外

が好きではありません、私はあなたがOKになると思います。しかし、はい、それはショットを与える多くの時間を節約します。

4

IMHOでは、大量のコードを再利用するとは考えていません。これらは、おそらくコードを共有できない領域です:UI、ネットワーク、セキュリティ、正規表現、Java 1.4+クラス。

また、アンドロイドは自作のイベントシステムを必要としません。すべてのアクティビティはお互いに話すことができますし、サービスを利用することもできます... BlackBerryにはこれがありません。

私はこれらの2つのプラットフォームでしばらく働いていますが、私はそのアイデアを共有しています...実装はそれぞれ固有のものです。

+0

フィードバックをいただきありがとうございます。 – StackOverflowed

関連する問題