技术选型方案上主要依据以下2点:
- 学习与开发成本:PhoneGap 使用的核心语言是JS,团队里的程序员都有JS经验,这对于他们来说学习成本无疑降低了很多。开发一个简单功能APP,从设计到开发完成,一般只需用到半个月时间左右。
- 平台兼容性:PhoneGap开发的APP只需编写一次APP的功能核心代码,即可发布到多个平台。真正实现多平台全面覆盖。
它和其他的框架对比有哪些优势:
- 支撑平台数量最多: PhoneGap 支持当前大多数的主流平台除了 iPhone,Android 外还支持 BlackBerry,Symbian,Palm,Window Phone。
- 代码可操控性较高:PhoneGap 采用了 HTML + CSS + JavaScript 作为其编程语言,同时对 HTML5 和 CSS3 提供了相应的支持。除此PhoneGap 包含了DOM特性,PhoneGap 可以用jQuery等第三方库。
- 发展前景明朗:PhoneGap被 Adobe 收购后,无疑有了更强大的技术支持后盾,相信未来会有更好的发展。
提高性能:
PhoneGap的性能主要依赖于webkit浏览器的内核解析能力,所以它的运行效率必定弱于原生。同时webview无法释放占用内存的问题也是一个导致性能较差的重要原因。为了提高APP性能,优化JS是必须要做的工作,主要依靠以下2方面进行优化:
首先选择较小的框架-XUI,XUI与 jQuery比较,文件更小,效率较高,语法与 jQuery 接近。
其次通过对选择器的各种语法的性能分析进行测试后,我们发现,最快的选择器是id选择器和元素标签选择器;较慢的选择器是class选择器;最慢的选择器是伪类选择器和属性选择器。所以在对DOM操作的时候一定要选择最快的id或者标签选择器。
通过以上2点,可从 JS 上入手优化APP的性能。
另外说一个小技巧直接在APP内打开外网URL,而不是用系统默认浏览器打开: PhoneGap APP 页面中如果尝试访问的是外网链接,系统会使用默认浏览器打开,如何直接在APP页面打开?除了使用ajax外,可以采用在 res/xml/cordova.xml 中配置 URL 白名单,在该文件内配置后,就都可以实现在APP页中直接跳转。配置规则范例,如下:
<!-- <access origin="https://example.com" /> 允许访问example.com 域名下的链接--> <!-- <access origin="https://example.com" subdomains="true" /> 同上,但包括子域,例如www --> <!-- <access origin=".*"/> 允许访问任何域名,建议只在开发中才用--> phonegap document---------------http://docs.phonegap.com/en/edge/cordova_inappbrowser_inappbrowser.md.htmlcordova 参考资料------------------------http://rensanning.iteye.com/category/305123
需要技能:
1.Zepto和JQ.mobi都是专门为移动设备优化后的JQ兼容库
2.滚动效果专家:iScroll4
3.现代浏览器:safari/Chrome
4.PhoneGap实时调试工具:云窗调试器
5.在线打包工具:PhoneGap:Build