0

0

HTML 5 应用的用户体验能达到本地应用那么好吗?

php中文网

php中文网

发布时间:2016-06-07 08:45:06

|

1757人浏览过

|

来源于php中文网

原创

我是指用 HTML 5做成 Web 应用或打包成本地应用两种情况下

易达中小企业CMS管理系统1.8.6
易达中小企业CMS管理系统1.8.6

初次使用易达CMS企业系统以下简称(易达),易达系统运行于微软公司开发的 ASP 程序平台,ASP是目前国内应用最广泛的WEB开发语言,空间基于微软windows IIS,使您的购买空间和维护成本降到最低,并以其众多独创或领先的新特性和功能设计,使得用户深刻体验到易达以原创研发、服务客户为主导开发理念的独到之处和领先优势,易达严格上讲是为懂点网站建设和HTML或DIV+CSS技术的人员而开发的一套

下载

回复内容:

先举两个案例:

1. Shiu:HTML5 打造的离线 web book(app),请用 iPhone 测试 [1]
2. Flipboard 的 web 仿造版 [2]

HTML5 可以(或者说有潜力)在用户体验上达到本地应用的__平均水准__。

这主要得益于 Webkit 带来的竞争,标准「军备」翻了一翻:

- CSS animation, GPU acceleration
- JavaScript/DOM API improved, e.g. File API
- Offline storage

但是 HTML5 应用最大的问题(瓶颈所在)却还没有「标准地」解决:

- 性能
- OS 交互

虽然 V8 引起的性能竞争很激烈,但终究也只是 JS engine,HTML5 可不是一个 JS 快了就完事的玩意。

比如 DOM repaint & reflow、CSS animation 都不是低需求的主。

GPU acceleration 实现也还不是「标准」,各有各的情况。

这里举两个例子:Twitter & iCloud.com

Twitter 网页版体验上看上去挺接近本地应用的(除了 online 外),但是在 Chrome 下占用内存可以轻易超 100MB,最多时 800MB(似乎是 Chrome bug 引起),长时间运行会影响系统效能。

而 Echofon 在长时间运行后,始终保持在 100MB 以下,CPU 也不会高。

iCloud.com 在 UI 和功能上都往本地应用看齐,比如 Calendar。但遗憾的是,在我的 MBP 374 里,卡顿感明显,比如双击后停顿 .5s~1.5s 才弹出添加事件的窗口。并且内存占用达到了 438MB。

至于 OS 交互,你懂的。

因此 HTML5 的体验可以达到本地应用的__平均水准__,再往上就需要看平台、设备,对开发者的水平也挺看重。

HTML5 应用更多是看运行的平台,比如背后用 Cocoa、界面用 WebView 呈现,比如豆瓣出品的 OneRing,比如针对 Chrome/Webkit 的离线应用。

所以建议你们在考虑「HTML5 体验行不行」时,先考虑:

- HTML5 开发成本 V.S. 本地应用开发成本(比如团队学习成本)
- 核心需求是否能通过 HTML5 实现(比如 UI animation 是不是很多)
- 核心用户的平台(比如中国 Win 用户)
- ......

如果目标群体设备的性能都比较理想,HTML5 是不错的。

另外,上面都是谈普通应用,游戏的话,HTML5 是很好的平台,会有更好的表现。

----

- [1] github.com/alswl/shiu
- [2] tympanus.net/Developmen 取决于你的应用类型,你需要大量的特效和动画,或者调用很多系统资源比如摄像头的话,HTML5不是个好选择。否则的话问题不大。

当然这并不是说HTML5只能开发简单朴素的应用,从google的动态doodle和g+其实可以看出HTML5的能力。

使用HTML5需要前端对浏览器性能和差异的了解很深,才能保证整体效果。要解决响应速度问题,开发中可以使用适当分页面加载,或者先响应动作,再加载数据或者直接预加载数据的方式解决,只不过对前端代码的要求就更高了。 对于HTML5的效果和效率讨论详细在很长时间内都是一个无法回避的话题。下面从几个方面来谈谈我的看法。

首先,随着硬件和系统的不断升级,一些以前很头疼的效率和效果都能得到解决,比如在android2.3时代的页面展现,由于使用的是android browser而不是
chrome,有很对webkit特有的特性都不支持,如输入框的边框显示,css的遮罩效果,一些css特效动画等都不能实现。从效率上页面渲染的速度也比较慢,主要原因
应该还是dom占用内存很多导致。而目前的主流手机都已经是2G甚至4G内存+,并且大都配置了android 4.x(关键是4.4版本)了,浏览器默认都是chrome了,上述问题可以说
基本得到了解决。因此我想说的是,当我们把目光放远一些,会发现HTML5是很诱人并且确实是很现实的选择了。

然后谈一下做一款HTML5应用的体会和经验吧,对于HTML5和原生的优劣比较这里不多说了,已经有了很多很好的论述,我从实际开发的角度说一下有哪些可以优化的地方。
1 网络连接优化:应该说网络连接优化是最可控的,这个能达到和原生应用完全一致的体验。原因很简单,HTML5应用里面所有的html页面,css,js,图片等,我们都
可以打到安装包中,用户安装完毕后,打开的页面都是本地页面,不需要连网,只有产生业务数据时,才使用AJAX进行数据请求。而对于网络情况的判断,对于连接超时的
设置等,JS或者说XHR规范都支持了。
2 数据本地存储:主流浏览器对于LOCAL STORAGE的支持没有问题,可以保证本地存储的实现。当然,这个存储是KEY-VALUE模式的,需要在应用中对于存储的数据进行
一定的设计,比如用JSON存储实际数据,而对于这些数据的检索,目前也已经有了不少JSON QUERY的支持库了。当然CHROME也支持SQL LITE,不过个人对于这种方式
不推荐,毕竟在客户端上我们不需要太复杂的SQL查询。
3 文件本地存储:在原生应用中很多文件我们都需要下载到本地,比如音视频,图片等,HTML5应用一样,如果是纯HTML模式那么目前我们可选择的就只有CHROME的
FILE SYSTEM了,当这个选择会有一些限制,比如需要用户同意本地存储的策略,另外FILE SYSTEM的存储路径与物理路径没有直接关联,这个对于应用的调试和管理
也会产生障碍。因此这里还是推荐使用原生插件的模式,利用原生文件系统做这个事情,比如CORDOVA的FILE TRANSFER插件。
4 音视频的播放:HTML5的插件可以满足需求
5 动画效果:HTML5 CANVAS以及CSS3的各种动画特效都能满足需要。
6 录音录像:CHROME的WEBRTC可以实现,但是在手机上的效果一般,还是建议使用原生的插件或者自定义插件实现。
7 页面展现和排列:这个确实效率比原生应用有一定差距,尤其是滚动和页面内容比较多的时候。这就需要应用在渲染的时候进行优化,比如限制展现区域,比如在定义
点击区域时尽量使用TAP而不是CLICK,并且最好减少对于大区域的点击事件.....

最后介绍一款使用HTML5实现的安卓应用:),OK外语宝,一款英语学习的安卓应用,使用CORDOVA框架实现的HTML5与原生混合型应用,
里面的HTML5实现了动画,音视频,语音录制,语音识别,本地文件和数据存储,网络同步等多个HTML5特性的使用。在各大应用市场都可以下载这款应用(应用宝市场:android.app.qq.com/myap)。而且还有一个特色是这个应用真正实现了原生与HTML5的同步,即所有的安卓应用功能都能在网页上同步呈现。用CHROME浏览器访问web.okkouyu.com,你会发现里面的内容与手机上安装的功能完全一致。 先不说别的,webapp顶部一个bar,浏览器上面又算一个bar,看起来都是怪怪的。

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

AngularJS教程
AngularJS教程

共24课时 | 3.2万人学习

CSS教程
CSS教程

共754课时 | 25.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号