我知道Appcelerator和Phonegap在为Android和iOS创建跨设备/平台应用程序方面的差异。我相信Appcelerators的一个优势是它可以通过设备的API访问,如果我错了,请更正我但是Phonegap是否也能够访问设备的API?我的问题是,如果他们两个都可以访问设备的API,那么Appcelerator在API覆盖方面有哪些优势超过Phonegap?来自Apple和Android设备的哪些原生API可以让Appcelerator访问哪个Phonegap无法访问?
答案 0 :(得分:2)
使用典型的PhoneGap应用程序,您尝试模仿JavaScript中的本机GUI元素,最有可能使用Sencha Touch框架之类的东西。但是,使用Titanium(Appcelerator是公司,Titanium是产品),您使用的是Native GUI元素。
要回答您的问题,当您在PhoneGap中开发一个简单的应用程序时,您没有使用本机表视图,选项卡视图,图像视图等。相反,您正在使用试图模仿这些控件的JavaScript 。因此,即使在最简单的情况下,您也不会将本机API与PhoneGap一起使用。
答案 1 :(得分:0)
考虑到您可以使用PhoneGap为Android或iOS编写自己的本机代码,我认为除了开箱即用的API覆盖范围之外,在API覆盖范围方面存在实际限制。我刚刚为PhoneGap编写了一个插件,允许我在Android上访问方向陀螺仪(即偏航,俯仰,滚动),因为它没有。由于PhoneGap在初始化时启动了您的类,因此您可以在执行super.loadUri语句之前/之后注入所需的任何代码。
PhoneGap只是一个包装器,通过在无边框浏览器中自动加载html文件,然后将浏览器发出的特定请求转回本机代码,即可更轻松地将表示层与本机设备代码分开(即,PhoneGap附带的插件)。您可以在PhoneGap包装器周围添加其他本机代码。