没有合适的资源?快使用搜索试试~ 我知道了~
首页Hybrid APP 与原生开发优缺点
资源详情
资源评论
资源推荐

HybridApp
解决方案 _No1_ 混合模式 (Hybrid)App
开发概
述
1.1. APP 三种开发模式
智能手机之普及不用多说,手机 APP 渗投到各个行业:电商(淘宝、京东等)、金融(各
手机行业、P2P 借贷等)、医疗(智慧医疗)、交通(滴滴、Uber 等)、教育(慕课网
等)、餐饮(饿了吗、美团等)……反正只要是个企业,无论规模大小,都已经订制或将
要订制自己的 APP。这么多 APP 无外乎就三种模式:Native App、Web App、Hybrid
App。
1.1.1. Native App
Native App,原生 APP,使用原生(即 Android 或 iOS)开发的 APP。两年多以前这非
常流行,到现在为止,原生开发人员数量众多,一抓一大票,技术成熟,好多培训机构都
抱着老掉牙的 API 翻来覆去的讲——尤其是 Android。Sorry,说错话了……使用原生开
发有其优势:应用的性能好,适配起来相对容易。学习成本要看人,个人觉得技术点不多,
门槛相对稍高,但入门后学习起来就很轻松——网络资料实在是太多了。
但原生 APP 最头疼的有三个问题:
1、无法跨平台:Android 和 iOS 都需要开发各自平台的版本——开发成本高;
2、升级麻烦:每次升级都要下载安装包,Android 还好,反正不需要审核,下载就下载
吧,但 iOS 就麻烦了,发布每个版本还得经过 App Store 的审核,这导致第三个问题;
3、Android 和 iOS 很难同步发布。
1.1.2. Web App
所谓的 Web App,就是把手机当做一个浏览器(Android 使用 WebView,iOS 使用
UIWebView),做几个页面挂在服务器端,类似于一个小网站。这样说虽然不太贴切,
但实际上给人的感觉就是这样的。虽然开发成本大大降低,但页面访问速度慢、操作体验
差。于是第三种模式诞生了。
1.1.3. Hybrid App
乍一看和 Web App 没啥差别,但涉及到的技术成本、开发成本、学习成本比 Web App
高,它综合了 Web App 的开发速度和 Native App 的高性能体验。之所以说学习成本高,
是因为开发高性能的 Hybrid App 有难度,网络资料少。我是两年半前开始接触混合模式
开发的,当时如何做好屏幕适配、提高 UI 响应速度、如何最大化使用原生功能等内容,网

络几乎没有资料。网上能搜索到的都是很粗略的东西,或者就是 Hello World 级别的东西,
涉及到稍微细节一点的东西几乎没有。由于本系列文章都只讲 Hybrid,故在此不再啰嗦了。
三种开发模式各自的特点如下面的表格所示:
Native App Hybrid App Web App
原生功能体验 优秀 接近优秀 差
性能 非常快 快 慢
跨平台开发成
本
昂贵 合理 便宜
碎片化适配 非常严重 严重 严重
编程技术支持 短缺 非常短缺 通用人才
版本升级维护 保守 低延时 开放
安全 强 中 弱
1.2. Hybrid App 所需技术
Hybrid App 由于需要保证运行性能与开发速度,需要如下技术支持,本系列博文均会按
照 Demo 的开发顺序依次描述本人的开发心得和教训,希望能起到一个抛砖引玉的作用。
1.2.1. Native 技术
Native 技术主要用于提供原生支持,要做到跨平台,就需要掌握部分 Android 和 iOS 的
知识,除了多线程,文件存储等基础知识,Android 需要非常熟练的掌握
WebView、WebSettings、WebChromeClient、WebClient 四大对象。iOS 需
要非常熟练掌握 UIWebView 对象。
1.2.2. Web 技术
1、nHTML5

熟练掌握 HTML5 的各个标签,如何编写最优的文档结构。
2、nCSS
熟练掌握 CSS2 和 CSS3 的新特性,能按照效果图编写最高性能的样式。
使用 SCSS 生成 CSS,将 CSS 可编程化。
3、nJavaScript
实现业务逻辑控制。个人理解 JavaScript 主要包含两大内容:DOM 编程和面向对象编程。
大部分 JS 开发人员就只掌握 DOM 编程,诸如 document.getElementById()等,但面向
对象是很重要的一个方面。
4、n性能和开发
模块化编程:编写可复用的组建;
CSS 渲染:了解浏览器的 CSS 渲染引擎才能编写更高效率的样式;
JS 解析:了解浏览器的 JS 解析引擎才能优化 JS 脚本;
HTTP 协议:熟练掌握 HTTP 请求的各个内容;
AJAX:和服务器端的交互大都采用 AJAX。
1.3. 流行框架
1.3.1. Hybrid 框架
Cordova/PhoneGap:侧重于 JS 与原生的交互,开发简单,但性能差,如触摸时反应不
灵敏。
AppCan:性能还行,使用简单,但要提交代码给 AppCan 的服务器才能打包,相信有追
求的企业是不会把自己的代码提交给第三方,把打包权利交给第三方的。
Ionic Framework:在 Cordova 的基础上增加一些 UI/JS 方面的东西,样式还不错,但
同样具有 Cordova 的不足。
1.3.2. UI/JS 框架
jQuery Mobile:上手简单,组件丰富,但性能超级差,闪屏现象严重。
Senche Touch:简单看过,没有使用过,貌似 UI 很漂亮,学习成本高。
React Native:FB 推出的,当年 FB 是最早尝试 Hybrid 的,但性能超差,于是 APP 放弃
了 Hybrid,走原生的道路。在大家都不看好 H5 时,FB 暗中深入挖掘 H5,三年之后推出
了这个框架,非常推荐各位去学习其中的思想。
GMU:百度推出的,这个不错。
剩余12页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0