HTML5无所不能之设计Web APP
极客
开发WebAPP(运行在网页中的软件和游戏),你用的是什么?还用传统网页技术?少年,你太凹凸曼了!在HTML5面前,传统WebAPP毫无优势,除了被秒杀,还能做什么?
秀野堂主,大师级网页设计师,HTML5研究小组成员(http://www.mhtml5.com),中国传媒大学动画与数字艺术学院兼职讲师。他写的《论道HTML5》广受好评,他的HTML5教学视频得到行业的广泛认可。
邮箱:admin@xiuyetang.com
个人网站:www.xiuyetang.com
新浪微博:http://weibo.com/xiuyetang
HTML5给Web APP添彩
提要:对一个程序而言,最重要的有三块,一是计算,二是通信,三是存储。改善了这三大块,整个程序水准就会提高一大截。
我曾经在多个技术聚会和培训的场合说过,设计WebAPP需要想象力。在以前,很多时候客户提出的要求,技术人员往往会很尴尬地告诉你:这个不行,那个不行。现在有了HTML5,情况大不相同。由于技术革新,很多以前不能实现,而且从来没有出现的应用,现在和将来都会出现在大家的面前。
例如,以前在网页上,实现3D特效就是不可能的,而现在利用HTML5就可以。大家来看一个我们以前常玩的游戏:俄罗斯方块。这个游戏非常传统,相信很多人都玩过,但是,你试过3D版的俄罗斯方块吗(网址:http://go.icpcw.cm/f/jk092.htm
上例,只是HTML5设计WebAPP的冰山一角,像新浪微博APP、迅雷APP、个人的MP3播放器、云端像册、网络记事本等WebAPP,都有不少已经运用了HTML5技术。那HTML5设计的WebAPP 和以前的网页程序相比,好在哪里呢?我认为,在三个方面有了重大进步和改善:
计算能力
WebWorker的多子进程运算功能可以将现在多核CPU的强大运算能力发挥到极致,让HTML5制作的WebAPP彻底从运算能力上远远地将过去的WebAPP甩在后面。例如3D俄罗斯方块就运用了这个技术。
通信能力
WebSocket的双向双工长连接通信协议可以实现以前不可能实现的持久化通信。现在,借助这个协议,用HTML5制作一个聊天室软件是分分钟的事情,跟喝水一样简单。
存储能力
过去的WebAPP并没有得到浏览器在存储上面的大力支持,大多数的存储都是临时的。而现在不同,有了localStorage的支持,HTML5的WebAPP将可以实现比以前提升至少10倍的存储能力。目前,一些用HTML5开发的大型游戏,例如宝石迷阵等,就运用了该技术。
HTML5是这样设计Web APP的
提要:只有最高效的技术,才值得我们去追逐
说了那么多,我们来看一个真实的案例——制作实时在线的聊天室。以前人们用Ajax来负责聊天室的通信,而我用的是HTML5独有的WebSocket,它们的技术对比如表所示,可见HTML5完胜Ajax。大家体验一下传统技术开发的聊天室:http://go.icpcw.com/f/jk098.htm,和用HTML5开发的聊天室:http://go.icpcw.com/f/jk099.htm。
聊天室的工作原理如下:先建立一个聊天服务器,网友从浏览器端向服务器发出连接请求,成功建立连接后,服务器就可以不断地接收来自各个浏览器端发来的信息,再通过服务器广播给所有连接上来的人。
因此,首先要架设一个供信息中转的聊天室服务器,接收各个不同的浏览器端的请求,接着,建立一个公用的浏览器客户端程序。在这个客户端中,我们可以分为两个部分和一个管道:聊天信息显示部分,在这个区域中,专门接收服务器广播过来的所有信息并显示出来;聊天信息发送部分,主要是聊天信息的输入框和发送按钮,用户在输入聊天信息后,点击“发送”按钮,就可以将信息发到服务器端;一个管道,就是利用WebSocket和服务器端建立起管道式的通信——WebSocket就是这个HTML5聊天室的重要元素。关键代码如下:
var s = new WebSo
cket("ws://127.0.0.1:8000/");//连接WebSocket服务器
s.onopen = function(event){//当连接成功时
console.log("连接成功了!!!!!!!!");
document.getElemen
tById("valueLabel").inner
HTML="
green>已经连接到秀野堂的WebSocket服务器
由于篇幅有限,这里只讲了WebSocket这一个技术点,如果大家对HTML5开发WebAPP的其他技术点感兴趣的话,可以购买我的书或者访问我的个人网站!
谈谈网页革新的15个趋势
网页开发历史悠久,从最简单的静态页面到如今的HTML5页面,走过了一段艰辛的历程。十多年前,随意设计一个网页就能满足用户的需求,如今网页不用心设计根本无法赢得用户的喜欢。如何设计出用户满意的页面呢?你要紧跟时代的潮流,符合用户的口味,快看看当前网页革新的15个趋势吧,千万不要落伍了!
帖子:http://go.icpcw.com/f/jk093.htm
@湖南 木蓝飞云
为触摸屏而设计
对于移动设备的操作系统及应用来说,判断其用户界面是否优秀的一个重要衡量标准,就是看它对于手指触控操作的友好程度。相比于PC平台,触屏移动设备所具有的交互特性更加突出;设计方案会更多地运用人机工程学,而不单单靠内容与功能来吸引用户。简单地说,就是为触摸屏而设计,此时就要考虑拇指原则、底部原则,看看国外的工程师是如何考虑这方面的问题的吧!
帖子:http://go.icpcw.com/f/jk096.htm
@四川 胡亿
未来会崛起的10大编程语言
当前,已经有很多开发编程语言,但各种新的编程语言还是在以惊人的速度产生,为什么会这样?答案就是随着多核CPU、云计算、移动及分布式结构的不断发展,简单的语法已经不能适用,我们需要更加强大的语言!当前有10种编程语言,在未来极有可能震撼IT界——每一种语言,都有可能打开编程世界的新大门!
帖子:http://go.icpcw.com/f/jk091.htm
@甘肃 爬山的小猪
各大IT公司2012年招聘题集
进入知名IT公司工作,例如百度、新浪、网易等,不但高薪且倍有面子,因此知名IT公司的职位吸引了很多有梦想的人,不过这些公司的招聘考试题目都非同一般,你要没有点能耐仅招聘考试一关就过不了。想知