phonegap/cordova学习建议
在技术群里面,一直有一些新人进来,问了一些让人可笑不得的问题.国内的资料相对比较少,而且很旧,都是一些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全部都是靠它来跟服务器交互.
phonegap/cordova学习建议的更多相关文章
- [Phonegap+Sencha Touch] 移动开发36 Phonegap/Cordova项目的图标和启动画面(splashscreen)配置
原文地址:http://blog.csdn.net/lovelyelfpop/article/details/40780111 Phonegap/Cordova项目中的config.xml文件.里面配 ...
- WINDOWS下PhoneGap(Cordova)安装笔记
1.首先下载Node.js 安装nodejs很简单直接点击安装文件下一步直至成功即可,安装notejs的同时npm也会同时安装 成功后打开notejs的命令行工具 输入“node -v”," ...
- aiku给你们最真心地学习建议--转
aiku给你们最真心地学习建议: 以前我最开始的就搞驱动,后来发现要熟悉hal层,接着就硬着看hal代码,第一次看,很剧痛,慢慢的,看习惯了,就好了,后来发现,搞驱动的人,不懂hal,很多时候就定位 ...
- phonegap,Cordova 使用html5标签
某些安卓手机的webview使用location.href="tel:123456"不能调到打电话的界面,可以用下面的解决办法: config.xml文件最后加上一行: <a ...
- 如何安装 PhoneGap / Cordova (for Win10)
最近需要配置 PhoneGap / Cordova 环境,折腾了一阵子,写篇博客 Mark 一下整个过程. 具体参照了:http://www.assortedgarbage.com/apigee/ 以 ...
- C++学习建议
C++学习建议 C++缺点之一,是相对许多语言复杂,而且难学难精.许多人说学习C语言只需一本K&R<C程序设计语言>即可,但C++书籍却是多不胜数.我是从C进入C++,皆是靠阅读自 ...
- PhoneGap+Cordova+SenchaTouch-01-环境搭建
转http://my.oschina.net/zhongwenhao/blog/369465 环境搭建基于 windows ,mac系统可以借鉴 1.安装NodeJS 和ruby http://no ...
- Cordova学习
Cordova学习 ui线程里处理耗时逻辑 runOnUiThread(new Runnable() { public void run() { //处理 } });
- cordova学习-基础篇
Cordova 学习笔记(一):快速开始 1.安装cordova Cordova安装可以通过node.js从npm上获取.npm install -g cordova 通过这个命令可以安装cordov ...
随机推荐
- 在Linux中安装Oracle(较详细图解)
原创 http://www.cnblogs.com/nucdy/p/5603998.html 参考视屏:链接: https://pan.baidu.com/s/1kViEZQZ 密码: z7ha ( ...
- CentOS查看显卡及GPU相关信息
lspci | grep -i vga 这样就可以显示机器上的显卡信息,比如 [root@localhost conf]# lspci | grep -i vga01:00.0 VGA compat ...
- Build fast jar 打包,增加配置文件
Build fast jar 打包,增加配置文件
- Android中如何使用JUnit进行单元测试 eclipse
Android中如何使用JUnit进行单元测试 在我们日常开发android app的时候,需要不断地进行测试,所以使用JUnit测试框架显得格外重要,学会JUnit可以加快应用的开发周期. Andr ...
- 汇编_指令_JMP
JMP指令 JMP是汇编语言中的无条件跳转指令.无条件跳转指令可转到内存中任何程序段.转移地址可在指令中给出,也可以在寄存器中给出,或在储存器中指出. 中文名:无条件跳转指令 外文名:JMP 和调用指 ...
- 12步轻松搞定Python装饰器
译者:寒寻 译文:http://www.cnblogs.com/imshome/p/8327438.html 原文:https://dzone.com/articles/understanding-p ...
- 十.jQuery源码分析之.map()
763行:三个参数. elems:待遍历的数组或对象. callback:回调函数,会在数组的每个元素或对象的每个属性上执行.执行时传入两个参数:数组元素,元素下标;或属性名,属性值. arg:仅限于 ...
- 第5课 Qt Creator工程介绍
1. QT Creator工程管理(一个工程包含不同类型的文件) (1).pro项目文件 (2).pro.user用户配置描述文件 (3).h头文件 (4).cpp源文件 (5).ui界面描述文件 ( ...
- 将jar包安装到maven仓库
<!-- https://mvnrepository.com/artifact/ojdbc/ojdbc --><!-- (参数一):下载到本地的ojdbc-10.2.0.4.0.ja ...
- J2EE Filter中修改request内容
最近在做一个微信相关的网站,很多地方涉及到微信表情的输入,导致内容无法插入到数据库,虽然有用到一个表情过滤的工具类,但是需要过滤的地方比较多,于是想到在过滤器中过滤用户请求的内容. request这个 ...