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 ...
随机推荐
- ASP.NET 迭代控件获得行号
如何获取Repeater的当前行号,其实Repeater自身就带有这个获取当前行号的属性,而无需程序员绑定这个行号.到底要怎么实现呢?其实使用Repeater中的 Container.ItemInde ...
- mybatis 高级映射 简单例子
1.建表 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `gender` ) NOT NULL, `name` ) NOT NULL, `id` ...
- 黄聪:360浏览器、chrome开发扩展插件教程(2)为html添加行为
转载:http://www.cnblogs.com/walkingp/archive/2011/04/02/2002668.html 上一节我们已经讲了Chrome扩展的基础知识,并构建了基础的htm ...
- Bootstrap-Plugin:模态框(Modal)插件
ylbtech-Bootstrap-Plugin:模态框(Modal)插件 1.返回顶部 1. Bootstrap 模态框(Modal)插件 模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是 ...
- umount时目标忙解决办法
标签(空格分隔): ceph ceph运维 osd 在删除osd后umount时,始终无法umonut,可以通过fuser查看设备被哪个进程占用,之后杀死进程,就可以顺利umount了. [root@ ...
- JSP Servlet之间交换数据
摘自:<轻量级Java EE企业应用实战>第三版 对于每次客户端请求而言,web服务器大致需要完成以下步骤: 1.启动单独线程 2.使用I/O流读取用户的请求参数 3.从请求数据中解析参数 ...
- 软件测试——等价类划分(EditText * 3)
一.程序要求 EditBox 同时允许输入三个1到6个英文字符或数字,点击确定结束. 二.测试分析 编号 第一个输入框 第二个输入框 第三个输入框 输出 1 null null null 三个输入框均 ...
- Cascade属性的取值
Cascade属性的取值有:1.none:忽略其他关联的对象,默认值.2.save-update:当session通过save(),update(),saveOrUpdate()方法来保存或更新对象时 ...
- MySQL 常用命令行
增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本 ...
- XE: Changing the default http port
Oracle XE uses the embedded http listener that comes with the XML DB (XDB) to serve http requests. T ...