Angular4正式版發布了,如何正確認識?
作為一名Angular2才看完官方文檔的人,又看到了Angular4正式版發布了,未來貌似一年一次重大革新(5、6、7),作為初級前端開發者該如何正確處理這些版本革新?還是跳入其他技術選型(如React、Vue等)?亦或者為了以後的發展學習後端技術?
PS:雖然大牛們都說注重基礎,不要局限於框架,萬變不離其宗,但是我不是大牛啊,有點小擔心:怕自己積累的技術和經驗會被淘汰。(比如我原來工作中用jQuery,現在基本不怎麼用了)簡單的說就是如何在變化如此快的前端技術中良性發展、提升自己核心競爭力,最終通過自己的學習與積累在行業中立足與晉陞?求行業前輩答疑解惑,謝謝!
這裡還是先明確下官方的說法,別被angular發布4.0正式版嚇到了。
從2.0開始angular.js已經不叫angular.js了,就叫 angular(少了.js)只是版本號是2.x。而日常我們為了區別angular.js 1.x和angular 的2.x的版本,稱之為angular2。
後來官網發現這樣的命名方式並不好,決定將版本號語義化(具體可以參考語義化版本 2.0.0)。但是之前route組件因為破壞性升級版本號到了3.x,為了統一版本號,直接將angular提至4.0版本,這樣才有了angular發布了4.0正式版。
angular.js 1.x到angular2確實是一個非常大的升級,以至於api,實現原理,框架思路都是完全不一樣的。可以毫不誇張的說,學習angular2就和學一個全新的框架並沒有太大區別。
BUT!angular2.x到angular4.0破壞性升級並不多,也很容易直接升級到4.0版本,題主都說了自己看完了2.x的文檔,那麼上手angular4.0並沒有問題。
至於軟體框架頻繁更新的認識,我覺得一個框架頻繁更新,恰恰體現 了框架本身的活躍程度。angular我差不多在alpha.37版本時候就在關注並使用,非常看好這一框架未來的表現。現在學習可以說是為自己的未來做一些技術儲備
點贊加關注,乾貨持續分享中
把下面這句話讀三遍:
「是 Angular 發布了 4.0 正式版,不是 Angular 4.0 發布了正式版」
「是 Angular 發布了 4.0 正式版,不是 Angular 4.0 發布了正式版」
「是 Angular 發布了 4.0 正式版,不是 Angular 4.0 發布了正式版」
只不過是為了兼容路由模塊的版本號而已,其他模塊都是2.X,只有路由3.X,為了照顧路由模塊只好直接到4啦,版本號而已,不要太在意。
選一個主流框架深入使用就行,還有,NG 別人是正常更新,向後兼容。
我做前端沒多久,但是最近一件事讓我覺得前端基礎的重要性。
我們組就我一個前端,其他都是後端,用ng2開發,這是前提。
有段時間,他們覺得寫html、css這些很煩躁,就找了axure自動生成代碼,你知道,這些代碼都沒有復用性,而且都是絕對定位,簡直就是一坨不能用的代碼。
我當然極力反對,但是boss要強推,並進行試驗,看看怎麼才能和項目結合起來,在我看來搞這個還不如仔細學習一下html和css。於是我和一隊人進行了辯論。
辯論中我發現,其實這些框架什麼的不就是把頁面拆成組件,然後按照自己的方式進行組合,生成頁面,其實只要你的組件庫足夠豐富,和遠古時期直接寫html、css、js相比,已經進入了半自動化的時代,只是你需要把那些組件組合起來。
回到你的問題上來,你怕你學的框架會被淘汰,怕跟不上前端的發展,事實上是,如果你只會框架,基礎卻不紮實,你肯定是會被這些框架牽著鼻子走,疲於奔命,因為組合的方式有很多種,就像造房子,如果你只知道鋼筋混凝土按照某種組合可以生成一棟四四方方的房子,那你一輩子只能造這種四四方方的房子,但是如果你知道為什麼這樣組合就可以生成這樣的房子,如果荷載變了、混凝土強度等級變了,我應該怎麼去組合,這時候你還要擔心跟不上變化嗎?
所以大牛們都說的對,注重基礎,不要局限於框架,萬變不離其宗。先問一下自己h5玩的很溜嗎,css3新出的屬性都掌握了嗎,js的基礎知識都知道嗎,原理都能理解嗎,然後再去研究框架。
所以現在在我掌握的ng2的知識足夠我去開發項目的時候,我會把更多的時間用來看那些基礎的東西。
以上是我個人的想法,不喜勿噴。
Angular 4.0.0完全向後兼容,Angular2的代碼可以不用更改直接運行,這個版本的更新很多是bug fix,新的feature並不多。
你的問題中寫到「怕自己積累的技術和經驗會被淘汰。(比如我原來工作中用jQuery,現在基本不怎麼用了)」。這個我覺得前端的「基礎打好」並不需要面面俱到,以下幾個方面打好基礎,之後學別的框架都不難。
- 把vanilla js的基礎打好。這一本書學會就可以了:JavaScript編程精解(第2版) (若是可以,最好看英文原版) 學習js是挺花時間但很值得的事情
- 在vanilla(ES5) js的基礎上,對比著學習ES6 和TypeScript。這個相對比較輕鬆
- 打好CSS,HTML5的基礎。不用了解所有細節,但需要基礎的布局能力。最好能特別關注下存在瀏覽器兼容問題的那些CSS屬性
「打好前端基礎」聽起來很寬泛挺難的,但基礎其實就這麼多
這次沒有broken change,語法也向後兼容。話說雖然聽起來虎氣一點,但你可以理解為產品名字是Angular2,版本號為4.0。同為angular2的使用者,我還是看好ng的發展的。
你理解錯了,是一年兩次大版本號升級。官方給出過明確的升級策略,如果你看過就不會擔心了。還是去看看change log吧。
Angular 已經發布了4.0,1.x也還在持續維護更新。
jQuery版本已經到了3.x,使用1.x版本的大有人在。個人覺得,重要的不是它發布第幾個版本了,而是你你使用起來是否得心應手,能否在有限的時間內幫助你完成工作。Angular 從2.0版本開始使用TypeScript 語法,不兼容1.x版本,在一定程度上增加了學習成本。若想提升前端能力,注重的應該是基礎能力的提高,大多數面試考察的是js基本能力,不同的公司可能使用的框架都不一樣,具體到做項目,選擇了某個框架時,再在工作中深入了解這個框架,剩餘的時間還是多關注下ECMAScript 6和CSS3以及HTML5裡面新的API 如canvas。
框架說到底,也是用基本的js語法封裝出來的,掌握好基礎的東西,能看懂官方文檔,框架拿來即用。
同時前端新手,純屬個人觀點,不喜勿噴。
那,來學python吧
之前很多人用Angular2和Angularjs來進行區分,以後應該更多的會說Angular 而不是Angular幾了吧。我覺得剛看完Angular 2的文檔也沒問題,看一下4的changelog可以馬上使用新版本。看到版本迭代沒有必要望而卻步,你去學vue學react也不會是一成不變。你之前用jQuery現在不用了,很大原因是jQuery的生命已經結束,現在的DOM API已經完全覆蓋了jQuery的用例,沒必要再用。學習jQuery並不虧,你可能學會了一種新的API設計風格,而且寫起來非常優雅。Angular也好,vue也好,react也好,哪天他們不再迭代了,你就必須考慮棄坑。對於Angular這種蒸蒸日上的形勢而言,不該放棄,反而應該更加看重。
react 16要來了
用更新拖垮全世界的軟體工程師
推薦閱讀:
※全棧設計師的前景如何?
※怎麼看待李笑來的全棧工程師課程?
※你們覺得前端需要什麼樣的平台支持開發起來會很爽?
※Angular 2.0大幅度重寫並且不向下兼容代碼的情況下,學Angular 1.3有沒有必要?