angularJS1.X學到一半發現2.0的存在,要不要繼續1.X?
本人大三,所以離出去工作還有快一年時間,到時候angular2是否應該已有一定應用,所以我應該現在學點更新的?
只是自己學著玩的話,那還是學新的東西好。
至於其他的話我很久前就說過了:做為一名在校學生而言,從其職業發展的角度出發,在學習 Web 前端開發的時候有必要花時間兼容 IE6、IE7 這些瀏覽器嗎? - 賀師俊的回答 的後半段。ng1未來還有不小的使用率,並且還有一定增長的空間,雖然ng1和2差別很大,但是有第一版的知識可以讓你用ng2有更清晰的思路,ng2投入生產估計還要等多一等,但是ng1已經比較成熟了,並且還是有很多公司需要用到它的~
我建議繼續學下去,不過學不能單純的看網上的一些視頻或者資料(國內的很多關於ng的教程對項目開發的幫助其實還不是很大)我建議最好可以看一個用ng1開發的項目(如果找不到好的可以問我拿(?? . )https://github.com/windiest/Angular-news
作為一個曾給ng貢獻過代碼的渣媛,雖然我不是很喜歡ng1,但我覺得值得我們來學習的~
ng2 + typeScript在推廣初期,號稱會在社區達到springFramework + java8的影響力。如果題主有ng1的經驗,上手NG2也沒有太大問題的,不需要有很多顧慮。1. 並且,按照我本人在ng2的開發體驗來看,ng2可以給你帶來很多後端的思想,比如eventEmitter,provider等。2. 組件化。這個概念在前端界已經由react帶動而深入人心,NG2在組件化上面,引入了更新的概念: 一切皆組件。深入理解組件化的概念,會對你學習其他框架vue,react等有極大促進作用。3.再者, typescript本身也是很值得研究,順便在ng2中進行實踐,也對你的前端職業發展有很好的裨益。所以。同學,學技術不僅僅要為了投入使用,還要在這個基礎上深入挖掘技術原理等,才能有更大的技術發展。
作為一個ng1.5的腦殘粉就不跟你在知乎上面說ng了,樓上有人說學好編譯基礎,演算法,資料庫和原生js這當然是核心的重中之重,沒有這些基礎直接上手ng是給自己找無數的坑,但是如果你這些基礎都已經很好了,無論是ng1.5還是ng2.0選擇任何一個潛心了解他的每個細節,從個人角度來說他和原生js區別還有點大的,起碼MVC理念是原生所沒有的,ng學好後作為一個前端模塊化學習的起點,一旦基礎鬧靠再去學習其他如node等模塊化js框架是很容易進步的。從練武的角度來說,無論你是想學散打,跆拳道,空手道,泰拳。基本的前後直拳,左右邊腿的打沙包的萬次練習是永遠繞不過的基本功,若基本功紮實,不同的拳種你只要花點時間熟悉完規則,換個行頭你就可以上擂台剛正面。
如果在你發帖時回答這個問題,可能還要猶豫下,不過現在的答案非常肯定:學Angular 2吧,別管1了!隨著final版的發布,把它用在產品中已經不需要猶豫了
獲得個贊真心不容易,尤其潛水這麼深,粉絲拼不過,回來繼續補充答案,望滿意!!!
這種回答都可以總結為:正在學某個技能但發現有更好的技能時是要棄用追新還是繼續保持現狀?
這種問題很難回答,我不認同這個問題可以等同於 IE 6/7 這類即將滅絕的瀏覽器。如果你說的是Backbone/Ember 之流,我還是建議你別跳坑了,但是如果局限在 Angular 里做選擇,1.x 已經有龐大的生態圈,個人認為更適合學習和了解。尤其你可以在 Github 上搜到一大堆供新人學習的代碼。你要仿寫都有很多優秀的插件可以選擇。而 Angular2 到現在還是處於發展階段,官方也不建議用於生產環境(Angular 2 is currently in Beta.) 。
另外,現階段學習 Angular 是個很尷尬的時候,學 1.x 有點不那麼新潮了,2.x 又亂七八糟。1.x 和 2.x 是翻天覆地的兩個不同框架,即使某些理念可能相通,但是引入了更多新概念,對於新人很容易陷入概念中,到頭來費了很大勁學的都是皮毛,學習成本和學習周期都太高。建議保持觀望,而不是一股腦的去追新。
正是 Angular 的這種尷尬讓其他框架火了起來,從國內外的追新族來看,現在很多人熱捧 React/Vue 之流,你是不是也要去了解一下呢?哈哈,坑太深,慎入,還是回來說說 Angular 1.x
推薦一個以 angular 1.4.x 搭建的 webapp classeur/classeur · GitHub,benweet 大神繼 StackEdit 之後的又一作品。這個項目的質量非常值得閱讀學習,如果你對這些東西了解甚少是有必須要學習了解的。還有任何前端項目都不是一個框架就能搞定的事兒,你還需要了解的東西很多。做個總結,然後再有目的的補充基礎知識,我認為這個更重要一些。
如果你的 Angular 水平不高,或者沒做過什麼成型的項目,也沒有目的性,建議可以從更小型的 Vue 入手學習了解,學習成本小很多,然後迂迴回來繼續研究 Angular2 或者你更喜歡的其他諸如 React 之類的框架,水平提升之後,你自己就有一個橫向比較了。目前還是很多公司在用Angular1.x開發項目,所以為了工作,肯定是要學下去的,把ng1的坑踩一踩,深入理解ng1的各種實現及原理。同時,不要放棄追求新技術的腳步。ng2解決了ng1出現的各種問題,怎麼說也得學啊,技術最終還是為了解決問題的。最後,誰規定了,不能同時學習ng1和ng2呢~
建議 vue 或者 react
看你需要兼容到什麼版本的瀏覽器吧。AngularJS 1.3就不再支持IE8了
框架編程語言都是幺蛾子,好好學編譯原理數據結構演算法操作系統計算機網路比什麼都強,還有資料庫,最後你會發現那些php java c+c#web server 都是渣啊。好好修鍊內功就足夠了,剛畢業沒人要你對框架很了解。。大多數是要你寫個演算法,寫個排序,寫個深度優先寫個廣度優先。。再不然就是面向對象思想以及工程的思想,。。
如果真對前端有興趣,你先學好js吧,ng上手不要太快,準確的說學ng對於你找到好工作,沒什麼卵用。。。永遠要分清楚,什麼是變得,什麼是不變的。變化的總是容易學的。。是不是跑偏了。。。反對各種「多學點總沒壞處論」。
這個說法潛意識裡其實是對題主的一種失能假設。對在校生來說,大部分人的生活不夠緊湊,時間不夠大約是只能拿那些時間做點事,更多的時間必須要玩掉浪費掉茫然掉各種掉。
對工作幾年後的人來說(結婚生子後尤甚),大部分時間不夠,是不能在不降低生活質量的情況下擠出更多時間了。
其實不太一樣。但無論是哪一種,不管是主觀還是客觀原因,真正拿來提高自己的時間資源永遠都是緊缺的。
人生就像玩遊戲,資源有限,你只能強行把要做並能做的事分三六九等。
分三六九等這一步,就是每個玩家走上不同道路的岔口。最終的選擇不一定是短期最優,也不一定是長期最優,但一定得在當前、短期、長期都有他應有的意義。那麼我推薦學react,並且不止是純前端方向,一年時間足夠還做點桌面應用和手機應用了。
具備未來一年的直接應用場景,並且最快的試出自己擅長/興趣的方向,保證後續投入的高效性,這樣走上社會就會有利。
------------------ 題外話 ----------------然後說個題外話,回到開始,為什麼會有答主說「多學點總沒壞處」呢?既然提到「多學」顯然指的就是對立面為「少學」或「不學」。其實是因為他們潛意識看穿了大部分大學在校生/題主。
那些人就算不學這個他也不會把時間拿去學別的。有多少人天天在問「要不要學a?」「學a還是b好?」結果兩年後學a的學b的都成功了,他還在問a和b誰好。有的在校生糾結於考研還是就業,有種糾結於此事就很努力的錯覺,最後既沒考上也沒就業。大抵如此。久之,答題者也習慣了。
關於要不要學/學哪個類的問題,也不喜歡打太多字了,直接「just do it,有種你先學一個出來我看看」。而我打這麼多字,就是因為願意相信題主不是這種類型。與題主共勉。肯定直接ng2,ng2官網的右下邊有個「Angular 2 is currently in Beta」,但是點開這篇文章,作者詳細的解釋了「beta」的意思,翻譯過來就是「我可以很自信的告訴你,大部分開發者已經可以用它來進行開發了」
強烈建議a2, component化的思想跟a1不同,上udemy學
自學的話a2吧。可是很多公司還是會讓你做a1,無疑的。
其實如果你已經學通了一遍ng1,那麼ng的思想你一定有所了解,ng2你也能快速上手。框架終歸只是框架,並不是語言,請不要被其束縛。Ps:如果javascript本身沒學好(比如原型鏈繼承啥的),用ng很容易踩坑哦orz,所以同意 @南下陽關 的觀點,基本功才是最重要的。
推薦閱讀:
※如何看待 Immutable App Architecture?
※asy?
※如果將來想從事web前端開發,而我專業並不是學的這個,需要做哪些準備?
※用純HTML 5+CSS3的方法,如何控制Video的視頻與Poster的海報圖片尺寸一致(非視頻原尺寸,比例鎖定)?
※web前端開發者應如何應對PC端的高PPI?