本人前端菜鳥一枚。目前熟練的框架不多,用過Jquery,vue.js和MUI(並不精通)。
因為看到很多公司都要求熟悉angularJs,所以打算學習angularJs,但是angular2正式發布了。還有必要先學之前的舊版1.X嗎? angular2 是不是需要ES6和typescript先學起來,學習難度會不會比較大?求大神指點
仅有的幸福2017-05-15 17:09:26
首先第一個問題,還有必要先學之前的老版本1.X嗎?
我認為去學肯定是對自己有幫助的,但是必要性不是那麼強嗎,我建議這段時間可以學習一下angular1。
目前angular2正式版剛發布沒多久,angular2在網上可以找到的資料並沒有那麼多,直接去學習angular2的內容遇見坑很難填的,所以在這之前學學angular1,理解一些angular的核心概念,例如模組依賴注入、雙向綁定、指令、服務這些內容對自己的能力提升還是不小的。等把angular1有初步的認識了,那會估計網路上也有一些比較好的angular2教程了,再去學angular2可能效果會更好。另外目前ng2的專案真的少的可憐,網路上要求熟悉angular的都是指angular1。
第二個問題,angular2的學習曲線一定是有的,而且應該不低。
首先從目前來看,用Typescript寫angular2才是正確的選擇,畢竟文件和網路上的資料都是以typescript為主,所以在著手angular開發之前最好可以掌握typescript,光這部分的學習任務其實也不小的.
另外angular2的概念可不是一點半點,目前就我自己來看,ng2相對一ng1增加了不少黑科技,什麼搖樹啊聽著就頭大,目前我學也只是根據官方文檔學語法寫Demo,不會用在生產的。 。 。
最後提一點,雖然上面說了一下學angular2比較難之類的話,但我認為不應該因為別人說難度大就放棄去接觸了解它,我自己始終認為去接觸有難度的東西自己才能有機會提高。希望對題主有幫助~
PHP中文网2017-05-15 17:09:26
聲明:我研究的很淺。菜雞一枚。玩兒 Angular1 只有一年的時間,Angular 2 也不到半年。強答一波。 。
TS 不是只能寫 Angular2,Angular2 也不是必須用 TS 寫。你用 TS 寫 Angular1,用 ES5 寫 Angular2 也不會炸。 。 。 =。 =
我沒有專門花時間去深究 TS,語言只是工具,會用就行((誤。。但是:
TS 本身就是 ES6 的超集,ES6 本身就是 JavaScript,加上一些新方法和新的寫法,TS 最後也是編譯成 JS 運行的。 。個人覺得只要 JavaScript 基本功夠好,學起來 TS 也沒想像中的那麼困難。 TS 的特性,例如強型,需要就用,不需要的話就當成 ES6 來寫,也沒什麼大問題。
如果學過 Vue,應該會對學習 Angular2 有些幫助。思路上有些相通的,只是寫法和生態圈換一換而已。
參考資料方面已經不少了。中文的雖然不多,好歹有官網。英文的多很多,書的話至少有《ng-book2》,《Switching to Angular2》,《Mastering Angular2 Components》,影片的話,Youtube 一堆,各大「線上教育」平台,如Udemy,Lynda,Egghead.io也是一堆,足夠你看的。
不是很建議為了理解雙向綁定、指令、依賴注入而現在開始看 Angular1。個人覺得 Angular2 的較好理解,也簡單不少,寫法上 Angular2 與 Angular1 也稍有不同。就例如 Angular1 裡面有 provider
, service
, factory
, constant
, decorator
和 value
, 剛開始學很容易懵逼。 。至少在這方面,Angular2 簡化了不少。
專案和例子,網路上也已經很多了。大小項目都有。 。 github 上面有一大把,還有一個網站叫做 BuiltWithAngular2。 。我的 github 上目前只有些很簡單的例子,最近在寫,希望能盡快完成更多。
說到公司需求。個人建議是,如果為了在三個月內趕快找工作,那就去學1。 。只要不是為了這個,學2吧。 。寫自己的項目,以及為了將來考慮,Angular2 可是會是更好的選擇。
很多方面理解的還不到位,希望大神指正。
PHP中文网2017-05-15 17:09:26
如果沒學過angular1,建議不去學習,深入學習vue還是比較不錯的。對於angular2的學習我也採取觀望狀態,近期才有的正式版,無疑相關的學習文檔還不夠健全,學習難度大,而且引入了TypeScript,雖說差別並不太大,但是對於前端菜鳥來說增加入門門檻。
所以建議深入學習Vue.js或React(jsx讓初學者也有點不適),對angular系列採取觀望態度。