2010-11-16 66 views
1

我一直在爲Android開發,我發現Java是在其中進行開發的正確方式。但是,現在有很多可供Android開發的選項,例如Titanium,PhoneGap和Adobe AIR。在Java或Adobe AIR或Titanium或PhoneGap中爲Android開發?

問題是誰會成爲Android開發的贏家。我已經閱讀了很多Titanium,PhoneGap和原生Android開發之間的比較。現在,隨着Adobe也加入其中,以Java作爲編程語言開發的Android開發人員的未來是什麼。

因爲如果可以用鈦和Adobe AIR開發Iphone和Android,那麼爲什麼要浪費時間和金錢來單獨開發。

回答

1

其實很簡單。使用Java開發一個Android應用程序(普通的API)將允許你a)可能所有的Android設備的目標都是共享相同的基本API,b)它不會對你的應用程序施加限制(或者至少沒有限制限制是API)。

現在PhoneGap,Titanium和Senza都是基於Web的框架,它們都有一定的侷限性。你不能訪問手機的某些功能,因爲它們根本不是某種更換API,它只是一個框架。

現在Adobe AIR是另一回事。我不確定Adobe AIR會具有哪些功能限制,但我知道在涉及哪些設備時存在相當大的限制。有針對Adobe AIR運行它們

對Adobe AIR Android設備要求一些最低要求

谷歌Android 2.2操作系統
的ARMv7-A處理器的OpenGL ES2.0 H.264 &
AAC H/W解碼器256 MB的RAM

這意味着你可以針對早期API v器件ersions。

+0

鈦使用本地控件...它看起來像它在本地平臺編碼,它不是一個基於web的框架 – 2010-11-16 15:50:59

+0

@Aaron Saunders:是的,你是對的。實際上它是一個基於Web的應用程序框架,編譯爲本地應用程序。 – 2010-11-16 15:58:59

+0

是的,我知道Titanium使用Titanium API,但我想知道的是開發人員應該採用哪種方式開發移動平臺。 – sunil 2010-11-17 06:36:48

0

針對每個平臺的特殊版本,您可以根據系統指南設計UI。

2

我能想到的最大原因是使用平臺的本地語言/庫(在這種情況下,iPhone或Android)是它可以讓您提供更符合用戶界面/體驗的用戶界面/體驗系統設計人員打算利用諸如Adobe AIR之類的東西實現可能的目標。

這並不一定意味着AIR不好,或者您可能無法開發出好的應用程序,但是因爲您將針對具有相同應用程序代碼的多個平臺,並且每個平臺都有自己的微妙(或重大)差異,你不可避免地會被迫採用「最小公分母」方法來構建一個可運行在所有目標平臺上的應用程序,並且它們的行爲也一致。對於一些期望達到某種級別的功能的用戶而言,這可能不太合適,因爲與其他本機應用程序相比,您可能無法爲其提供一致的用戶體驗。

跨平臺應用程序開發這是一個長期存在的問題 - 每個系統的設計哲學和行爲都有意地不同(否則爲什麼有人會使用它們?),所以你的約束會遇到問題,使得應用程序在他們全部工作100%。

作爲過去完成跨平臺開發的人員,我可以說盡管在某些情況下可以做得很好,但使用Adobe AIR之類的東西可能會成爲熟悉特定平臺的好方法,但很多時候,通過跨平臺解決方案使用系統的本地庫/語言構建應用程序更加謹慎。

+0

鈦使用本機控制...它看起來像它在本地平臺編碼 – 2010-11-16 15:48:20

0

對於鈦是什麼似乎有一個整體混淆......它編譯爲本地平臺控件。

大多數受訪者錯誤地表示它是基於網絡的,這是不正確的。

然而,當涉及到PhoneGap的

1

鈦編譯爲本地平臺的控制,但是你必須使用的網絡語言如HTML和JS來開發應用程序是真的。