hybrid app走向轻混剖析wex5开源高性能html5 app开发框架

Hybrid App走向“轻混”,剖析WeX5开源高性能HTML5 App开发框架4月23日上午,HTML5应用开发工具WeX5的首席技术运营官王洁在Qcon上做了《Hybrid App走向“轻混”,剖析WeX5开源高性能HTML5 App开发框架》的演讲,分享了WeX5在架构选型、开发历程上的一些技术痛点和心得体会。Qcon上的分享内容分为三部分:Hybrid App从“重混”到“轻混”的发展历程构建高性能HTML5 App跨端框架WeX5可视化快速开发实践Hybrid App从“重混”到“轻混”的技术发展历程王洁说,Hybrid App的发展历程基本上从早期的多元化走向了只有Android和iOS两个系统的环境。对于开发者来说,就意味着一个App需要制定两套实现方案,这对开发成本和维护成本都是非常大的挑战。基于这样一个现实,其解决方案就是想办法实现套代码跨端运行,所以Hybrid APP混合应用模式应运而生。在Hybrid App整个开发框架上,有各种各样的框架,各种各样的技术选型,而现在主要的技术就是Web技术,不仅简单,更容易实现UI,开发者人数也比较多。大部分的框架是使用Web+Native实现组合的,王洁分享的内容范围是基于Web和Native Hybrid APP的框架。在Hybrid APP发展早期,Web运行性能是当时的主要的瓶颈。Web在性能方面有缺陷,Web不够就用Native来凑,就是选择了用原生技术来弥补Web上的性能不足,其实就是多WebView。王洁说混合的单WebView最大的障碍就是页面切换,闪白很明显。手机里面又讲究用户交互体验,从一个页到另一个页想做个平滑的动画,用纯Web技术在当时的条件下是非常难以实现的,其实目前大多数框架也是这么做的,就是采用多WebView,这样可以平滑的转场。因为早期硬件比较差,浏览器性能也一般般,所以有一些比较复杂的组件在实现一些功能的时候,速度比较慢。当时框架里是用NativeUI组件来弥补的,配合Web来实现这些功能。这种模式被定义为“重混”,用原生的能力去弥补UI,或者技术更偏Native的框架就被定义为重混的Hybrid App框架。重混框架优缺点很明显,优点是提升了运行性能、增强了交互。缺点是Web和Native技术交叉混杂,增加了开发人员的工作难度。但是,当下的手机硬件配置已经有了很大的改善,包括浏览器技术的发展也很重要,在GS引擎方面都有长足的进步。实现功能的时候用Web的技术的前提下已经不再需要Native技术来弥补了,随着技术的发展,性能已经不再是瓶颈。另一个改变了移动应用这一领域的进程事件不得不提到。王洁说,自从微信推出以后,相当于重新定义了移动应用的概念,通过它的服务号、公众号、企业号,微信本身变成了一种应用平台。包括微信最新的版本更新,它浏览器内核的升级,包括对游戏的支持,都和大量的移动App开发有着莫大的关联。而这个时候重混的框架就显得多余了,因为在重混框架里面很多性能的解决是依赖Native的原生部分。而到了微信里面,多WebView和NativeUI都没有了。原来在重混框架里面很强的一些能力完全就消失了,这时候在微信里面就有很多能力就不能用了。于是,轻混就成了目前真正要跨端Hybrid App的必然选择,这时候轻混的UI部分必须用纯Web技术,在底层的设备接口上,GS无法完成的原生部分需要Native技术来弥补。需要强调的是,Native的技术是不应该去侵入UI的,这样的一个框架就是我们所说的轻混Hybrid App框架,这才是真正的HTML5 App框架。构建高性能HTML5 App跨端框架伴随着以上的观点,接下来谈谈如何构建轻混模式下的HTML5 App框架。这种混合框架很简单,首先要有一个内置了浏览器的外壳,在浏览器里提供网页运行环境,同时在这个外壳上提供很多插件,可以让网络通过GS进行操作。基于这样的认识,王洁说,在选择HTML5框架设计的时候,要解决两个框架的问题,一个是HTML5的框架,一个是Native的框架。首先看Native框架的选择,选择PhoneGap框架,受到了业内主流厂商支持,微软也是用Cordova,它的插件框架是开放的,很容易自定义。另外就是要解决HTML5的一些性能问题,如果不采用重混架构的话,在页面切换还是会有一些障碍,王洁说到,WeX5采用SPA单页应用模式,它是基于传统的页面加载模式MPA,页面之间互相独立。但是SPA的不同之处在于,其框架里整个页面是由外壳页面框架组成的,是用AJAX技术完成的,AJAX在桌面时代就存在,通过局部刷新来提升用户体验。但是把AJAX技术最大化来使用,整个页面框架都用AJAX来实现,每个页面的加载都是这样的方式。对设备的局部渲染,可以在加载的时候在后面预加载再做转场

高性能html5的app,hybrid app走向轻混剖析wex5开源高性能html5 app开发框架.docx相关推荐

  1. 积木式移动互联网App Hybrid框架-modular

    你好,欢迎阅读本系列博文! 自09年初做Windows Mobile研发起,就踏上移动互联网平台App不归路了(题外话:何为Windows Mobile,它由微软打造,跟当年红极一时诺基亚智能手机系统 ...

  2. wex5 转换 html5,WeX5开发工具(html5 app开发框架)V3.9 开源版

    WeX5开发工具(html5 app开发框架)是一套免费开源的wex5应用快速开发框架平台.非常不错的html5开发工具,用来开发安卓.苹果.web.微信服务号等等,采用Apache源码,所有的代码都 ...

  3. html5 腾讯视频 自动,前沿科技:科普快手app如何拍摄嘴巴嘟嘟同框视频及腾讯视频app如何取消自动续费...

    互联网是高科技的产物,是历史发展.社会进步.人类智慧的结晶:是人类迄今所拥有的容量最大.内容最广.传递速度最快的信息中心.全球每天有四亿人使用互联网,上网人数占世界人口的百分之6.互联网为我们了解时事 ...

  4. Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?...

    什么是Progressive Web App? Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术,由Google实现,让浏览器打开的网址像APP一样运行 ...

  5. app模式会被第三方平台模式取代吗_手机 App 不能取代第三方浏览器的原因是什么?...

    嘿嘿,中午在 @邹剑波Kant 的答案下留言说我也写一写,那么我就也写一下: 话说最近真是喜欢晒数据,那么我们先看 2个数据吧: 这两张图表的数据来源是Talking Data在2015年年初发布的一 ...

  6. 酷狗html5排行,轻享音乐 酷狗全新HTML5播放器低调发布

    近日老牌数字音乐厂商酷狗音乐推出了基于HTML5的手机端播放器,跨平台使用,且无需安装,手机浏览器输入相应网址(m.kugou.com)即可实现音频播放. 酷狗html5播放器主界面 这是目前国内第一 ...

  7. 若依APP 一个非常火的java框架做个APP,若依Flutter安卓IOS桌面前端,若依安卓APP、若依苹果IOS APP、若依Linux APP、若依 MAC APP、若依 Windows APP

    在若依官网看了介绍,框架使用了最新技术栈.前后端分离.完全响应式布局.代码生成器......,似乎已经完美..... 若依这个框架在java非常火,后端和前端的技术非常先进,发现缺少一个原生APP,经 ...

  8. 百度App Objective-C/Swift 组件化混编之路(二)- 工程化

    作者丨张渝.郭金 来源丨百度App技术 前文<百度App Objective-C/Swift 组件化混编之路>已经介绍了百度App 引入 Swift 的影响面评估以及落地的实施步骤,本文主 ...

  9. App设计灵感之十二组精美的手机闹钟App设计案例

    手机闹钟的样式似乎很简单,但是通过不同元素之间的组合,可以改变整个界面的风格.这12组闹钟界面设计风格各不相同,对于元素的组合,都有自己独特的方式. ① Micro-interaction iOS A ...

最新文章

  1. 计算机二级申请创新学分理由,创新学分申请书范文
  2. 拨号到公司网络操作指南
  3. 【C++ 语言】引用数据类型 ( 引用数据类型定义 | 引用数据类型使用 | 引用类型参数 )
  4. G1 垃圾收集器原理详解
  5. matlab导入txt生成曲面,求助:怎样将txt的数据导入到Matlab中并根据参数画出波形...
  6. 内核页表隔离(Kernel page-table isolation,KPTI,简称PTI,旧称KAISER)
  7. 那年,三支玫瑰的花语是我们每人一支
  8. python生成器的作用是什么_看完这篇,你就知道Python生成器是什么
  9. Hadoop学习整理
  10. 嵌入式分享合集101-PLC
  11. 《跃迁:成为高手的技术》读后感
  12. test 4:假币问题
  13. 一个农村博士的独白:全家为什么只有我读到了博士
  14. UI控件DevExpress WinForm新手指南——如何在应用启动时执行操作
  15. Android集成微信支付之-天坑
  16. ffmpeg运行在服务器上,如何在脱离流媒体服务器的时候使用ffmpeg 监测.m3u8直播视频流的状态?...
  17. 华为交换机boot默认密码
  18. Navicat新建查询系统找不到指定路径怎么办?
  19. 分享几个好看的Bootstrap后台管理响应式模板
  20. xv6操作系统源码阅读之init进程

热门文章

  1. 《天涯明月刀手游》真武论剑怎么玩?看完你就懂了
  2. 【我的OpenGL学习进阶之旅】解决使用VAO的时候误用glDisableVertexAttribArray导致无法渲染出现白屏或者黑屏的问题
  3. 计算机在信息社会中主要的应用,计算机在信息社会中的应用ppt
  4. 域计算机连接工作组打印机共享,工作组电脑访问域内共享打印机
  5. 根据文献标题免费下载PDF格式文件的文献内容
  6. spring boot使用GZIP压缩
  7. strcat函数注意
  8. python取整方法
  9. 罗莱家纺授予客户奖励积分的处理应采用递延收入法
  10. python制作会动的表情包_只要3步,菜鸟也能用Python做个逗逼的表情包