Android和PhoneGap

时间:2014-06-07 12:16:08

标签: android

我有一种学习android来构建应用程序和游戏的冲动,因为它看起来像一种有趣的语言,特别是如果你对某些Java有先前的知识。我还发现还有其他框架将其代码转换为本机功能到PhoneGap等应用程序,然后有Unity可以帮助进行跨平台游戏开发,使用javascript,c#和boo。我的问题是,如果存在这样的框架,为什么我们需要学习本地语言?它有什么不同?

2 个答案:

答案 0 :(得分:1)

使用本地语言

优点

  

本机应用程序允许充分利用设备功能   其他第三方API可能会遗漏。
它更容易获得   使用native编程时应用程序的良好性能   的SDK。

缺点

  

需要学习不同的语言以便在不同的语言上进行开发   平台。
为一个平台开发的代码库不容易   适应另一个平台。

使用PhoneGap等框架

开发人员可以使用HTML / CSS / JS构建应用程序,包括可以访问设备硬件和其他iOS API特性的JavaScript类,如联系人,文件系统,摄像头,麦克风,GPS等。最终的应用程序包含在一个平台本机中“Web View”浏览器对象,基本上成为一个独立的Web应用程序,能够访问某些特定于设备的功能。

优点

  

可以使用普通的旧Javascript甚至其他库,如jQuery,   原型,Sencha Touch,MooTools等处理交互。   
允许一次开发多个平台,例如Android的,   iOS,Windows等。

缺点

  

应用程序是Web视图中的Web应用程序。浏览器   性能不接近本机应用程序组件   性能。
并非所有设备API都可用于   应用

答案 1 :(得分:0)

这些框架中的大多数旨在克服一个或多个障碍,例如:快速发展,记忆参考计数;不必学习新语言和新平台;可维护性等等。

大多数这些框架都非常出色,直到你开始拥有;更大的应用程序,需要非常快的图形,大量的内存,访问设备硬件。

实际上,所有的计算机语言都是人类表达与简单之间的框架/翻译。减少跳跃而不是零#34; CPU / GPU内核。

因此,这取决于你想做什么以及你有多少时间。

我喜欢得到很多帮助;良好的测试代码库,很多其他开发人员使用相同的,以便我可以检查堆栈溢出的帮助,当然是学习新东西的永无止境的挑战,我选择我的开发环境来实现这些目标,并做了大量的研究找到每个选项的坏点。

例如。 Swift看起来很有趣,但它是新的,所以我会先等待其他人找到它的问题,发布一些性能基准,看看是否会有一个开源端口,就像.net那样。