轉(zhuǎn)帖|行業(yè)資訊|編輯:龔雪|2015-03-06 11:18:27.000|閱讀 278 次
概述:AngularJS已然成為Web應(yīng)用開發(fā)世界里最受歡迎的開源JavaScript框架。自成立以來(lái),見證其成功的是驚人的經(jīng)濟(jì)增長(zhǎng)以及團(tuán)體的支持與采用——包括個(gè)人開發(fā)者、企業(yè)、社區(qū)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
AngularJS已然成為Web應(yīng)用開發(fā)世界里最受歡迎的開源JavaScript框架。自成立以來(lái),見證其成功的是驚人的經(jīng)濟(jì)增長(zhǎng)以及團(tuán)體的支持與采用——包括個(gè)人開發(fā)者、企業(yè)、社區(qū)。
Angular已經(jīng)變成一個(gè)構(gòu)建復(fù)雜單頁(yè)面應(yīng)用的客戶端MVW框架(Model-View-Whatever)。它在應(yīng)用測(cè)試和應(yīng)用編寫方面都扮演重要角色,同時(shí)簡(jiǎn)化了開發(fā)過(guò)程。
Angular目前的版本為1.3,該版本穩(wěn)定,并被谷歌(框架維護(hù)者)用于支持眾多應(yīng)用(據(jù)估計(jì),在谷歌有超過(guò)1600個(gè)應(yīng)用運(yùn)行于Angular1.2或1.3)。Angular 2.0正式宣布與去年10月份的尼日利亞會(huì)議上,該版本不會(huì)是一個(gè)復(fù)雜的重大更新。
在進(jìn)一步討論Angular 2.0(估計(jì)發(fā)布日期為2015年底)之前,讓我們簡(jiǎn)單的思考下新版本背后的哲學(xué)。Angular 2.0開發(fā)始于解決以下問(wèn)題:
在尼日利亞會(huì)議上并沒有提及遷移到2.0版本的途徑。同時(shí)也指出跳轉(zhuǎn)到2.0版本將會(huì)打破原有的1.3版本應(yīng)用,不會(huì)有任何的向后兼容性。自從那時(shí)開始開發(fā)者社區(qū)一直充斥著不確定性和猜測(cè),一些開發(fā)者也開始質(zhì)疑是否值得開始一個(gè)新的Angular 1.3項(xiàng)目。
AtScript是ES6的一個(gè)父集,被用于開發(fā)Angular 2.0。它是由Traceur編譯器(連同ES6)處理來(lái)生成ES5代碼并用TypeScript類型語(yǔ)法來(lái)生成執(zhí)行時(shí)間的斷言,以此來(lái)代替編譯時(shí)的檢查。不過(guò)AtScript并不是強(qiáng)制的,你仍然能夠使用純JavaScript/ES5代碼代替AtScript來(lái)編寫Angular應(yīng)用。
依賴注入(Dependency injection )模式的基本思想是客戶類Client不用自己來(lái)初始化它所依賴的成員變量IServer,使用一個(gè)獨(dú)立的對(duì)象創(chuàng)建IServer適當(dāng)?shù)膶?shí)現(xiàn)類并將它賦值給Client的成員變量。它對(duì)模塊開發(fā)與組件隔離特別有益。Angular 2.0將會(huì)解決Angular 1.X所存在的這個(gè)方面的問(wèn)題。添加丟失的的特性,如child injectors和lifetime/scope控制。
AtScript提供工具關(guān)聯(lián)元數(shù)據(jù)和功能。這有助于構(gòu)建提供必要信息到DI庫(kù)的對(duì)象實(shí)例(檢查相關(guān)元數(shù)據(jù)時(shí)調(diào)用一個(gè)函數(shù)或創(chuàng)建一個(gè)類的實(shí)例)。它還容易通過(guò)提供一個(gè)注解重載參數(shù)數(shù)據(jù)。
一個(gè)child injector繼承了其父類的所有性能服務(wù)。根據(jù)要求,不同類型的對(duì)象可以被調(diào)用,并且自動(dòng)覆蓋不同的范圍。
改進(jìn)的DI庫(kù)將以實(shí)例范圍為特性,這在使用Child Injectors和自己的范圍標(biāo)識(shí)符時(shí)變得更加強(qiáng)大。
在開發(fā)應(yīng)用中,模板和數(shù)據(jù)綁定將齊頭并進(jìn)。
這是當(dāng)前Angular版本所缺失的一個(gè)特性,不過(guò)將在Angular 2.0中出現(xiàn)。這將讓開發(fā)者可以在忙碌中添加新的指令或控制器。
在Angular 2.0中,模板編譯過(guò)程將是異步的。由于代碼是基于ES6模塊規(guī)格,該模塊加載器將通過(guò)簡(jiǎn)單的引用組件定義來(lái)加載依賴關(guān)系。
在Angular 2.0中將會(huì)出現(xiàn)三種指令:
初始的Angular路由是被設(shè)計(jì)用于處理一些簡(jiǎn)單的情況。然而,隨著框架的發(fā)展,越來(lái)越多的功能被添加。在Angular 2.0中路由已經(jīng)是可擴(kuò)展的,它將包含以下基本功能:
現(xiàn)在,讓我們來(lái)看看那些讓Angular 2.0達(dá)到新高度的路由特性:
子路由將把應(yīng)用的每個(gè)組件通過(guò)為它們提供各自路由的方式轉(zhuǎn)換成更小的應(yīng)用,這將有助于封裝整個(gè)應(yīng)用的特性集。
這將幫助開發(fā)者通過(guò)一組can*回調(diào)更出色的控制導(dǎo)航的生命周期:
這些回調(diào)將允許開發(fā)者返回Boolean值或一個(gè)命令(為了更低層次上的控制)。
所有的這些邏輯都是使用流水線結(jié)構(gòu)構(gòu)建的,使得它非常容易將自己的步驟添加到流水線中或移除默認(rèn)的東西。此外,它的異步特性將允許開發(fā)者使用服務(wù)器請(qǐng)求進(jìn)行身份驗(yàn)證或?yàn)榭刂破骷虞d數(shù)據(jù),不過(guò)這還在規(guī)劃中。
Angular 2.0將包含一個(gè)被稱為diary.js的日志服務(wù)——一個(gè)非常有用的特性,測(cè)量你在應(yīng)用中時(shí)間花費(fèi)在哪里。
$scope將從Angular 2.0中移除,取而代之的是ES6類。
隨著發(fā)布日期的臨近,圍繞Angular 2.0的興奮和聲音將會(huì)加劇。是否打破改變是一件好事?我們無(wú)法知道,不過(guò)反對(duì)者感到緊張是可以理解的,因?yàn)槊黠@缺乏遷移的計(jì)劃。Duang的一下就來(lái)了。不過(guò)其既然要來(lái)了,我們可以做的就是積極的迎接它。
轉(zhuǎn)載來(lái)自于//www.iteye.com/news/30278
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)