2012-02-13 38 views
0

我知道這個問題已經以某種形式出現了,這種或那種方式。然而,他們中的很多人已經過時了,所以我想我會再問一次,並且詢問這個問題的真正原因。Android vs黑莓開發(可重複使用的代碼?)

Android和BB的發展既可以通過Java來完成,並同時讓Android增添了不少的類和功能上的Java SDK的頂部,黑莓似乎依賴於Java的J2ME。如果我編寫一個針對兩種平臺的應用程序,尤其是從媒體播放的角度來看,那麼在兩種平臺之間可以重複使用多少代碼?爲了記錄,基於PhoneGap的應用程序是不可能的(特別是由於BB的Webkit實現)。

回答

2

我在一個大的應用程序這股橫跨Android,黑莓,MIDP公共代碼的工作,和J2SE(即桌面Java)。我想說的是,特定平臺上約75%的代碼是通用代碼。

優點:

  • 一個大量的代碼來開發/測試。這是一個巨大的積極!
  • 如果您決定移植到其他平臺,那麼您已經完成了大部分工作。

缺點:

  • 你限於Java 1.3的兼容性的通用代碼(沒有註釋,收藏品等)。
  • 界面差異可能是一個痛苦,特別是對於不同的事件模型。 MVC是你的朋友 - 至少你可以分享模型!
  • 您需要爲所有需要與您的通用代碼進行交互的平臺相關的東西編寫包裝類。這是額外的代碼,如果您不是代碼共享,那麼您不必編寫代碼。

無論這將是值得你依賴於一些東西......我會至少考慮以下幾點:

  1. 有多大的項目? (更大=共享代碼的情況更多。)
  2. 您的多少核心功能實際上可以共享?你提到媒體播放 - 如果這將是你的應用代碼的80%,那麼設置共享代碼可能不值得。
  3. 您對不同平臺的熟悉程度如何? (更熟悉=更多關於潛在隱患的想法=更有可能知道應該共享哪些代碼以及如何構建它。)
1

Android和黑莓碼可以重複使用。我以前做過,做得很漂亮。存在一些小的差異。我不記得他們全部,但幾個

  • Https/Http API調用是不同的。所以你需要爲它們編碼有點不同。
  • 黑莓編譯器不喜歡不使用進口

除了這些,我想你會好起來。但是,是的,做一下就省了很多時間。

4

恕我直言,不要指望重用大量代碼。這些是您可能無法共享代碼的區域:UI,網絡,安全,正則表達式,Java 1.4+類。

此外,機器人並不需要一個自制的事件系統。所有活動都可以互相交流,或者您可以使用服務......黑莓手機沒有任何這方面的內容。

我是與這兩個平臺工作了一段時間,我只分享想法...實施幾乎是專用於每一個。

+0

感謝您的反饋,非常感謝。 – StackOverflowed 2012-02-13 18:44:55