HTML5为Web开辟者提供了很多强年夜的新特性,可是它的一些特定的限制会让它无法和本地应用匹敌。
HTML5整合进了很多新的特性,并且有可能提升Web编程模式。和每一个阅读手艺资讯的人所知道的一样,没有任何一样东西能像HTML5对互联网造成更多改变。在代码中插手一些HTML5,网站会变得更快更炫。可是HTML5能为那些想要要网络上实现本地应用表示的人做什么可能不在此列了。
在享受了HTML5的新标签以及APIs之后,现在已经是时机来认可HTML5模式确实是有一些限制的。这些限制不单会让我们对HTML5的幻境破灭,还有可能让我们在某些场合不再使用HTML5。
事实上是,虽然HTML5确实有很强年夜的功能,但它其实不克不及解决所有问题。它的一些附加功能是很是强年夜的,能让Web apps成为native app的强有力的敌手,可是平安问题、本地数据存储的限制、同步问题以及政治问题城市让我们减小对它的期望。事实成果,任何手艺都是有其限制的。
下面是Web开辟者需要接管的一些关于HTML5的事实。
事实1:平安是一场恶梦
客户端计较最底子的问题是用户最终拥有了对机械上运行的代码的节制权。在Web apps中,当阅读器拥有一个很强年夜的调试东西的时候,这种节制权比以往更容易被滥用。
当在阅读器中集成了一个Javascript的调试器比如Firebug,任何对Facebook、谷歌以及其他网站感兴趣的人都可以插入断点来查看代码。这对体会网站是如何运行的是很是有利的,但对平安问题来讲却是一场恶梦。
想象有个变量的值是你想要改变的,Firebug或其他一个阅读器调试器可让你很容易地将数据改成你想要的任何数据。你想要通过改变你的地理位置来捉弄一下你的朋友吗?那么你可以修改阅读器中的进度和维度变量,让阅读器"处于"世界上的任何位置。所有你的Web应用的neat features都可以被修改,阅读器使得这样的修改比在本地应用中更加容易。
对引发的平安问题,也是有些限制的。一些Javascript东西比如谷歌 Web Toolkit和标准的编译器一样复杂,它们的输出是很是使人费解的。可是一些东西比如JavaScript Deminifier能解决这个问题。
威胁当然也跟应用性质有关。一小我通过改变阅读器上显示的经纬度来和朋友恶作剧说在周游世界的途中是一回事,而取得其他人的权限又是别的一回事了,这会带来威胁。一旦涉及到金钱,情况会更糟糕。所有这些都意味着基于客户真个HTML5是不克不及用来措置敏感数据的,每小我都应该对自己的能力加以警省。
事实2:本地数据存储是有限制的
阅读器中隐藏的本地数据库让Web应用更容易在电脑上缓存数据。对任何一个在阅读器中享受这种台式机体验的人来讲,这些数据库可以节流带宽,提升性能。然而它们必定比不上本地应用的数据的强年夜功能。
HTML5的数据存储能力毫无疑问是很重要的功能,可是你仍然不克不及将存储的数据迁移到别的一台机械上,或是制作副本、备份、用别的一个应用打开。所有这些数据都是隐藏在阅读器之下的。
某种水平上说,这是最糟糕的一种情况。因为你要承担存储这些数据库的所有责任而不克不及对它有任何节制。
一些最新的阅读器可让你看到在你的机械上成立了哪些数据库,但这些信息是有限的。Safari甚至可让你能够删除数据库,可是你不克不及阅读这些信息或是将它们迁移到别的一台机械上,这些文件在设计之初就没有让它能够很容易迁移,虽然你可以做到这一点,如果你知道到哪里找这些文件的话。
你同样不克不及深入到文件中看到底存储了什么。当然,一个法度员可以看懂这些文件,但前提是他们研究清楚了文件格局并且做一些hacking。这些文件不像表单或文本可以很容易地荣任何编辑器打开,使得它们不像本地应用那样容易被人们读懂。
事实3:本地数据可以被把持
用户可能其实不拥有对数据的节制权,可是网站同样也被限制不克不及措置用户数据。用户换阅读器了?用户换机械了?很多Web开辟者对此都无能为力。因为同步问题,他们不克不及让用户成立更大都据。
Web开辟者也需要担忧本地数据库的平安。虽然没有东西可让用户可以很容易修改本地数据并升级权限,但办事器同样也没有能力去阻止用户做到。所有因为运行用户修改Javascript代码的平安缝隙同样会影响数据库。它们门户年夜开,等着有人写一个Greasemonkey脚本或一些本地代码去更改数据。