本节书摘来自异步社区《PhoneGap精粹:构建跨平台的移动App》一书中的第1章,第1.7节PhoneGap的局限性,作者 【美】John M. Wargo,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.7 PhoneGap的局限性
PhoneGap精粹:构建跨平台的移动App
使用PhoneGap创建移动应用程序还是有一些局限性的。作为一个开源项目,PhoneGap能否适时地发布新功能以及修复bug,这些都取决于PhoneGap项目的志愿者。
即使PhoneGap的发展规划做得很好,但也只有当PhoneGap有足够资源(使用不同平台的相关技能)时才会按规划的那样发展。那些流行的平台(比如Android和iPhone)上的功能发布和修复bug会更受关注,然而那些非主流的平台就不会那么受关注了。举个例子,我们看一下图1-5,该图显示的是PhoneGap Device API的文档。通过这个API我们让PhoneGap应用程序获取设备的相关信息,更多详细内容我们会在第16章中描述。开发人员通常会利用这个功能,根据设备的能力启用或者禁用某些应用程序功能。
如图所示,尽管PhoneGap支持很多移动设备,但这个用来获取设备名字的简单API(device. name)只支持三个平台。作为一名使用PhoneGap的开发人员,你需要不断评估某些特殊API,是否会造成某些用户无法使用你的应用程序,并据此调整你的应用程序的功能。
话虽这么说,但IBM的目的之一就是要促成一个更统一的跨平台API。在这个特例中,其实是文档忽略了。属性device.name在所有PhoneGap支持的平台中都是可以使用的。只是某些人会为了反映出当前API支持的设备而更新文档。不同平台间实现的差异会被列举在PhoneGap文档中的Quirks部分。
和大多数开源程序一样,有许多主题并没有相应的文档或很少。虽然API文档做得很好并且还有源码示例(即便在商业软件中这也不常见),但是仍有许多与PhoneGap相关的内容没有记录进去或者没有详细记录。当你访问PhoneGap官方网站时,你可以很快找到API文档,但如果你要找在某些平台上的快速入门的话这就有些难度了。上面几乎没有关于如何使用PhoneGap或如何使用PhoneGap做跨平台开发的内容。
你很幸运,因为这本书会填补这些空白。