Google的Dart语言能成功取代JavaScript吗?

453 查看

注:本文转载自iteye

近日,Google的新编程语言Dart逐渐浮出水面,它是一种“结构化的Web编程”语言。有传言它类似于JavaScript,或者可以直接说准备与JavaScript竞争。国外RebuildingTheWeb博客对此进行了分析,它引用了XHTML2的前车之鉴,认为Google要让开发人员认可Dart,就应该采取一个更开放的态度。

全文如下:

Google正在开发一种称为“Dart”的编程语言,其最终目标是为了取代有几个不能修复的根本问题的JavaScript。此外,Dart被设计用来完全脱离JavaScript,因此它没有对JavaScript向后兼容。这样一个激进的技术变更能够在Web上获取成功吗?

Dart的根本改变会分裂Web吗?

多年以来,浏览器提供商告知我们Web技术必须平稳地进步。不然的话Web就会被分裂。这个争论终结了XHTML2的发展。XHTML2是一种标记语言,其原本是用来替换同样有着不能修复的根本问题的HTML。与XHTML2背离HTML一样,Dart同样背离了JavaScript。Dart会像XHTML2那样分裂Web吗?或者我们已然接受向后兼容性必须内置在浏览器中,但不必在编程/标记语言中?

JavaScript存在问题吗?

在过去几年,由于其巨大的性能改进,以及新增加的库和API,JavaScript收获了不少好评。JavaScript已经这样棒,为什么我们还要替换它呢?

最严重的问题在于,JavaScript应用程序天生就是不安全的,对恶意攻击及数据窃取非常脆弱。JavaScript缺少丰富的特征类库,例如Java与.NET中的高级绘图功能、编码、加密,以及网络通信功能等等。

JavaScript应用程序通常构建于松散耦合的技术,且常常不是由传统的程序员去编写。这不可避免的后果就是产生“意大利面条式”的代码。这些代码往往很复杂、混乱,充斥着浏览器版本/bug问题或是技术缺陷。

程序开发的大多数时间(以及大部分费用)都消耗在了调试上。创建一个类似Visual Studio的集成开发环境(IDE)或是面向JavaScript应用程序的Xcode都是不可能的。这就使得调试此类的JavaScript应用程序比同等的桌面程序要困难得多。此外,JavaScript是一种解释性的松散类型的语言,同样增加了其调试的复杂度。这也意味着开发一个成熟的JavaScript程序需要更多的开发人员、更多的时间以及金钱。

技术能够决定Dart的未来吗?抑或斗争?

倘若Google的Dart技术上优于JavaScript,这个孤单的事实能够促使它成功吗?还是说Google对该技术的期望将成为泡影?Google的Dart会面临W3C的XHTML2同样的命运吗?

Google Dart其实有着一个糟糕的开始。主要的问题在于Dart是由一个单一的厂商开发的。Google打算不会在这个问题上纠结,否则早就与其他厂商合作开发该技术。就算Google承认其他浏览器商的支持是非常重要的,它打算用“甜言蜜语”鼓励他们支持这个新的编程语言。但是对应用开发人员,他们可曾会接受?开发人员毕竟才是需要学习一门新语言及其相关的新工具的群体。

结尾

Google Dart旨在取代JavaScript,同样XHTML2原本也是被设计用来代替HTML。JavaScript确实有着不能修复的技术问题,因此需要一个真正完善的语言来取代它。但是Google的单边主义、非协商方式表明了Dart必然要受到一些怀疑,在说服应用开发人员拥抱Dart上的挑战是不可避免的。