PhoneGap:移动开发变得简单

Adobe PhoneGap为iOS、Android、黑莓和Windows Phone上的移动应用开发了基本的Web开发技能

手机开发和技术编程一样,都是关于UI艺术性和屏幕流的。这种对表现的重视意味着,构建移动应用程序最重要的技能更可能在Web开发人员中找到,而不是在Objective-C程序员中。

PhoneGap——现在正式是一个Apache软件基金会孵化器项目命名为Cordova——通过将HTML、CSS和JavaScript与用于调用本机设备硬件和功能的API相结合,让您在移动领域利用Web开发技能。PhoneGap让Web程序员可以点击联系人和文件、操作本地存储、与传感器(摄像头、GPS等)一起工作,并方便直接从html派生的移动ui进行数据交换。

[另一个是InfoWorld:10种可以撼动它的编程语言|11个值得关注的节目趋势|要避免的12个编程错误保持关键应用程序开发洞察力与致命的异常的博客开发世界通讯。]

最重要的是,一个PhoneGap应用程序可以部署在你能想到的最广泛的设备上:Android, iOS, Windows Phone, BlackBerry, Symbian, WebOS和Bada。自然,PhoneGap的易用性和跨平台兼容性是有代价的——PhoneGap创建的Web应用程序看起来是本地的,但实际上并不合格。

例如,当你构建一个Android应用程序时,PhoneGap将你的HTML、JavaScript和CSS包装在一个WebView容器中,依赖于底层的WebKit渲染引擎来执行,从而继承了浏览器的处理限制。因此,PhoneGap将不是处理器或图形密集型应用程序的最佳选择。

但是如果您希望将数据驱动的Web应用程序扩展到广泛的移动设备,PhoneGap在开发人员的努力和应用程序的功能之间取得了很好的平衡。它允许您创建功能强大的应用程序,这些应用程序可以通过插件扩展来模仿本地UI的外观和感觉,或者添加诸如推送通知或PayPal集成之类的功能,但不需要使用与本地编码相关的技能和努力。而且它是免费的。

,

PhoneGap:小心缝隙请注意,PhoneGap SDK是一个基本框架。您不会发现用于用户界面开发的预制代码小部件或花哨的提示。PhoneGap也不提供将设备连接到后端服务器的中间件,比如Rhomobile提供的企业级同步基础设施。

您需要使用一个本地工具链来编写应用程序。对于Android,您需要安装Eclipse、Android SDK和Android开发工具(ADT)插件。你也可以如果您想要针对特定的平台,请安装Git最小化内存占用。如果你想让你的应用在iOS、Windows Phone和黑莓上运行,你可以使用Adobe的PhoneGap构建云为所有这些和其他支持的平台创建包。PhoneGap Build对开源项目是免费的,私人应用的起售价为每月12美元。

开始使用Android SDK需要进行一些代码调整:定义一个Android项目,导入PhoneGap库,将启动的Java文件指向PhoneGap,并修改基类以扩展DroidGap。你还必须改变setContentView来加载你应用的基于html的主屏幕的URL,这也是必须手动创建的。

如果以上任何一项看起来令人不快,您可以考虑使用基于phonegap的ide之一,例如AppMobiTiggzi,它在框架上放置了一个视觉前端。adobedreamweaver cs5.5也与PhoneGap兼容。

在Mac上使用PhoneGap和Xcode更加无缝,Xcode生成所有资产,并提供图形前端来帮助配置启动屏幕和设备方向等选项。不过,在Eclipse中配置我的目标Android设备(Android版本、屏幕分辨率、存储设备等)非常容易,而且我可以很快地创建一个基本的应用程序。这些API方法都有很好的文档记录,并且有大量的示例代码片段。

Eclipse设置一个中央文件夹,该文件夹成为项目图像、HTML和JavaScript的主存储库。开发您的应用程序——无论您使用的是Eclipse的文本编辑器还是Dreamweaver的PhoneGap插件——就像构建一个标准的Web页面一样。虽然不能直接访问本地接口元素,但可以使用第三方UI工具包,如JQuery Mobile、Sencha Touch和XUI。您也可以使用CSS3来创建效果。

除了简化开发,PhoneGap基于浏览器的方法还提供了跨不同设备形式因素和像素密度提供更可预测结果的优势。不利的一面是,仍然有很多不是由Xcode或Dreamweaver管理的手工编码。这就是基于云的工具Tiggzi派上用场的地方。除了支持拖放接口构造之外,Tiggzi还提供了一个图形界面,用于连接服务调用、将这些调用映射到UI并测试结果。在PhoneGap中,所有这些都是通过输入代码来完成的。

一个移动的工具尽管PhoneGap很棒,但它总是可以做得更多。例如,我希望看到更好的数据处理工具,以及对intents等Android标准的更深层次的支持,intents提供了一种处理消息传递事件的方法,如来电、电子邮件的到达或完成文件传输。在某些情况下,插件是可用的(比如用于使用intent的WebIntent),但是当PhoneGap启动时,这些插件就会遇到可靠性和兼容性问题。这些本地函数不应该依赖于插件,而应该由PhoneGap管理。

PhoneGap保持着一个积极的发布计划,几乎每个月都会推出新的更新。尽管开发人员正在寻找热门的新特性,但快速的发布周期不可避免地带来了bug和代码重组,早期采用者和插件开发人员必须注意这些问题。从管理的角度来看,我更希望看到更少频率和更有意义的发布。

刚刚投入生产的是基于云的PhoneGap构建服务,它将获取您的项目文件,并提供用于部署的目标二进制文件。尽管我发现构建有点缓慢,但在与密钥和证书进行竞争时,它确实节省了时间——即使您只是为一个平台构建。但最大的优势是,构建避开了维护多个编译开发平台的需要。你可以上传你用Android工具构建的代码,也可以删除iOS、黑莓和Windows Phone的二进制文件。

并不是每个移动项目都需要本地应用程序或企业基础设施。如果您希望将Web应用程序扩展到移动设备,PhoneGap提供了一种快速、熟悉且经济实惠的方式,即在每个移动平台上使用本地设备特性,而不需要进行本地编程。PhoneGap可能是目前构建数据驱动移动应用程序最快、最简单的方式。

这篇文章中,“PhoneGap:移动开发变得简单最初出现在InfoWorld.com。关注最新消息编程移动技术在InfoWorld.com上。了解最新的商业技术新闻,请跟随在Twitter上InfoWorld.com

阅读更多有关应用程序开发的信息在InfoWorld的应用开发频道。

这个故事,“PhoneGap:移动开发变得容易”最初是由信息世界

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对最重要的话题发表评论。

版权©2012Raybet2

工资调查:结果在