自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Web應(yīng)用程序框架:不創(chuàng)新就玩完

譯文
開(kāi)發(fā) 前端 架構(gòu)
Web應(yīng)用程序框架領(lǐng)域涌現(xiàn)出了一股創(chuàng)新熱潮,這可能讓廣大開(kāi)發(fā)人員頗為沮喪,卻又是必不可少的。

Web應(yīng)用程序框架領(lǐng)域涌現(xiàn)出了一股創(chuàng)新熱潮,這可能讓廣大開(kāi)發(fā)人員頗為沮喪,卻又是必不可少的。

[[131626]]

JavaScript

現(xiàn)在想跟上JavaScript圈子可是變得越來(lái)越難了。雖然ReactJS前陣子成為報(bào)章頭條新聞,但沒(méi)有哪個(gè)JavaScript框架能夠長(zhǎng)期保持領(lǐng)先的地位。一些人聲稱(chēng)這是件好事,促使相互競(jìng)爭(zhēng)的框架在創(chuàng)新方面勝過(guò)對(duì)方,但過(guò)于迅猛的創(chuàng)新步伐卻讓廣大開(kāi)發(fā)人員無(wú)所適從。

需要具備怎樣的條件才能被公認(rèn)為是長(zhǎng)期的贏家?

誰(shuí)會(huì)贏得Web?

咱們還是打開(kāi)天窗說(shuō)亮話吧:牽涉的面很廣。正如EmberJS負(fù)責(zé)人Tom Dale曾對(duì)我說(shuō)的那樣:

“切記Web這塊蛋糕的一大塊是什么。.NET面向Windows,Cocoa面向iOS/Mac,贏得了Web就是贏得了全世界。”

既然如此,沒(méi)有哪個(gè)框架設(shè)法主導(dǎo)Web多少也就讓人有點(diǎn)奇怪了。反正沒(méi)有哪個(gè)框能長(zhǎng)期成為霸主。

畢竟,雖然新的編程語(yǔ)言來(lái)來(lái)去去,但Java、C++和C#卻長(zhǎng)期屹立不倒,總是處于或靠近編程語(yǔ)言排行榜的首位,網(wǎng)站Redmonk的分析就表明了這一點(diǎn),詳見(jiàn):http://redmonk.com/sogrady/2015/01/14/language-rankings-1-15/

Web應(yīng)用程序框架卻不是如此。

快速瞄一眼谷歌趨勢(shì)(Google Trends,http://www.google.com/trends/explore#q=EmberJS%2C%20BackboneJS%2C%20Sproutcore&cmpt=q&tz=),就會(huì)顯示JavaScript的人氣指數(shù)經(jīng)歷了起伏不定的階段(見(jiàn)圖A)。

Web應(yīng)用程序框架:不創(chuàng)新就玩完

圖A:谷歌趨勢(shì)顯示了JavaScript的人氣指數(shù)。

Sproutcore是由Charles Jolley設(shè)想出來(lái)的,由蘋(píng)果以及后來(lái)的Strobe(已被Facebook收購(gòu)) 開(kāi)發(fā)而成。隨著B(niǎo)ackboneJS取代而之――它得到了LinkedIn等公司的鼎力支持,Sproutcore最終悄無(wú)聲息。與此同時(shí),一些Sproutcore開(kāi)發(fā)人員離開(kāi)Strobe另立門(mén)戶,開(kāi)發(fā)了EmberJS,如今它在逐漸取代BackboneJS。

當(dāng)然,如果我們算上AngularJS(谷歌開(kāi)發(fā)的JavaScript語(yǔ)言),一切相比之下都黯然失色,無(wú)論按上網(wǎng)搜索量來(lái)衡量還是按雇主需求量來(lái)衡量,AngularJS都可謂風(fēng)光無(wú)限(見(jiàn)圖B)。

Web應(yīng)用程序框架:不創(chuàng)新就玩完

圖B:AngularJS的崛起之路。

這也許很好。AngularJS也許實(shí)際上就是有史以來(lái)的***框架!至少,在下一個(gè)又酷又炫的框架問(wèn)世之前是這樣。

我們能不能讓這個(gè)步伐慢一點(diǎn)?

就拿ReactJS來(lái)說(shuō)吧。由Facebook開(kāi)發(fā)的ReactJS在年初備受媒體關(guān)注,當(dāng)時(shí)宣布支持原生應(yīng)用程序。這意味著,React Native框架讓開(kāi)發(fā)人員能夠使用React和JavaScript,輕輕松松就能構(gòu)建原生應(yīng)用程序。這是個(gè)好概念,即便并非什么新概念。畢竟,多年來(lái),其他框架早就提供了類(lèi)似的功能,這自然引出了下面這個(gè)問(wèn)題:我們果真需要ReactJS嗎?

Netflix認(rèn)為需要它。這個(gè)技術(shù)先鋒在其開(kāi)發(fā)者博客上宣稱(chēng):“我們決定采用React受到了許多因素的影響,尤其是這三大因素:1)啟動(dòng)速度,2)運(yùn)行時(shí)性能,以及3)模塊化。”

Netflix認(rèn)為,ReactJS提供了一種出色的方法,可以減少網(wǎng)絡(luò)請(qǐng)求(縮短了啟動(dòng)時(shí)間),并簡(jiǎn)化用戶界面渲染(提高了運(yùn)行時(shí)性能),另外還有其他優(yōu)點(diǎn)。

也許Netflix是對(duì)的。但是為什么Netflix就不可以用AngularJS、EmberJS或其他框架來(lái)實(shí)現(xiàn)同樣的目的呢?

#p#

不創(chuàng)新就玩完

Brian Leroux是PhoneGap的核心開(kāi)發(fā)人員之一,他認(rèn)為,目前來(lái)自JavaScript框架的創(chuàng)新最終會(huì)“融入到Web平臺(tái)本身”,迫使這些框架不斷創(chuàng)新,才能保持領(lǐng)先地步。隨著互相競(jìng)爭(zhēng)的框架失去了創(chuàng)新的勁頭,市場(chǎng)會(huì)迎來(lái)更好的框架。

據(jù)一些人統(tǒng)計(jì),我們?cè)陂_(kāi)始選定少數(shù)幾種一貫創(chuàng)新的框架。(Instructure博客的一名開(kāi)發(fā)人員認(rèn)為,EmberJS已經(jīng)獲勝,因?yàn)?ldquo;無(wú)論哪個(gè)框架,最終老是被拿來(lái)與Ember比較”。)AngularJS顯然也是個(gè)冠軍爭(zhēng)奪者,也許是最有實(shí)力的冠軍爭(zhēng)奪者。

哪ReactJS呢?

令人沮喪的是,我們?cè)赪eb編程領(lǐng)域還沒(méi)有遇到任何的停滯現(xiàn)象,而這可能完全體現(xiàn)了我們?cè)赪eb方面還剩下多少工作要做。AngularJS最近因在其2.0版本中沒(méi)有提供向后兼容而遭到炮轟,我認(rèn)為這對(duì)創(chuàng)新而言也許是好事。

為什么?因?yàn)椋鳛長(zhǎng)eroux的密友,我們?cè)赪eb創(chuàng)新會(huì)是什么樣、也許應(yīng)該是什么樣方面連皮毛都未觸及。我們?cè)谙氤龈鼉?yōu)秀的Web編程方式之際,就要一路打破陳規(guī)。

但不是每個(gè)人都這么認(rèn)為。EmberJS共同創(chuàng)造者Yehuda Katz就認(rèn)為,“想讓創(chuàng)新步伐慢下來(lái),***的辦法就是迫使每個(gè)人每隔幾年就要重寫(xiě)代碼。”于是EmberJS在竭力確保***程度的后向兼容性。如上所述,AngularJS沒(méi)有這么做,至少到目前為止沒(méi)有這么做。

但這些在我看來(lái)卻是必不可少的“減速帶”。

在可以預(yù)測(cè)的將來(lái),我們應(yīng)該會(huì)看到JavaScript框架不斷完善。有些框架會(huì)消亡,有些會(huì)勝出。但是雖然這可能會(huì)讓開(kāi)發(fā)人員不得勁,但它最終是好事,因?yàn)檫@意味著獲勝的是Web。

http://www.techrepublic.com/article/web-application-frameworks-innovate-or-die/

 

 

責(zé)任編輯:王雪燕 來(lái)源: 51CTO
相關(guān)推薦

2019-02-11 09:35:04

Python應(yīng)用程序Tornado

2018-12-03 08:25:24

2023-06-13 13:38:00

FlaskPython

2024-01-02 00:18:56

Buffalo項(xiàng)目Go Web框架

2022-02-23 15:33:19

前端框架開(kāi)發(fā)Web

2012-03-15 15:35:51

iUI框架EclipseiOS Web

2010-05-20 09:48:36

2011-03-22 14:12:17

LAMP

2021-08-26 08:00:00

Django開(kāi)發(fā)框架

2011-11-29 16:07:36

移動(dòng)Web開(kāi)發(fā)框架移動(dòng)開(kāi)發(fā)

2010-03-09 13:27:23

Web 2.0應(yīng)用程序

2023-01-09 17:04:24

2013-11-19 15:35:01

2010-02-01 14:05:03

2012-03-20 09:20:40

Go語(yǔ)言

2009-04-01 14:33:33

2009-07-09 16:47:26

Servlet的Web

2012-06-11 09:37:41

2013-08-08 09:48:10

Web

2009-07-14 18:10:38

Swing應(yīng)用程序框架
點(diǎn)贊
收藏

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