国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

谷歌的Dart語言能否解決JavaScript的速度與規(guī)模難題?

譯文
開發(fā) 前端 開發(fā)工具
大型JavaScript Web應(yīng)用程序很可能既難于開發(fā)、又運(yùn)行緩慢。相比之下,谷歌的Dart語言針對(duì)這兩大難題給出了解決方案。

大型JavaScript Web應(yīng)用程序很可能既難于開發(fā)、又運(yùn)行緩慢。相比之下,谷歌的Dart語言針對(duì)這兩大難題給出了解決方案。

JavaScript如今的主要應(yīng)用方式與其最初定位可謂風(fēng)馬牛不相及:當(dāng)下它正作為托管于瀏覽器當(dāng)中的平臺(tái)用于大型Web應(yīng)用程序開發(fā)。如果創(chuàng)造JavaScript的技術(shù)人員能夠早點(diǎn)預(yù)見到這類應(yīng)用方式——而不僅僅是為Web頁面增添活力——那么JavaScript的設(shè)計(jì)思路很可能完全不同。

這是因?yàn)樵诖笮蚖eb應(yīng)用程序的開發(fā)流程中,存在著兩大主要難題。

首先,性能難題:作為無法辯駁的事實(shí),利用JavaScript編寫的大型應(yīng)用程序在運(yùn)行速度方面相對(duì)較慢,這必然會(huì)給程序用戶造成負(fù)面影響。

其次,JavaScript本身的結(jié)構(gòu)也存在問題:這是一種語言,因?yàn)榇笮蛨F(tuán)隊(duì)很難利用它組織開發(fā)工作。不同模塊之間缺乏明顯的結(jié)構(gòu)以及強(qiáng)有力的聯(lián)系,加之代碼本身的表達(dá)意圖難以付諸溝通,這給開發(fā)團(tuán)隊(duì)造成很大困擾。對(duì)于個(gè)人開發(fā)者,溝通便捷性似乎并不重要;但對(duì)于大型項(xiàng)目的開發(fā)團(tuán)隊(duì)而言,溝通編碼意圖是保證項(xiàng)目成功的關(guān)鍵所在——尤其是隨著時(shí)間推移產(chǎn)生的人員更替,繼任者很可能對(duì)遺留代碼感到困惑與迷茫。

大型應(yīng)用程序通常采用模塊化開發(fā)機(jī)制,即由不同開發(fā)人員負(fù)責(zé)各自獨(dú)立的代碼片段。然而由于JavaScript的動(dòng)態(tài)特性,對(duì)象行為會(huì)隨著時(shí)間推移發(fā)生變化,這與C、C++、Java或者C#完全不同,意味著大家需要通過執(zhí)行代碼來確定其具體作用。

對(duì)Web應(yīng)用運(yùn)行速度的渴求

經(jīng)過長(zhǎng)時(shí)間的調(diào)整,JavaScript當(dāng)然已經(jīng)擁有了一些令人振奮的速度提升效果,而且五年之后橫空出世的谷歌V8 JavaScript引擎為這款根基孱弱的語言帶來巨大飛躍。但必須承認(rèn),JavaScript開發(fā)人員仍然受到目前這一代JavaScript引擎的嚴(yán)重束縛,我們恐怕還要等上很久才能迎來下一輪革命性進(jìn)化。

可能的方案之一在于asm.js,這是一套采用高度限制機(jī)制的JavaScript子集,最顯著的特征在于舍棄了動(dòng)態(tài)特性——也就是JavaScript優(yōu)化道路上的最大障礙。

顧名思義,asm.js通常被視為一種針對(duì)JavaScript引擎的匯編語言。它目前尚處于測(cè)試階段,而且由Mozilla負(fù)責(zé)項(xiàng)目推進(jìn)。

由于它屬于JavaScript的子集,因此擁有全面向下兼容現(xiàn)有JavaScript引擎的能力。另外,能夠與asm.js協(xié)作的引擎在運(yùn)行速度上也遠(yuǎn)高于普通JavaScript——其具體速度能夠達(dá)到本地代碼的一半左右。(最新版本的火狐瀏覽器[22版本]能夠支持asm.js優(yōu)化,Mozilla公司的開發(fā)人員網(wǎng)站上也給出了技術(shù)演示材料。)

正如C++或者C#開發(fā)人員在處理對(duì)性能要求較高的代碼片段時(shí)常常選擇低級(jí)語言,asm.js也可以成為JavaScript開發(fā)人員的備選方案——大部分是游戲開發(fā)者——并成為創(chuàng)建關(guān)鍵性能代碼片段的理想途徑。沒錯(cuò),不太可能會(huì)有開發(fā)人員愿意用它開發(fā)整個(gè)應(yīng)用程序,但它確實(shí)能讓代碼中的某些子集擁有理想的運(yùn)行速度。

事實(shí)上,大多數(shù)開發(fā)人員可能從來不會(huì)直接使用asm.js。他們更可能使用C或者C++(或者利用現(xiàn)有C或C++應(yīng)用程序)而后利用Emscripten轉(zhuǎn)譯器將代碼編譯為asm.js。

大型Web應(yīng)用程序開發(fā)

雖然有能力帶來速度提升,但在利用JavaScript開發(fā)大型Web應(yīng)用程序方面,asm.js就幫不上什么忙了。相比之下,幫得上忙的要數(shù)微軟提供的TypeScript方案。從概念上講,TyperScript與asm.js正好相反:asm.js屬于JavaScript的子集,而TypeScript則屬于超集。

這個(gè)超集的作用在于為JavaScript開發(fā)流程帶來一定結(jié)構(gòu),從而通過命令行編譯器利用插件將常規(guī)JavaScript、類型檢查以及Visual Studio 2012加以集成。它的局限性在于無法帶來性能提升:TypeScript編譯而成的JavaScript內(nèi)容與手寫JavaScript內(nèi)容幾乎相同。

Web應(yīng)用程序的速度與規(guī)模

綜上所述,asm.js帶來更理想的運(yùn)行速度,而TypeScript則提供適用于大型Web應(yīng)用程序的JavaScript開發(fā)環(huán)境。但二者無法同時(shí)解決這兩大難題。

而這正是谷歌Dart語言的預(yù)定目標(biāo)。根據(jù)谷歌公司內(nèi)部郵件的說法,Dart希望成為一款“JavaScript的終極替代方案,正如用于Web開發(fā)的通用語在開放Web平臺(tái)上的角色。”

[[84969]]

這個(gè)目標(biāo)可謂雄心勃勃,那么Dart到底是什么?它是一種開源編程語言,在設(shè)計(jì)之初就考慮到了大型應(yīng)用程序開發(fā)以及高運(yùn)行性能兩大實(shí)際需求。事實(shí)上,將Dart稱為一種語言并不貼切,因?yàn)镈art本身還捆綁有一款驗(yàn)證器及其它各種開發(fā)工具。由Dart編寫的應(yīng)用程序能夠運(yùn)行在Dart虛擬機(jī)當(dāng)中,且運(yùn)行速度可達(dá)到瀏覽器上JavaScript速度的兩倍。目前只有谷歌的開源Chomium定制瀏覽器版本才支持Dart,該瀏覽器名為Dartium,但相信Chrome對(duì)其實(shí)現(xiàn)全面支持將只是時(shí)間問題。

編譯為JavaScript

Dart代碼可以通過dart2js編譯器轉(zhuǎn)化為JavaScript內(nèi)容,從而以兼容方式運(yùn)行在一般瀏覽器當(dāng)中。盡管由Dart編譯而成的JavaScript代碼在運(yùn)行速度上無法與本地Dart代碼相提并論,但它仍然比開發(fā)人員們?nèi)斯ぞ帉懙腏avaScript代碼快得多,軟件開發(fā)者兼《Dart在行動(dòng)》一書作者Chris Buckett解釋道。

“當(dāng)代碼由Dart轉(zhuǎn)化為JavaScript時(shí),編譯器所做的類似于搖動(dòng)樹干以震下枝葉,”Bucket指出。在JavaScript方面,即使只需要其中一項(xiàng)功能、大家也不得不添加一整套庫。但在“搖樹”原則的幫助下,Dart能夠在向JavaScript轉(zhuǎn)化的過程中只納入必要的單項(xiàng)功能而非完整庫。Dart還會(huì)對(duì)我們的代碼進(jìn)行分析并有選擇地進(jìn)行類型檢查,從而刪除一部分不必存在的內(nèi)容,Buckett表示。而在人工編寫的JavaScript代碼中,我們將被迫以非常保守的方式處理內(nèi)容。

殺手級(jí)Dart應(yīng)用

目前除了谷歌公司之外,還沒有哪家瀏覽器供應(yīng)商愿意直接為Dart提供支持,因此Dart成為另一種Web通用語言的可能機(jī)微乎其微。不過Buckett認(rèn)為,杰出性能與簡(jiǎn)易規(guī)模化開發(fā)兩大優(yōu)勢(shì)——外加Dart工具的現(xiàn)有生態(tài)系統(tǒng)——很可能會(huì)推動(dòng)Dart走上普及之路。

“在短期內(nèi)我們還不太可能在其它瀏覽器中看到Dart虛擬機(jī)的出現(xiàn),但如果Dart能夠拿出幾款殺手級(jí)應(yīng)用程序成品,而且在Chrome當(dāng)中飛速運(yùn)行——例如下一個(gè)Facebook版本——那么人們很可能希望能在自己的瀏覽器中看到Dart的身影,”Buckett提出假設(shè)。“這種態(tài)勢(shì)在移動(dòng)瀏覽器領(lǐng)域出現(xiàn)的可能性更高,因?yàn)镴avaScript正是移動(dòng)設(shè)備電池壽命的主要威脅之一。”

現(xiàn)在JavaScript開發(fā)人員還迎來了另一條好消息——從JavaScript到Dart的技能轉(zhuǎn)化過程非常簡(jiǎn)單,不過Dart的編程要求比JavaScript要更嚴(yán)格一些。總而言之,任何一位曾經(jīng)利用Java或者C#等服務(wù)器端語言從事過開發(fā)工作的技術(shù)人員都能夠打理好這些額外限制,因此Dart的未來可謂一片光明。

原文鏈接:http://www.cio.com/article/739042/Can_Google_Dart_Solve_JavaScript_s_Speed_and_Scale_Problems_

責(zé)任編輯:陳四芳 來源: 51CTO
相關(guān)推薦

2011-09-09 12:09:27

Dart

2011-09-16 10:55:06

2011-10-13 10:07:26

Dart

2015-10-14 09:32:36

Amazon谷歌批量遷移

2011-11-25 09:27:30

Dart

2018-08-30 16:16:34

區(qū)塊鏈數(shù)據(jù)溯源造假

2011-10-20 15:56:07

Dart

2019-10-23 19:46:31

無人駕駛谷歌自動(dòng)駕駛

2011-11-28 09:05:01

JavaScriptDart微軟

2018-12-17 17:00:20

AI數(shù)據(jù)科技

2013-11-13 14:33:10

hadoop分布式系統(tǒng)

2011-09-13 10:13:45

JavaScript

2021-09-24 09:40:22

谷歌云AzureAWS

2011-07-18 09:41:48

亞馬遜平板谷歌

2016-12-14 08:25:57

2012-10-08 09:50:04

編程語言排行榜JavaScriptDart

2012-10-15 14:25:59

IT技術(shù)周刊

2012-10-17 10:00:53

虛擬化

2019-01-27 17:32:38

邊緣計(jì)算網(wǎng)絡(luò)邊緣節(jié)點(diǎn)

2013-12-18 09:39:15

JavaScriptMVC框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久全国免费视频| 日韩精品综合在线| 久久亚洲国产精品尤物| 黄色精品一区二区| 日本va中文字幕| 国产成人自拍网| 亚洲欧洲久久| 日韩精品久久理论片| 99精品国产一区二区| 国产中文字幕一区二区三区 | 欧美猛男男男激情videos| 亚洲人永久免费| 免费在线小视频| 精品国产百合女同互慰| av片在线观看| 日韩女同互慰一区二区| 含羞草www国产在线视频| 91福利视频久久久久| 黄色在线小视频| 在线观看一区二区视频| 蜜芽tv福利在线视频| 色妹子一区二区| 成人影院免费观看| 欧美美女一区二区| 91精品久久| 亚洲第一福利网| 蜜桃麻豆av在线| 亚洲欧洲黄色网| 久久99国产精品二区高清软件| 国产一区二区黄| 亚洲男人在线| 欧洲成人免费视频| 91精品秘密在线观看| 国产一区精品视频| 日本sm残虐另类| 日韩精品一区二区免费| 国产日韩精品一区| 在线观看污污视频| 91黄视频在线观看| 久久不射影院| 日韩亚洲第一页| 欧美变态网站| 成人精品在线视频| 久久永久免费| 丰满人妻中伦妇伦精品app| 亚洲日本电影在线| 97人人在线| 国产午夜精品美女视频明星a级| 国产高清亚洲| 国产成人高潮免费观看精品| 欧美阿v一级看视频| 午夜午夜精品一区二区三区文| 国产精品白丝jk黑袜喷水| 天堂av在线网站| 色婷婷综合视频在线观看| 白白色在线观看| 国语自产在线不卡| 欧美日韩少妇| 日韩一区二区高清视频| 夜夜精品视频一区二区| 男男gaygays亚洲| 国语自产精品视频在线看| 永久91嫩草亚洲精品人人| 一区二区不卡视频| 亚洲欧美福利一区二区| 国产成人午夜| 欧美日本在线视频中文字字幕| 日韩dvd碟片| 亚洲精品一品区二品区三品区| 91在线精品一区二区三区| 在线中文视频| 亚洲午夜未删减在线观看 | 五月激情六月综合| 黄页网站在线| 午夜精品久久久99热福利| 午夜精品婷婷| 免费在线观看视频a| 疯狂蹂躏欧美一区二区精品| 波多野结衣在线播放| 97人人模人人爽人人喊中文字| 伊人久久综合| 凹凸日日摸日日碰夜夜爽1| 欧美午夜理伦三级在线观看| 日本免费一区二区视频| 老司机精品福利在线观看| 日本一区二区综合亚洲| 最新国产露脸在线观看| 欧美怡红院视频一区二区三区 | 久久久777精品电影网影网| 国产高清美女一级毛片久久| 波霸ol色综合久久| 丝袜美腿高跟呻吟高潮一区| 特黄特色大片免费视频大全| 中文字幕成人在线| 亚洲欧美日韩国产一区| 久久午夜剧场| 日韩在线观看免费网站| 国产日韩一区| 欧美18一12sex性处hd| 久久影视免费观看| 美女在线一区二区| 成人影视在线播放| 国产精品99久久久久久人 | 色噜噜夜夜夜综合网| 欧美美女福利视频| 色女人综合av| 欧美午夜宅男影院| 久久在线电影| 99热在线免费| 久久国产精品免费视频| 精品一区二区三区在线播放| av在线免费一区| 成人精品福利视频| 亚洲精品老司机| 91精品国产自产精品男人的天堂| 男人草女人视频| 亚洲精品一区二区三区福利 | 蜜桃视频在线观看视频| 668精品在线视频| 国产欧美视频在线观看| 日韩免费在线电影| 麻豆md0077饥渴少妇| 日韩你懂的在线播放| 亚洲青涩在线| 国产福利在线看| 国产视频福利一区| 亚洲国产精品久久一线不卡| 国产精品黄网站| 一道本在线免费视频| 欧美精品一区二区三区国产精品| 高清国产午夜精品久久久久久| 97超碰在线免费| 一本久久a久久精品vr综合| 日韩欧美激情四射| 蜜臀a∨国产成人精品| 色综合桃花网| 妞干网在线视频观看| 日韩中文字幕网址| 久久久国产一区二区三区四区小说 | 亚洲欧美日韩一区二区三区在线| 国产日韩高清一区二区三区在线| av网站在线播放| 精品一区二区三区国产| 日韩视频一区二区三区在线播放| 久久av一区| 多野结衣av一区| 在线观看欧美激情| 中文字幕亚洲无线码a| 懂色av中文字幕一区二区三区 | 日韩欧美在线网址| 亚洲视频精品| 26uuu亚洲电影在线观看| 亚洲成人午夜在线| 日韩亚洲第一页| 亚洲欧洲国产日本综合| 日韩精品不卡一区二区| 国产一区精品| 在线码字幕一区| 成年人精品视频| 亚洲五码中文字幕| 亚洲性色视频| 白浆在线视频| 日本www.色| 亚洲影院在线看| 精品欧美一区二区久久| 成人免费高清在线观看| 国产精品99久久免费观看| 中文字幕视频在线观看| 久久综合给合久久狠狠色| 亚洲区在线播放| 亚洲狼人国产精品| 国产精品免费看| 日本免费成人| 亚洲第一视频| 在线丝袜欧美日韩制服| 91精品国产91久久久久久| 欧美性受极品xxxx喷水| 成人在线一区二区三区| 第四色成人网| 亚洲人成在线网站| 九色丨porny丨自拍入口| 久久国产精品高清| 久久视频在线播放| 欧洲精品中文字幕| 99久久免费国产| 亚洲最新色图| 日本一区二区三区视频在线| 久久mv成人精品亚洲动漫| 日韩一区不卡| 欧美在线观看网站| 日韩高清有码在线| 亚洲成av人片在线观看无码| 国产一区二区91| 亚洲成人一区| 高清久久一区| 羞羞的视频在线看| 在线观看爽视频| 欧美一区二区三区| 亚洲欧洲专区| 秋霞蜜臀av久久电影网免费|