web系统架构体系B/S(Browser/Server):浏览器实现优点:规范、使用方便、本身实现成本低 容易升级、便于维护缺点:没有网络,无法使用 保存数据量有限,和服务器交互频率高、耗费流量 安全
顺晟科技
2021-06-16 10:10:20
238
HTML5将改变互联网的方方面面。HTML5可能不会完全取代Flash,但会重塑互联网,让浏览器在没有插件的情况下做更多的工作,从位置跟踪和视频播放到云缓存数据到本地,最终让互联网更安全、更高效、更灵活。
Adobe和苹果围绕Flash的冲突是今年上半年的一个焦点事件,引起了很多人的关注,很多人更先了解到HTML5的存在。次知道HTML5的人可能会很惊讶。HTML5规范早在六年前就制定好了。现在HTML5规范草案虽然很好,但是真正成为标准的时间还不确定。
拿什么来重塑网络世界
的确,HTML5规范开发委员会工作非常缓慢。因为关于如何改进浏览器和Web世界的想法太多了,浏览器厂商和其他人都要收敛到HTML5规范中,达成一致,这需要时间。虽然许多新的标签和JavaScript函数已经在一些浏览器上进行了实验,但是互操作性和标准化问题还没有得到解决。比如苹果做的HTML5演示虽然让人印象深刻,但只在Safari上运行良好。这就是为什么Flash支持者嘲笑HTML5把Web带回了2000年的浏览器战争。
虽然这种嘲讽可能会让HTML5的支持者伤心,真的很难等很久,但是忽视HTML5是不对的。因为HTML5背后,IT不仅仅是行业巨头的推动,更重要的是,标准化是IT技术发展的必然趋势。就软件而言,无论是浏览器还是相关的开发工具,都会不断的吸收周围的各种技术,最终进行标准化,这是技术发展的必然规律。
可以肯定的是,HTML5会改变互联网的方方面面,显然不会完全取代Flash,但是HTML5确实重塑了互联网,让浏览器不用插件就可以做更多的工作,从位置跟踪到把数据保存到云端。HTML5标签将取代完成更简单任务的插件,至少在某些情况下,它可以为更多的用户开发一些功能。最终可能会让互联网更安全、更高效、更灵活。
那么,即将成为新标准的HTML5将把我们带到哪里?以下是开发者、程序员、设计师的意见汇集,从中我们可以了解HTML5是如何改变互联网的。
降低插件的重要性
过去,浏览器插件在Web世界非常流行,因为它们鼓励创新的想法和大胆的实验,声音、动画和其他非常生动的网页最初通过孙、Adobe、RealAudio、微软等公司开发的插件呈现在网络上时,确实令人耳目一新。但是,问题很快就出现了。插件界面对所有人开放,所有人都在试图给旧的基于文本的世界添加新的功能,这使得混乱不可避免。最的插件是Flash,还有无数其他类似的插件。
由于多种原因,苹果已经禁止Adobe Flash在自己的平台上运行,使得苹果粉丝无法在苹果平台上看到Flash。HTML5的普及会让这种冲突不再出现,会逐渐淘汰那些相对封闭的开发系统:JavaFX可能真的很强大,但是既然JavaScript和Canvas对象可以做同样的工作,为什么还要学习另一种语法呢?如果视频标签可以同步音视频,谁还需要Real生态系统?
那么,所有的插件真的会消失吗?也许吧,但这取决于你想做什么。如果你的目标只是画图像,画布对象可能就够了。但是如果你想建立一个专业的3D世界,就像在复杂的Flash和Shockwave游戏中看到的那样,你可能不得不依靠专有的插件技术,因为这些插件技术可以直接访问视频硬件,运行3D游戏。
支持动态图像生成
过去,网页中显示的图像来自直接下载的GIF或JPG图像,但在HTML5中,图像可能不是直接来自图像文件,而是由一个Canvas对象临时生成的。网络上出现了大量的图形库,这些图形库的存在使得动态生成图像更加容易。
现在JavaScript层可以计算数据,绘制图形。如果软件开发人员有足够的时间和人才,网络上的一切都可以变得更加生动,纯文本的内容越来越少。Flash只是个开始,HTML5环境让Web开发人员更容易开发复杂的图像。市场上出现了一些类似的工具,会进一步提高Web开发人员对图像的控制能力,随着工具的成熟,开发人员也会开发出更专业、更复杂的图形。
这里可能存在的一个问题是,这种图像处理可能会给客户端处理器带来很大的负担,例如,它对客户端处理器的处理能力有一定的要求。以前有些开发者根本不敢用Flash插件,因为渲染和显示Flash内容可能会给处理器带来很大的压力,极大地影响用户的最终体验。这应该不是以后的问题。开发者不要因为害怕影响性能而让用户体验生动的图像,而应该做出折中的选择。每一个抱怨Flash对性能影响的人都应该知道,这和技术本身无关,问题在于设计师为了吸引我们的注意力而过度使用这种技术。
允许网络程序利用本地存储
其实Web程序员可以利用浏览器上的本地存储空间来存储大量信息。例如,IE最多允许300个Cookie和4096个字节的内容。但是,要开发一个真正实用的Web程序,可能需要比这更多的存储空间。比如之前的Dojo工具包用Flash插件在用户硬盘上分配一部分空间留给浏览器,现在很简单,HTML5也能达到同样的目的。
对于这部分存储,程序员可以根据自己的需要随意使用,比如把云服务的应用和数据保存在本地硬盘上。这也使得云应用的交付、安装和部署与传统应用非常相似。比如不管有没有互联网连接,云应用都可以照常运行,因为HTML5应用的JavaScript代码之前已经从服务器下载过,这部分代码保存在本地。
当然,这项技术的应用并不会影响云应用的普及,因为现在的运营模式与过去有很大的不同,本地数据库实际上起到了智能缓存的作用。此外,游戏开发者可以在本地存储一些场景信息和设备信息,可以避免每次都下载这些信息,节省了下载素材的时间。缺点是这些数据库深埋在系统文件夹中,使得数据备份非常复杂。如果用户希望将数据从一台机器迁移到另一台机器,数据迁移可能会变得更加复杂。
也许混合云的出现也许可以解决这个问题。混合云允许存储云和本地数据,而本地计算机只缓存数据,最终版本存储在云中,因此可以从任何计算机访问。
简化网络开发中的数据提取
从网页中提取数据的Web开发人员知道,现有的HTML结构除了告诉浏览器信息在哪里之外,几乎不能提供任何有意义的信息。但是,开发人员需要知道与数据本身相关的信息,这可以帮助程序员理解数据的真正含义。HTML5中所谓的Microformat引入了一种新的机制,在HTML中加入了一些特殊的标签,可以帮助程序员分析标签中数据的真实含义。
没有人能预测微格式会给网络带来多少变化,但很容易看出这种新机制会给程序员带来极大的便利,帮助他们开发出更高效的Web应用。例如,如果有一种好的、标准的方式来表示日期和时间,那么程序员在为网站开发与时间相关的Web程序时,就不需要编写专门的代码来分析或猜测别人可能使用的时间格式。这样,日历、时间表、日程安排等需要从多个数据源收集时间信息的应用就变成了非常简单的工作。
支持定位服务
在网络世界里,过去我们只知道它的IP地址,不知道那些数字对应的是什么样的现实世界。比如过去几乎不可能知道一台电脑在哪里,现在定位服务可以解决这个问题。HTML5标准允许JavaScript询问浏览器用户的地理位置,比如经纬度信息。通常桌面系统不支持这个功能(因为需要GPS或者Wi-Fi),但是如果终端是手持智能手机,这个功能是可以工作的。
今天,没有人能知道智能程序员将基于这些位置信息创建什么应用程序,但有一点是肯定的,未来一定会以一种不可预测和不可思议的方式将虚拟世界与现实世界相结合。
使网络视频播放更加流畅
HTML5中的“视频”标签使得Web开发人员可以轻松地将视频内容与网页中的其他内容进行整合,同时也允许那些从事jQuery和PHP开发的人员加入Web开发团队,这使得Web开发不再仅仅是Flash、Silverlight和JavaFX开发人员的专利。
虽然这个想法看起来很诱人,但是仍然面临很多困难,因为HTML5标准没有规定编解码器,每个人都想发布自己的视频和声音编解码器。这意味着我们用另一种混淆来代替一种:只是过去我们称之为浏览器插件中嵌入的软件,而今天我们称之为编解码器。因此,虽然我们今天有一个标准的“视频”标签,但浏览器可能知道也可能不知道如何解释这些视频内容。
在洛杉矶任教的HTML5应用开发讲师Erich Ocean认为编解码器之战还在继续。“如果计算机开发人员和Mozilla组织认为他们可以为视频专业人士设定视频标准,那就是大错特错了。”他说,“我们已经看到谷歌的新视频格式已经在一些地方使用,比如YouTube,但它永远不会像H.264那样受欢迎。”
虽然视频播放可能处于混乱状态,但由于不可能让所有人达成一致,新的“视频”标签肯定会让互联网视频内容越来越丰富,网页会成为视频内容的主要发布来源,而纯文本内容会越来越少。但对孩子的教育可能不是好事,因为现在的孩子越来越习惯看动画,很少花时间看书,更不用说写作了。
Widget会更加丰富
在IFrame中运行的Widgets允许网页嵌入其他网站的内容(比如天气预报),非常实用和流行。但是由于安全原因,这些小部件一直运行在一个相对独立的环境中,与网页中的其他内容基本隔离。
而HTML5为这些Widget相互通信提供了标准机制。虽然还是无法进入对方的运行环境,但是可以互相发送信息,共同工作。
广告主对此期待已久,非常希望整合分散在同一网页各个位置的横幅广告。从开发的角度来说,开发者肯定会找到其他的实际用途。比如网页上播放的网球比赛画面可以和左右两边的选手信息同步,这在HTML 1.0时代是不可想象的。
但是,能够发送信息和相互通信的机制只是开始,下一个迫切需要解决的问题是通信协议,因为到目前为止这个领域还没有标准。两个不同开发团队开发的Widget,只有设定了一个传递信息的标准之后,才能相互交流。换句话说,交际双方都需要更标准的词汇。
提高浏览器的安全性
每个浏览器插件都是一个独立的应用,不同的程序员根据不同的标准开发不同的浏览器插件,发布时间不同,安全模式也不同。当然,有些插件比其他插件更安全。随着浏览器中插件越来越多,追踪每个浏览器插件中可能存在的安全漏洞也越来越复杂。比如说,可能有人很难记清楚去年年底某个时候你企业的安全漏洞是在插件还是浏览器,是通过升级浏览器而不是插件解决的还是反过来。
在HTML5中嵌入很多功能而不是使用插件,可以大大降低安全风险,避免很多与插件开发相关的环节出现问题,防止人们在插件中故意使用API安装恶意代码。因为相对来说,火狐、Chrome或者IE浏览器的安全性通常是被更多人(包括安全团队)审核的。如果安全团队认为一个浏览器是安全的,一般来说,它的安全风险肯定小很多。
然而,这里提到的安全改进有一定程度的主要猜测。这个世界上总有一些人利用自己的聪明才智去“邪说”,他们可能会利用HTML5的一些特性去从事一些恶意的行为。只是没人能预测HTML5的新特性中可能隐藏着什么危险。
简化网站开发
一个在Web软件开发公司工作的开发人员的话很有代表性,简洁地阐述了HTML5可能带来的变化。他说:“我更喜欢HTML5主要是因为它让我能够在一个统一的开发环境下进行开发,就是浏览器加JavaScript加DOM,而不是在Flash世界和HTML5世界之间来回切换。以后只要掌握一门开发语言,掌握一套工具集,就可以开发任何插件。”
他补充道,“我觉得对用户的好处也是显而易见的,现在Flash似乎在互联网世界创造了另一个世界。”
的确,HTML5使用统一的语言(JavaScript)、统一的数据模型(XML和DOM)和统一的呈现规则(CSS)来表示文本、音频、视频和图形,这无疑是开发人员的理想选择。基于统一的标准开发环境,工作肯定会简单很多。然而,实现一切的挑战仍然是巨大的。一个突出的问题是缺乏工具,与HTML5相关的工具很少。不可否认,Flash的普及离不开Adobe对于Flash开发非常有用的工具。
07
2022-10
30
2022-09
15
2022-09
15
2022-09
15
2022-09
15
2022-09