Google的Dart語言真的能取代JavaScript嗎?
近日,Google的新編程語言Dart逐漸浮出水面,它是一種“結(jié)構(gòu)化的Web編程”語言。有傳言它類似于JavaScript,或者可以直接說準(zhǔn)備與JavaScript競爭。國外RebuildingTheWeb博客對此進(jìn)行了分析,它引用了XHTML2的前車之鑒,認(rèn)為Google要讓開發(fā)人員認(rèn)可Dart,就應(yīng)該采取一個更開放的態(tài)度。
全文如下:
Google正在開發(fā)一種稱為“Dart”的編程語言,其最終目標(biāo)是為了取代有幾個不能修復(fù)的根本問題的JavaScript。此外,Dart被設(shè)計用來完全脫離JavaScript,因此它沒有對JavaScript向后兼容。這樣一個激進(jìn)的技術(shù)變更能夠在Web上獲取成功嗎?
Dart的根本改變會分裂Web嗎?
多年以來,瀏覽器提供商告知我們Web技術(shù)必須平穩(wěn)地進(jìn)步。不然的話Web就會被分裂。這個爭論終結(jié)了XHTML2的發(fā)展。XHTML2是一種標(biāo)記語言,其原本是用來替換同樣有著不能修復(fù)的根本問題的HTML。與XHTML2背離HTML一樣,Dart同樣背離了JavaScript。Dart會像XHTML2那樣分裂Web嗎?或者我們已然接受向后兼容性必須內(nèi)置在瀏覽器中,但不必在編程/標(biāo)記語言中?
JavaScript存在問題嗎?
在過去幾年,由于其巨大的性能改進(jìn),以及新增加的庫和API,JavaScript收獲了不少好評。JavaScript已經(jīng)這樣棒,為什么我們還要替換它呢?
最嚴(yán)重的問題在于,JavaScript應(yīng)用程序天生就是不安全的,對惡意攻擊及數(shù)據(jù)竊取非常脆弱。JavaScript缺少豐富的特征類庫,例如Java與.NET中的高級繪圖功能、編碼、加密,以及網(wǎng)絡(luò)通信功能等等。
JavaScript應(yīng)用程序通常構(gòu)建于松散耦合的技術(shù),且常常不是由傳統(tǒng)的程序員去編寫。這不可避免的后果就是產(chǎn)生“意大利面條式”的代碼。這些代碼往往很復(fù)雜、混亂,充斥著瀏覽器版本/bug問題或是技術(shù)缺陷。
程序開發(fā)的大多數(shù)時間(以及大部分費用)都消耗在了調(diào)試上。創(chuàng)建一個類似Visual Studio的集成開發(fā)環(huán)境(IDE)或是面向JavaScript應(yīng)用程序的Xcode都是不可能的。這就使得調(diào)試此類的JavaScript應(yīng)用程序比同等的桌面程序要困難得多。此外,JavaScript是一種解釋性的松散類型的語言,同樣增加了其調(diào)試的復(fù)雜度。這也意味著開發(fā)一個成熟的JavaScript程序需要更多的開發(fā)人員、更多的時間以及金錢。
技術(shù)能夠決定Dart的未來嗎?抑或斗爭?
倘若Google的Dart技術(shù)上優(yōu)于JavaScript,這個孤單的事實能夠促使它成功嗎?還是說Google對該技術(shù)的期望將成為泡影?Google的Dart會面臨W3C的XHTML2同樣的命運嗎?
Google Dart其實有著一個糟糕的開始。主要的問題在于Dart是由一個單一的廠商開發(fā)的。Google打算不會在這個問題上糾結(jié),否則早就與其他廠商合作開發(fā)該技術(shù)。就算Google承認(rèn)其他瀏覽器商的支持是非常重要的,它打算用“甜言蜜語”鼓勵他們支持這個新的編程語言。但是對應(yīng)用開發(fā)人員,他們可曾會接受?開發(fā)人員畢竟才是需要學(xué)習(xí)一門新語言及其相關(guān)的新工具的群體。
結(jié)尾
Google Dart旨在取代JavaScript,同樣XHTML2原本也是被設(shè)計用來代替HTML。JavaScript確實有著不能修復(fù)的技術(shù)問題,因此需要一個真正完善的語言來取代它。但是Google的單邊主義、非協(xié)商方式表明了Dart必然要受到一些懷疑,在說服應(yīng)用開發(fā)人員擁抱Dart上的挑戰(zhàn)是不可避免的。
原文:http://www.iteye.com/news/22801
【編輯推薦】