在技术群里面,一直有一些新人进来,问了一些让人可笑不得的问题.国内的资料相对比较少,而且很旧,都是一些2.X版本的资料.因此想写一些东西,帮助一下新人,让他们少走弯路.
首先说一些很多人问的问题,个人的一些见解:
phonegap和cordova的区别: 他们之间没有区别,在被收购之前叫phonegap,被收购后叫cordova
phonegap能做什么:它是一个桥梁,能让网页可以调用手机的硬件,没有别的用处了.
有什么东西phonegap做不了,只能原生做:网页上用JS调用phonegap,phonegap调用原生代码,原生代码调用手机硬件.所以理论上说,原生可以做的phonegap都可以做.可以用原生的写插件,用phonegap调用.
phonegap的弱点:间隔的层次比较多,调用硬件的速度会慢一些;手机浏览器的渲染能力有限,导致APP会卡;因此对硬件要求很高,或者对渲染要求很高的APP,phonegap做出来性能会很差.
phonegap的优点:让web系统开发人员可以快速上手,成本低,但是很多东西还是要原生开发人员写插件;开发速度快,其实也不是很快,手机上的页面调整会很坑的;写一遍,在很多平台上运行,但是如果你用了很多原生插件,那么想在很多平台运行要重新写插件.
总结:其实phonegap不是想象中的那么好用,做一些简单的增删改查APP还是可以的.如果你的公司刚起步或者不想请高价开发人员,而APP又比较简单,那你就选它吧.
学习phonegap的步骤:
1.首先去http://cordova.apache.org/docs/en/4.0.0/里面,把文档看一遍,虽然是英文,但是不多,即使边查字典边看也行,作用会非常大,让你少走很多的弯路.
2.去phonegap100的网站上,找免费的入门视频看一下,整个工程目录结构就清楚了.
3.看一下cordova在githu上的插件库,一些基本的硬件调用的插件全部在这里,全部是英文的,但是不得不看.文档写的很好,直接有Demo代码.国内的信息基本都是2.X的,即使找到也跑不起来,多看文档.
4.如果是做安卓应用,了解下如何FQ,现在谷歌被墙了; 如果做IOS,买MAC或者了解如何装虚拟机.
5.找一些UI前端框架学习一下.因为APP的界面全部都是html5的,有条件的可以自己写界面会流畅很多.没有的话建议用两个框架,一个是jqmobi(被收购后叫app framework),
另外一个是sencha touch(性能最好,但是不易上手),jquery mobile是不建议的,太卡了.Ionic这个框架听说也不错,不过没用过,没有发言权.
6.了解一下ajax的跨域和json或jsonp,因为后面APP全部都是靠它来跟服务器交互.