天下网吧 >> 网吧天地 >> 网吧行业 >> 网络追踪 >> 正文

HTML5的下一步如何走?

2013-11-22不详佚名
:HTML5的下一步如何走?

英特尔有识人士探讨HTML5的未来

计算机程序员一直受跨平台问题的困扰,自从需要涉及第二个平台开始。自那之后,问题的数量便迅速增加。如今,开发人员至少需要同时针对四个操作系统(以及更多细分的系统)进行开发,运行这些操作系统的设备具有各种外观、尺寸大小、分辨率、持久度、输入方法、运营商网络、连接速度和状态、用户界面的规定、应用商店、部署及更新机制等。

全球许多开发人员一度曾将Java*视为跨平台开发的首选。确实,Sun*(现在为Oracle)的这种结构化语言持续在解决许多跨平台问题,但它也会引入不少障碍,而其中最重要的一个障碍之一便是,类结构甚至会给最微小的程序功能造成沉重负担。在开发人员转为使用浏览器来进行应用交付时,Java带来的负担变得更加沉重;Java小应用程序对浏览器而言是不透明的黑箱,因为该语言对开发人员是封闭的(尽管我们非常尊重JCP)。

在Java使浏览器大战愈演愈烈的同时,一种名称相似的解析语言横空出世。这种语言开始名叫Mocha,后来改为LiveScript,最后定名为JavaScript。实践证明,它在一些方面比Java更加实用,因为它能够与浏览器进行交互,并能够使用HTML的级联样式表单(CSS)来控制内容显示。JavaScript支持很快便成为每个浏览器的标准功能。现在它就成为了HTML5编程语言,该语言被万维网联盟视为下一种标记语言的标准。

为了更好地了解HTML5的成功原因、现状以及未来发展方向,《Intel Software Adrenaline》杂志采访了英特尔软件与服务事业部软件开发产品部的资深首席工程师Moh Haghighat。Moh是英特尔针对Firefox浏览器开发的首个JavaScript即时编译器(JIT)的技术领导。他还领导了首个并行JavaScript JIT和并行浏览器布局引擎原型的开发工作,这二者都是在Firefox环境下进行开发。他目前负责领导英特尔的HTML5技术战略工作。

Intel Software Adrenaline:对于跨平台开发,HTML5为何优于Java?

Moh Haghighat:启动Java小应用程序会让我想起声名狼藉的“加载Java”状态栏。它在启动时会看到大量进度条,而不像如今的Web浏览器那样具有快速响应性,这起码会让人感到厌烦。这是该语言的根本问题,而[Adobe] Flash*在某种程度上解决了这个问题。哪怕是运行一小段Java代码,也需要将整个JVM载入浏览器,而且在开始执行这些代码前还可能要执行一大串类初始化程序。对于服务器端的代码,您在服务器上针对大量客户端重复运行相同的代码,这种情形还可以接受。但在客户端,您希望运行的代码来自许多不同应用,看到如此大量的进度条会让人无法承受。运行Java的最佳位置被证明是服务器端的中间件,Java应用服务器先驱WebLogic便是一款优异的中间件。对于客户端开发来说,这也是HTML5优于Java的技术原因之一。虽说如此,在建立可管理编程语言的可行性,以及为更高效的高级语言(如JavaScript、PHP、Python和Ruby)奠定基础方面,Java发挥了重要作用。

Java还有一些确实非常出色的特性,可支持高效的代码生成,而几乎无需昂贵的编译器分析,如针对寄存的基于类型和基于偏移量的歧义消除。

另一个问题在于Sun对Java项目的运作。Java一开始并不是开放技术,同时Web技术也发生了演变。我认为Java没有成功的主要原因是Sun忽略了Web浏览器;在JavaScript变得日益强大的过程中,我们没有看到Java在浏览器方面有多少创新。JavaScript异步使用模型(AJAX)让浏览器成为出色的交互平台,这使得许多基于Web的应用大受欢迎,如Google Docs。同时,这些应用的复杂性不断增加。例如,Gmail的JavaScript代码从2004年的近万行增加到2010年的近50万行,仅在六年间就增长了50倍(参见图1)。随着Web在全球的迅猛增长,已有数百万网页使用JavaScript,因此就已安装的代码库而言,JavaScript目前是影响力最大的语言。在与浏览器集成方面,Java根本无法与JavaScript相提并论,因为JavaScript是浏览器的“原生”语言。另外,采用CSS和JavaScript的浏览器对UI和逻辑实现了完全分离,而Java平台则没有。

HTML5提供了更具吸引力的备选方案。您编写的应用可在任何类型的计算设备上运行,无论是电话、平板电脑、笔记本电脑、台式计算机还是电视。如果设备支持HTML5,它就能在该设备上运行。您甚至无需进行编译;您只需要编写程序,它就会被分发和执行。

ISA:JavaScript和HTML已存在多年。最近有什么变化使HTML5对跨平台开发如此有效?

MH:首先,在过去五年里,JavaScript的速度大幅提升,快了100倍(参见图2),这在很大程度上得益于JavaScript JIT的出现。由于Web应用复杂性和成熟度的显著增加,JavaScript JIT成为一项不可或缺的技术。在JavaScript性能方面,2011年的最新Internet Explorer*版本比2001年的Internet Explorer快了100倍以上。其次,通过HTML5还突然引入了非常多的新功能。这可能是自浏览器推出以来,HTML实现创新最多的一次。现在,HTML的渲染方式已经与过去完全不同。在HTML5开始得到广泛采用之后,其性能有了显著提升,新功能也不断增多。

在技术采用方面,我观察到了另一个值得关注的趋势,IT部门日益发现HTML5极具吸引力,这是因为人们会在工作中使用各种不同设备。在如今的业务环境下,所涉及的智能手机、平板电脑和便捷式电脑达数百种之多。HTML5是唯一的可以让IT的应用跑在所有的设备上的方案。另外,公司也无力针对每种设备类型开发相关应用并提供支持。现在,基于HTML5的响应式设计模式不断出现,这种设计模式能够使内容适应设备的显示屏尺寸。这些全都是HTML的重要组成部分,因为利用CSS和JavaScript您能动态地适应不同的设备。

ISA:由于没有静态类型化功能,JavaScript一直因其仅局限于小型应用程序而饱受批评。这种批评有道理吗?

MH:JavaScript将来会提供类、模块及类型化功能。负责下一个JavaScript版本相关工作的ECMAScript*委员会正在研究类的问题,类有利于维护工作。Java有类,C++也有类。JavaScript采用基于原型的继承模式,这将允许您实现类,但它不强制要求以某种特定方式实现类。Java有自己针对类的对象模式;目前JavaScript语言没有采用特定的类模式。它使让用户能够实现自己的类版本。

出于软件工程的原因,在有大量开发人员参与项目的情况下,人们可能需要特定的类模式。对于大型项目,您可能需要做一些限制,例如需要定义特定的编码原则等等。如果每个人都以自己的方式来使用JavaScript的话,其灵活性有可能会产生负面作用。

让我们类比一下老早以前,FORTRAN等编程语言都使用GOTO语句。但在20世纪70年代,Edsgar Dijkstra和其他人士发现以非结构化方式使用GOTO语句有害无利。因此,程序员被要求使用结构化的编程原则,而不要随意使用GOTO语句,从而使编程语言和应用更易于理解和维护。而在JavaScript变为低级语言,并在其基础上能够实现大量高级语言时,同样的事情

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行