Web App 和 Native App,哪个是趋势?
一、Web App vs. Native App
比起手机App,网站有一些明显的优点。
- 跨平台:所有系统都能运行
- 免安装:打开浏览器,就能使用
- 快速部署:升级只需在服务器更新代码
- 超链接:可以与其他网站互连,可以被搜索引擎检索
但是,现实是怎样呢?
(1)体验差。手机App的操作流畅性,远超网站。
(2)业界不支持。所有公司的移动端开发重点,几乎都是原生app。
(3)用户不在乎。大多数用户都选择使用手机app,而不是网站。
如果将来有一天,Web app会成为主流,一定有一个前提,那就是它的性能可以赶上Native app。
二、为什么Web app有性能瓶颈?
Web app输给Native app的地方,不是界面(UI),而是操作性能。主要是互动(interaction)和动画(animation)这两方面,会出现卡顿(jank),用户会感觉到明显的时滞,有时简直慢得难以忍受。
Web app的性能瓶颈,主要有以下原因。
(1)Web基于DOM,而DOM很慢。浏览器打开网页时,需要解析文档,在内存中生成DOM结构,如果遇到复杂的文档,这个过程是很慢的。可以想象一下,如果网页上有上万个、甚至几十万个形状(不管是图片或CSS),生成DOM需要多久?更不要提与其中某一个形状互动了。
(2)DOM拖慢JavaScript。所有的DOM操作都是同步的,会堵塞浏览器。JavaScript操作DOM时,必须等前一个操作结束,才能执行后一个操作。只要一个操作有卡顿,整个网页就会短暂失去响应。浏览器重绘网页的频率是60FPS(即16毫秒/帧),JavaScript做不到在16毫秒内完成DOM操作,因此产生了跳帧。用户体验上的不流畅、不连贯就源于此。
(3)网页是单线程的。现在的浏览器对于每个网页,只用一个线程处理。所有工作都在这一个线程上完成,包括布局、渲染、JavaScript执行、图像解码等等,怎么可能不慢?
(4)网页没有硬件加速。网页都是由CPU处理的,没用GPU进行图形加速。
上面这些原因,对于PC还不至于造成严重的性能问题,但是手机的硬件资源相对有限,用户互动又相对频繁,结果跟Native app一比,就完全落在了下风。
- Web App 和 Native App,哪个是趋势?
- Web App 和 Native App,哪个是趋势?
- 【开发者观点】Web App和Native App,谁会是未来的主流移动趋势?
- 选择开发Web App和Native App的条件···
- 聊聊Web App、Hybrid App与Native App的设计差异
- 关于web app,选择 PhoneGap、Sencha Touch 或者 jQuery Mobile 哪个比较好
- Web App和Native App 谁将是未来
- 移动互联网Native app与Web app比较
- 移动开发 Native APP、Hybrid APP和Web APP介绍
- 聊聊Web App、Hybrid App与Native App的设计差异
- 超赞!聊聊WEB APP、HYBRID APP与NATIVE APP的设计差异
- 对当前主流hybrid app、web app与native app工具的初步比较与分析
- 个人论述 Native app (IOS) 和 Hybrid app 以及 Web app
- Native App、Web App、Hybrid App的区别
- Native App开发 与Web App开发(原生与web开发优缺点)
- 手机开发之Web App和Native App 谁将是未来
- web app和native app的区别
- Web App、Hybrid App、 Native App
- Web App和Native App 谁将是未来
- Web App和Native App 谁将是未来