ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:23.22KB ,
资源ID:1749018      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1749018.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(HybridApp解决方案.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

HybridApp解决方案.docx

1、HybridApp解决方案HybridApp解决方案_No1_混合模式(Hybrid)App开发概述1.1. APP三种开发模式智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝、京东等)、金融(各手机行业、P2P借贷等)、医疗(智慧医疗)、交通(滴滴、Uber等)、教育(慕课网等)、餐饮(饿了吗、美团等)反正只要是个企业,无论规模大小,都已经订制或将要订制自己的APP。这么多APP无外乎就三种模式:Native App、Web App、Hybrid App。1.1.1. Native AppNative App,原生APP,使用原生(即Android或iOS)开发的APP。两年多以

2、前这非常流行,到现在为止,原生开发人员数量众多,一抓一大票,技术成熟,好多培训机构都抱着老掉牙的API翻来覆去的讲尤其是Android。Sorry,说错话了使用原生开发有其优势:应用的性能好,适配起来相对容易。学习成本要看人,个人觉得技术点不多,门槛相对稍高,但入门后学习起来就很轻松网络资料实在是太多了。但原生APP最头疼的有三个问题:1、无法跨平台:Android和iOS都需要开发各自平台的版本开发成本高;2、升级麻烦:每次升级都要下载安装包,Android还好,反正不需要审核,下载就下载吧,但iOS就麻烦了,发布每个版本还得经过App Store的审核,这导致第三个问题;3、Android

3、和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有难度,网络资料少。

4、我是两年半前开始接触混合模式开发的,当时如何做好屏幕适配、提高UI响应速度、如何最大化使用原生功能等内容,网络几乎没有资料。网上能搜索到的都是很粗略的东西,或者就是Hello World级别的东西,涉及到稍微细节一点的东西几乎没有。由于本系列文章都只讲Hybrid,故在此不再啰嗦了。三种开发模式各自的特点如下面的表格所示:Native AppHybrid AppWeb App原生功能体验优秀接近优秀差性能非常快快慢跨平台开发成本昂贵合理便宜碎片化适配非常严重严重严重编程技术支持短缺非常短缺通用人才版本升级维护保守低延时开放安全强中弱1.2. Hybrid App所需技术Hybrid App由于

5、需要保证运行性能与开发速度,需要如下技术支持,本系列博文均会按照Demo的开发顺序依次描述本人的开发心得和教训,希望能起到一个抛砖引玉的作用。1.2.1. Native技术Native技术主要用于提供原生支持,要做到跨平台,就需要掌握部分Android和iOS的知识,除了多线程,文件存储等基础知识,Android需要非常熟练的掌握WebView、WebSettings、WebChromeClient、WebClient四大对象。iOS需要非常熟练掌握UIWebView对象。1.2.2. Web技术1、HTML5熟练掌握HTML5的各个标签,如何编写最优的文档结构。2、CSS熟练掌握CSS2和C

6、SS3的新特性,能按照效果图编写最高性能的样式。使用SCSS生成CSS,将CSS可编程化。3、JavaScript实现业务逻辑控制。个人理解JavaScript主要包含两大内容:DOM编程和面向对象编程。大部分JS开发人员就只掌握DOM编程,诸如document.getElementById()等,但面向对象是很重要的一个方面。4、 性能和开发模块化编程:编写可复用的组建;CSS渲染:了解浏览器的CSS渲染引擎才能编写更高效率的样式;JS解析:了解浏览器的JS解析引擎才能优化JS脚本;HTTP协议:熟练掌握HTTP请求的各个内容;AJAX:和服务器端的交互大都采用AJAX。1.3. 流行框架1

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

8、Native:FB推出的,当年FB是最早尝试Hybrid的,但性能超差,于是APP放弃了Hybrid,走原生的道路。在大家都不看好H5时,FB暗中深入挖掘H5,三年之后推出了这个框架,非常推荐各位去学习其中的思想。GMU:XX推出的,这个不错。1.3.3. UI/JS库这个就多了,jQuery、Zepto、Swiper、iScroll、RequireJS、AngularJS1.3.4. 个人建议由于移动端是一个重视性能和用户体验的终端,大量采用框架存在一些问题:1、 扩展、维护、定制成本,这个非常需要考虑,或许框架提供的UI风格和自己设计的UI风格差异大,导致设计围绕框架转,不符合产品的需求。

9、2、 既然是框架,强调的是覆盖面广度和功能的全面,会有很多无用的东西,带来累赘;3、 框架本身存在BUG,或许需要开发人员面对一些能力之外的问题。总之,如果只追求像山寨作坊一样快速产出、不计性能的开发产品,那使用现成的框架是不二选择。但如果追求性能和真正的产品,建议使用库,不要使用框架。但是很多框架的实现思想都很优秀,虽然不建议使用,但我们应该多接触学习其中的思想,才能写更好的代码。仅仅建议而已,不中听请忽略。1.4. 系列大纲本系列博文将按照我近三年来开发Hybrid App过程中的体会进行编写,以一个APP完整开发为线索,形成一套完整的混合模式开发的解决方案。1、 JS和原生交互架构2、

10、WEB端基础知识准备3、 UI适配方案4、 UI组件开发及封装5、 JS模块化开发6、 升级、部署方案么叫做原生App?什么是混合app?什么是WebApp开发?NativeApp开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,是专门针对某一类移动设备而生的,它们都是被直接安装到设备里,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上,原生App而用户一般也是通过网络商店或者卖场来获取例如TheAppStore与AndroidAppsonGooglePlay。HybridApp(混合模式

11、移动应用)是指介于web-app、native-app这两者之间的app,兼具“NativeApp良好用户交互体验的优势”和“WebApp跨平台开发和低成本的优势”。HybridApp主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。目前已经有众多HybridApp开发成功应用,比如百度、网易、街旁等知名移动应用,都是采用HybridApp开发模式。WebApp开发即是一种框架型APP开发模式(HTML5APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安

12、装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。原生APP的优点混合APP的优点webAPP的优点(1)可访问手机所有功能(GPS、摄像头);(2)速度更快、性能高、整体用户体验最好;(3)可线下使用(因为是在跟Web相对地平台上使用的);(4)支持大量图形和动画;容易发现(在AppStore里面)和重新发现(应用图标会一直在主页上);(5)应用下载能创造盈利(当然AppStore抽取20-30%的营收);(6)app质量及安全性好。(1)原生应用和Web应用的结合体,应用比例很自由;(2)开发成本低;(3)能节省跨平台的时间和成本,只需编写一次核心代码就可

13、部署到多个平台;(4)可任意调整风格,DIV版面布局;(5)兼容多平台;(6)顺利访问手机的多种功能;(7)AppStore中可下载(Web应用套用原生应用的外壳);(8)可线下使用。(1)运行到浏览器上,项目独立;(2)跨平台开发工具选择多;(3)不需要安装额外软件,控制版本非常容易;缺点(1)开发及维护成本高;(2)支持设备非常有限(一般是哪个系统就在哪个平台专属设备上用);(3)上线时间不确定(AppStore审核过程不一);(4)内容限制(AppStore限制);(5)获得新版本时需重新下载应用更新。(6)举例:YellowPagesGroup就开发了是几个版本(iOS、黑莓、Andr

14、oid),他们在每一个原生应用市场都有上架。1)不确定上线时间;(2)用户体验不如本地应用;(3)性能稍慢(需要连接网络);(4)技术还不是很成熟(1)只能使用有限的移动硬件设备能力,无法使用更多移动硬件设备的独特功能;(2)搜索Webapp比较困难;(3)质量及安全性无法得到保障;(4)必须联网;(5)移动应用用户体验不是很好;(6)性能需要进行检验特点NativeApp可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,NativeApp是最佳的选择。(1)每次获取最新的APP功能,需要升级APP应用;(2)原生型APP应用的安装包相对较大,包含UI元素、数

15、据内容、逻辑框架;(3)手机用户无法上网也可访问APP应用中以前下载的数据。(4)原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)(5)APP应用更新功能,涉及到每次要向各个应用商店进行提交审核。适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用快速迭代,高效开发,低成本上线是每一个App开发团队追求的目标。同时,随着HTML5的不断升温和智能手机硬件性能的提高,HybridApp的概念应运而生。这种“Native搭台,HTML5唱戏”的HybridApp开发模式一时间受到各个开发团队追捧,快速进入了大量开发团队,成为主流开发模

16、式。HybridApp优点众多,Web前端工程师0成本介入,不依赖版本的实时更新,快速实现跨平台需求,等等。而另一个方面,2012年HybridApp的践行者Facebook决定大量弃用App中的HTML页面,转向更加Native化的方案。Facebook的这一举措也给HybridApp方案的敲响了警钟,这似乎并不是一个完美的方案。即使所有Web代码在本地运行,效率也要比Native差一些。这主要取决于应用类型,对交互体验和性能有很高要求的应用是不适合用Hybrid的。移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也

17、是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;(1)每次打开APP,都要通过APP框架向云网站取UI及数据;(2)手机用户无法上网则无法访问APP应用中的数据。(3)框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)(4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量;(5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端;(6)APP用户每次都可以访问到实时的最新的云端数据;(7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互;适用企业

18、:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用分类:iOS原生APP和HTML5的混合开发模式2015-05-08 21:33:21在“浙江新闻”客户端中的实践文_汤 恺原生APP开发和HTML5技术是目前移动应用开发领域两个最火的技术,本文不深入讨论两种技术的优劣,更不轻易做出“某某将取代某某”、“某某是未来”等结论,只整理了“浙江新闻”客户端在目前和以后的开发过程中,如何将两种技术混合开发,取长补短,寻求适合自己产品的最佳技术方案。首先简单介绍一下何为原生APP和HTML5。原生APP简单地说就是PC时代的“程序”进入移动时代后的洋气名字,它们需要经过安装才能使用,通常在A

19、pp store和google play等各大安卓市场里获取。原生APP是用户和操作系统(手机)之间的桥梁,所以原生APP能够拿到操作系统开放的所有功能,比如调用摄像头、通讯录、GPS、蓝牙等等。“浙江新闻”就是一个原生APP,目前提供IOS、安卓两个客户端版本。HTML5同样是PC时代的“网站”在移动时代的名字,HTML5技术开发出来的成果必须借助浏览器(或是APP内的WebView组件,例如微信内打开一个链接出来的页面),正因为多了浏览器这一层,所以HTML5在用户体验和表现上,以及对本地存储、摄像头等硬件的支持并没有原生APP那么好。HTML5相比原生APP,有快速更新、跨平台兼容性、开

20、发门槛较低等优势,特别是“快速更新、实时起效”这方面,我们在“浙江新闻”开发过程中,感受尤其深刻。一.混合开发模式的三个应用场景1.通过HTML5提供更多的内容展现形式“浙江新闻”是一个新闻客户端,单篇新闻的具体形式都是标准统一的,即图文结合的形式。但是“浙江新闻”提供了另外一种新闻形式Web新闻。采编后台发布该类型新闻的时候,只需要填写一个网址,点击该新闻即显示该网址对应的网站。而这网站的内容,就可以根据具体内容需要,开发出想要的效果。目前“浙江新闻”在HTML5技术和新闻报道的融合上,已经探索出多种内容展现形式,以下案例用微信扫描二维码即可观看。什么叫做原生 App?Native App

21、开发即我们所称的传统 APP 开发模式(原生 APP 开发模式) ,该开发 针对 IOS、Android 等不同的手机操作系 统要采用不同的语言和框架进行开发,是 专门针对某一类移动设备而生的,它们都 是被直接安装到设备里, APP 应用所有的 UI 元素、数据内容、逻辑框架均安装在手 机终端上,原生 App 而用户一般也是通过 网络商店或者卖场来获取例如 The App什么是混合 app?Hybrid App (混合模式移动应用)是指介于 web-app、native-app 这两者之间的 app,什么是 Web App 开发?Web App 开发即是一种框架型 APP 开 发模式(HTML

22、5 APP 框架开发模式) ,兼具“Native App 良好用户交互体验的优势” 该开发具有跨平台的优势,该模式通常 和“Web App 跨平台开发和低成本的优势” 。 Hybrid App 主要以 JS+Native 两者相互调用 由“HTML5 云网站 +APP 应用客户 端”两部份构成, APP 应用客户端只需为主,从开发层面实现“一次开发,多处运行” 安装应用的框架部份,而应用的数据则 的机制,成为真正适合跨平台的开发。目前已 经有众多 Hybrid App 开发成功应用,比如百 度、网易、街旁等知名移动应用,都是采用 是每次打开 APP 的时候,去云端取数 据呈现给手机用户。Sto

23、re 与 Android Apps on Google Play。 Hybrid App 开发模式。Native app 优点(1) (2)Hybrid app 优点原生应用和 Web 应用的结合体,应用比例 很自由; (2) (3) 开发成本低; 能节省跨平台的时间和成本, 只需编写一 次核心代码就可部署到多个平台; (4) (5) (6) (7) 可任意调整风格,DIV 版面布局; 兼容多平台; 顺利访问手机的多种功能; App Store 中可下载(Web 应用套用原 生应用的外壳) ; (8) 可线下使用。Web app 优点(1) (2) (3) 运行到浏览器上,项目独立; 跨平台开

24、发工具选择多; 不需要安装额外软件, 控制版本非 常容易;可访问手机所有功能 (GPS、 摄像头) ; (1) 速度更快、性能高、整体用户体验最 好;(3)可线下使用(因为是在跟 Web 相对 地平台上使用的) ;(4)支持大量图形和动画; 容易发现(在 App Store 里面)和重新发现(应用 图标会一直在主页上) ;(5)应 用 下 载 能 创 造 盈 利 ( 当 然 App Store 抽取 20-30% 的营收) ;(6)app 质量及安全性好。Native app 缺点(1) (2) 开发及维护成本高; 支持设备非常有限(一般是哪个系统 就在哪个平台专属设备上用) ; (3) 上线

25、时间不确定(App Store 审核过 程不一) ; (4) (5) 内容限制(App Store 限制) ; 获得新版本时需重新下载应用更新。Hybrid app 缺点(1) (2) (3) 不确定上线时间; 用户体验不如本地应用; 性能稍慢(需要连接网络) ;Web app 缺点(1) 只能使用有限的移动硬件设备能 力, 无法使用更多移动硬件设备的 独特功能; (2) (3) (4) (5) 搜索 Web app 比较困难; 质量及安全性无法得到保障; 必须联网; 移动应用用户体验不是很好;(4) 技术还不是很成熟。(6)举例:Yellow Pages Group 就开发 了 是 几 个

26、版 本 ( iOS 、 黑 莓 、 Android) , 他们在每一个原生应用市 场都有上架。(6)性能需要进行检验。Native app 特点Native App 可以充分利用设备的特性, 而 这一点往往是 Web 浏览器做不到的, 所以 对一个产品本身而言, Native App 是最佳 的选择。 (1)每次获取最新的 APP 功能,需要升 级 APP 应用;Hybrid app 特点快速迭代,高效开发,低成本上线是每一个 App 开发团队追求的目标。同时,随着 HTML 5 的不断升温和智能手机硬件性能的提高, Hybrid App 的概念应运而生。这种“Native 搭台,HTML 5

27、 唱戏”的 Hybrid App 开发模 式一时间受到各个开发团队追捧,快速进入了Web app 特点移动 Web 无所不在, 移动 Web 是目前 唯一的支持各种设备访问的平台,与桌 面 Web 一样, 移动 Web 支持各种标准 的协议。移动 Web 也是唯一一个可供 开发者发布移动应用的平台,它将各种 移动交互与桌面任务有效地连接了起 来; (1)每次打开 APP,都要通过 APP 框 架向云网站取 UI 及数据; ( 2 )手机用户无法上网则无法访问 APP 应用中的数据。 (3)框架型的 APP 无法调用手机终端 的硬件设备 (语音、 摄像头、 短信、 GPS、 蓝牙、重力感应等)

28、(4)框架型 APP 的访问速度受手机终 端上网的限制,每次使用均会消耗一定 的手机上网流量; (5)框架型 APP 应用的安装包小巧, 只包含框架文件,而大量的 UI 元素、 数据内容刚存放在云端; (6)APP 用户每次都可以访问到实时 的最新的云端数据; (7) APP 用户无须频繁更新 APP 应用, 与云端实现的是实时数据交互; 适用企业: 电子商务、 金融、新闻资讯、 企业集团需经常更新内容的 APP 应用。(2) 原生型 APP 应用的安装包相对较大, 大量开发团队,成为主流开发模式。 包含 UI 元素、数据内容、逻辑框架; (3)手机用户无法上网也可访问 APP 应 用中以前下

29、载的数据。 (4)原生型的 APP 可以调用手机终端的 硬件设备(语音、摄像头、短信、 GPS、 蓝牙、重力感应等) (5) APP 应用更新功能, 涉及到每次要向 各个应用商店进行提交审核。 适用企业:游戏、电子杂志、管理应用、 物联网等无需经常更新程序框架的 APP 应 用。 Hybrid App 优点众多,Web 前端工程师 0 成 本介入,不依赖版本的实时更新,快速实现跨 平台需求,等等。而另一个方面, 2012 年 Hybrid App 的践行者 Facebook 决定大量弃 用 App 中的 HTML 页面, 转向更加 Native 化 的方案。Facebook 的这一举措也给 Hybrid App 方案的敲响了警钟,这似乎并不是一个完 美的方案。 即使所有Web代码在本地运行,效率也要比 Native差一些。这主要取决于应用类型,对交 互体验和性能有很高要求的应用是不适合用 Hybrid的。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2