【转载】HTML5能否颠覆传统Web应用?
前段时间我们曾报道了一篇HTML5分裂成两标准,许多开发者对此看法不一,有的认为HTML5是一门刚兴起的技术,很多项目都在磨合期,如今分裂不利于其发展;而有的则认为W3C对未来HTML5反应太过迟缓,WHATWG能够加快HTML5的发展速度。那么您赞成哪一方看法呢? Todoist 网站创始人Amir Salihefendic向我们讲述了利用HTML5开发有很多优势,此外,他还认为HTML5将颠覆Web应用。
文章内容如下:
Todoist网站已经拥有350.000+用户以及数百万项任务。如果HTML5无法给人带来惊人的体验,那么无论我们说什么、做什么都于事无补。本文将探讨为什么我们要这么做以及为什么认为HTML5将会改变人们使用、认知的网络。
HTML5标准尚未开发完成。现今大多数现代浏览器只执行了部分标准。Todoist使用Web存储,支持离线访问两项功能。尽管只有这两项,我们可以提供丰富的经验,这也是其他任何网站无法匹敌的,主要有:
- 离线应用(Offline usage):当你无法连接到网络时,Todoist会自动切换到离线模式使你能够轻松访问并更新项目、任务。当网络再次连接时,服务器会与您的数据进行同步。
- 出色的表现(Stunning performance):使用Todoist能够快速响应桌面应用程序。这是因为所有的数据都是本地存储,应用程序无需远程传输给服务器。而这些都是非HTML5应用无法做到的。
你可以尝试使用基于HTML5创建的 Todoist,你会发现大有不同。
对Todoist新版本有什么看法?
Lifehack.org一款非常流行的博客,拥有100.000读者,读者在《 A First Look at the new Todoist》这篇文章评论里众说纷纭。以下是摘取的部分精彩内容:
“我会说,它给你的感觉就像在使用本地应用。当你在做数据创建、更新和删除异步数据时带给你高敏感度的接口。”
“该应用程序快速流畅,在使用时就像一个桌面应用尽管有一些Bug(虽然这是测试版),但我不得不说新版本的Todoist将成为最好的基于Web开发的应用之一。”
旧浏览器支持情况如何?
经过我们的调查分析,只有10%的用户浏览器不支持Web存储;20%用户浏览器不支持离线访问。为了确保Todoist正常运行,我们需要Web存储,也就说只有10%的用户无法使用HTML5版本的Todoist。余下的90%用户对我们来说非常重要,于是我们决定为了他们要做出更好的用户体验。
HTML5:一种的新的模式转变?
过去,在Web技术领域嵌入新的用法已经发生范式转变。这里有一段关于技术方便简史和以及他们所作的努力。
- Ajax通讯技术使Web开发更加富有活力。目前,大部分现代Web和移动应用使用大量的Ajax开发应用。其中两个最大的例子要数Facebook和Gmail。
- Comet(或者HTTP服务器端推送HTTP server push一种从Web服务器发送数据到Web浏览器的机制)革命性的实时通信和实时通知。有了Comet使得Facebook Chat和Gmail Chat在Google Docs中同步编辑成为可能。
我猜想,HTML5新的标准改变了用户的意识和Web应用程序的使用方式。为什么呢?因为使用HTML5创建的应用程序有着惊人的类似桌面的性能能够完全支持离线功能。
为了便于理解Web是如何发展而来的,我们来看下一用户是如何交互使用Ajax,Comet,HTML5启动离线应用的。
Before Ajax
在Ajax出现之前,需要将整个页面进行修改以确保更新。这样速度并不是很快,尤其是当Web页面复杂时更是需要很长时间。
With Ajax
Ajax的出现使得Web页面更加的动态,只需更新部分页面。更新网站的一小部分速度会快很多,原因是只需抓取和更新部分数据。
With Comet
有了Comet使Web更加实时,这就意味着服务器可以随时给客户端推送数据。这个应用类似Facebook Chat。
With HTML5
HTML5使Web应用程序越来越来快,因为这些数据可以在用户电脑上进行本地存储和操控。HTML5还支持离线Web应用。
HTML5发展面临的挑战
HTML5面临着许多核心的挑战,这是因为只有一小部分Web应用程序在使用它。 主要问题有:
- 任何程序都必须基于客户端实现,因为你不能只依靠一台服务器,你必须创建多种客户端。这就意味着必须使用大量的JavaScript,对于JavaScript来说很难实现在大型Web应用程序中构建客户端。
- 智能化同步数据并不容易,你需要处理类似临时身份证一样的东西,同样的命令需要运行两次。
- 缺乏浏览器支持:HTML5还是一项新技术,很多浏览器并不支持。比如:缓存无效是很难且无法运行工作。若要解决此问题,我们需要进行特殊处理以确保用户运行最新版本。
尽管HTML5存在多种挑战,因此需要一种新的方式来执行Web应用程序,但HTML5提供了一个洁净的代码库,至少我们是这么认为的。当你需要在某个地方(数据同步时)处理服务器出错利用这个代码库就可,而不是处理每一个请求(比如你用Ajax)。
移动平台上的HTML5
大部分智能手机上的浏览器支持HTML5。你可以查看Facebook利用大量的JavaScript创建惊人的移动应用。Todoist的移动终端也是基于HTML5技术创建而来,我们在Web(网页版)和移动版之间重复使用大量的代码。目前,利用HTML5构建移动应用依然有难度,目前我们正在为iOS和Android系统开发原生应用。
我相信当移动浏览器变更加成熟时,很多东西都会成为可能,HTML5和本地应用程序之间的差距将会缩短。目前来看,我认为移动客户端最好使用本地化的应用,因为使用Web技术很难实现良好的用户界面。当然,这也不无可能,LinkedIn就是利用现代的Web技术创建了一个非常出色的移动应用。
桌面上的HTML5
在Todoist同样能看到我们是如何重用HTML5版本为Windows, Mac OS和Linux系统构建“本地化”的桌面应用。对于我们来说,这是一个非常经济实用的构建,因为我们只有一个代码库,针对不同的操作系统只用CSS3样式表作为前端开发。我们的用户通过启动cloud-enabled“本地”应用与他们的桌面系统很好地集成在一起。
微软拥抱HTML5及其相关的Web技术服务。例如,Windows 8利用Web技术(如HTML5、CSS3)建立快速且易用的“本地化”Windows应用程序。我认为同样的技术同样适用于Mac OS和Linux。
这就意味着你可以轻易的将HTML5 Web应用转换成桌面应用并且未来市场很广阔。对于我们开发者来说,这是一次很好的机会,因为管理很多种不同的代码库也是一个巨大的挑战,此外成本也很昂贵。
结束语:
我们已经发布了HTML5版本,用户对于新版的HTML5体验也给出了非常好的评价。总之一句话,我们非常期待Web的转变,期待利用HTML5及其相关技术创建更多的应用程序。
英文出自: amix.dk
转载自: http://sd.csdn.net/a/20120803/2808148.html?bsh_bid=115655449