在技术群里面,一直有一些新人进来,问了一些让人可笑不得的问题.国内的资料相对比较少,而且很旧,都是一些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学习建议的更多相关文章

  1. [Phonegap+Sencha Touch] 移动开发36 Phonegap/Cordova项目的图标和启动画面(splashscreen)配置

    原文地址:http://blog.csdn.net/lovelyelfpop/article/details/40780111 Phonegap/Cordova项目中的config.xml文件.里面配 ...

  2. WINDOWS下PhoneGap(Cordova)安装笔记

    1.首先下载Node.js  安装nodejs很简单直接点击安装文件下一步直至成功即可,安装notejs的同时npm也会同时安装 成功后打开notejs的命令行工具 输入“node -v”," ...

  3. aiku给你们最真心地学习建议--转

     aiku给你们最真心地学习建议: 以前我最开始的就搞驱动,后来发现要熟悉hal层,接着就硬着看hal代码,第一次看,很剧痛,慢慢的,看习惯了,就好了,后来发现,搞驱动的人,不懂hal,很多时候就定位 ...

  4. phonegap,Cordova 使用html5标签

    某些安卓手机的webview使用location.href="tel:123456"不能调到打电话的界面,可以用下面的解决办法: config.xml文件最后加上一行: <a ...

  5. 如何安装 PhoneGap / Cordova (for Win10)

    最近需要配置 PhoneGap / Cordova 环境,折腾了一阵子,写篇博客 Mark 一下整个过程. 具体参照了:http://www.assortedgarbage.com/apigee/ 以 ...

  6. C++学习建议

    C++学习建议 C++缺点之一,是相对许多语言复杂,而且难学难精.许多人说学习C语言只需一本K&R<C程序设计语言>即可,但C++书籍却是多不胜数.我是从C进入C++,皆是靠阅读自 ...

  7. PhoneGap+Cordova+SenchaTouch-01-环境搭建

    转http://my.oschina.net/zhongwenhao/blog/369465 环境搭建基于 windows  ,mac系统可以借鉴 1.安装NodeJS 和ruby http://no ...

  8. Cordova学习

    Cordova学习 ui线程里处理耗时逻辑 runOnUiThread(new Runnable() { public void run() { //处理 } });

  9. cordova学习-基础篇

    Cordova 学习笔记(一):快速开始 1.安装cordova Cordova安装可以通过node.js从npm上获取.npm install -g cordova 通过这个命令可以安装cordov ...

随机推荐

  1. ASP.NET 迭代控件获得行号

    如何获取Repeater的当前行号,其实Repeater自身就带有这个获取当前行号的属性,而无需程序员绑定这个行号.到底要怎么实现呢?其实使用Repeater中的 Container.ItemInde ...

  2. mybatis 高级映射 简单例子

    1.建表 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `gender` ) NOT NULL, `name` ) NOT NULL, `id` ...

  3. 黄聪:360浏览器、chrome开发扩展插件教程(2)为html添加行为

    转载:http://www.cnblogs.com/walkingp/archive/2011/04/02/2002668.html 上一节我们已经讲了Chrome扩展的基础知识,并构建了基础的htm ...

  4. Bootstrap-Plugin:模态框(Modal)插件

    ylbtech-Bootstrap-Plugin:模态框(Modal)插件 1.返回顶部 1. Bootstrap 模态框(Modal)插件 模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是 ...

  5. umount时目标忙解决办法

    标签(空格分隔): ceph ceph运维 osd 在删除osd后umount时,始终无法umonut,可以通过fuser查看设备被哪个进程占用,之后杀死进程,就可以顺利umount了. [root@ ...

  6. JSP Servlet之间交换数据

    摘自:<轻量级Java EE企业应用实战>第三版 对于每次客户端请求而言,web服务器大致需要完成以下步骤: 1.启动单独线程 2.使用I/O流读取用户的请求参数 3.从请求数据中解析参数 ...

  7. 软件测试——等价类划分(EditText * 3)

    一.程序要求 EditBox 同时允许输入三个1到6个英文字符或数字,点击确定结束. 二.测试分析 编号 第一个输入框 第二个输入框 第三个输入框 输出 1 null null null 三个输入框均 ...

  8. Cascade属性的取值

    Cascade属性的取值有:1.none:忽略其他关联的对象,默认值.2.save-update:当session通过save(),update(),saveOrUpdate()方法来保存或更新对象时 ...

  9. MySQL 常用命令行

    增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本 ...

  10. 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 ...