資源描述:
《angular2.0學(xué)習(xí)資料》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Angular2.0學(xué)習(xí)資料對Angular2.0的策略有疑問嗎?就在這里提吧。在接下來的這篇文章里,我會解釋Angular2.0的主要特性區(qū)域,以及每個變化背后的動機(jī)。每個部分之后,我將提供自己在設(shè)計過程中的意見和見解,包括我認(rèn)為仍然需要改進(jìn)設(shè)計的重要部分。注意:本文所反映是2014年11月6日的狀態(tài)記錄。如果你在較長時間之后讀到此文,請檢查一下我設(shè)計上是否有所變更。AngularJS1.3在開始討論Angular的未來之前,我們先花點時間看看當(dāng)前的版本。AngularJS1.3是迄今為止最優(yōu)的Angular版本,它是幾周之前發(fā)布的。它提供了大量的bug修復(fù),功能增強和性能提升。如果你
2、正在使用Angular,會有升級的愿望。如果將要開始用Angular做新的項目,這也會是你想要使用的版本。這是一個強大而成熟的框架,已經(jīng)擺在我們面前了。評注可能你現(xiàn)在會對AngularJS的未來有很多疑問。什么時候2.0會出來?1.x怎么辦?會有從1.x到2.0的升級路徑嗎?AngularJS團(tuán)隊在回答這些問題上,可以做得更好一些,你應(yīng)當(dāng)鼓勵他們這么做。我可以告訴你們的是,在Google內(nèi)部,有1600個應(yīng)用是基于Angular1.2或者1.3構(gòu)建的。所以,看起來Google對當(dāng)前版本是會有很大興趣的,也會需要支持它們一段時間。在ngEurope的Q&A環(huán)節(jié)中,BradGreen說在An
3、gular2.0的RTM版本發(fā)布之后,對Angular1.3的支持會持續(xù)至少1.5-2年。我們也剛針對Angular1.3的支持作了一些團(tuán)隊結(jié)構(gòu)和領(lǐng)導(dǎo)的變更,即使是正在為Angular2.0而努力,我們?nèi)匀槐3至艘粋€專有團(tuán)隊全職處理Angular1.3。這個團(tuán)隊是由PeteBaconDarwin領(lǐng)導(dǎo)的,我敢肯定你一定知道他在AngularJS上的豐富經(jīng)驗。我想要鼓勵你們向Angular的引領(lǐng)者詢問這些變化,并且一起設(shè)法完善官方的支持。當(dāng)2.0可用時,如果有人想要把Angular1.x的應(yīng)用遷移到2.0,目前也沒有什么可行的計劃。我認(rèn)為我們可以在這一塊做些事。如果這對你來說也很重要,請大聲
4、說出來,當(dāng)然要友善一點,但要讓Angular團(tuán)隊知道這對你而言很重要,他們應(yīng)當(dāng)對此有所考慮,并且也有所規(guī)劃。Angular2.0的動機(jī)那么,你可能會想知道,為什么要做Angular2.0呢?為什么一步跨到2.0,并且作了這么多不兼容變更?這一切都是很隨意的嗎?我能夠處理少量變更,但我所聽到的消息,在2.0中有很多較大的變更,它們真的合理嗎?值得嗎?在深入特性細(xì)節(jié)之前,我很樂意花點時間來探討一些較高層次的動機(jī),關(guān)于2.0所帶來的變化。我希望這能夠?qū)罄m(xù)細(xì)節(jié)建立一個基本的認(rèn)識,在此基礎(chǔ)上可以作一些有意義的批評(其中有些我打算自己提供)。性能差不多五年前,當(dāng)AngularJS剛創(chuàng)建出來的時候,
5、它并不是給開發(fā)人員用的。它是一個工具,更傾向于給需要快速創(chuàng)建持久化HTML表單的設(shè)計人員用。隨著時間推移,它作了改變以適應(yīng)各種場景,開發(fā)人員也用它建造更多、更復(fù)雜的應(yīng)用程序。Angular1.x團(tuán)隊多年來一直努力增量化地改進(jìn)設(shè)計,允許它適應(yīng)現(xiàn)代Web應(yīng)用程序需求的變更。然而,在所能做到的改進(jìn)上,是有很大局限的,根源在于原始設(shè)計中的一些潛規(guī)則。很多這種限制,導(dǎo)致了當(dāng)前的綁定與模板基礎(chǔ)架構(gòu)的性能問題。為了解決這些問題,需要新的策略。變化的Web從最初設(shè)想Angular所開始的五年中,Web有了明顯的改變。比如說,5年前沒有jQuery之類框架的幫助,是基本不可能建立一個合適的跨瀏覽器網(wǎng)站的。
6、但是,當(dāng)今的瀏覽器DOM實現(xiàn)不僅更加一致,而且這些實現(xiàn)更快了,也提供了與應(yīng)用程序框架相關(guān)的新特性。而且web還在繼續(xù)變化……雖然在過去幾年中,發(fā)生了巨大的變化,但與未來1-3年相比,這些變化還是顯得微不足道。在幾個月內(nèi),ES6規(guī)范將定稿。如果我們覺得在2015年就能看到完全實現(xiàn)此規(guī)范的瀏覽器,并非不可能。今天的瀏覽器已經(jīng)支持其中一些特性了,并且正在實現(xiàn)其他剩余部分。這意味著瀏覽器支持像module、class、lambda、generator之類東西。這些特性從根本上改變JavaScript的編程體驗。但是,大的變化并不是只體現(xiàn)在JavaScript上,WebComponents也噴薄欲
7、出。術(shù)語WebComponents通常是指四個相關(guān)的W3C規(guī)范:·自定義元素,允許通過自定義標(biāo)簽來擴(kuò)展HTML·HTMLImports,允許對各種資源的打包(HTML,CSS,JS等等)·模板元素,允許在一個文檔中包含inertHTML·ShadowDOM,允許對DOM和CSS的封裝通過組合這四種能力,web開發(fā)人員可以創(chuàng)建聲明式的組件(自定義元素),并且是完全封裝的(ShadowDOM)。這些組件可以描述它們自己的視圖(模板元素)