首頁>Club>
公司產品上準備使用新框架做前端開發,糾結應該選擇vue還是Angular4,之前用AngularJS做了一部分功能,程式碼結構不是很理想
24
回覆列表
  • 1 # 程式設計狂魔

    vue.js相對來說學習曲線不是那麼陡峭,程式設計速度也會快一些,如果js很熟悉又不太有時間把typescript捋一遍的話,選擇vue.js應該可能會更好一些。另外Angular js 和 Angular 4差異很大的基本上不是一回事。

    http://toutiao.com/item/6499585773719781901/

  • 2 # 90後空巢碼農

    看你公司需要什麼。反正我是用vue,不喜歡那種大而全的,大而全的代表約束多,我是懶人,懶得去看那些上百個api的。

  • 3 # geyall

    其實現在vue在學習曲線上已經沒什麼優勢了,我認為vue現在唯一的優勢就是中文文件。如果是做單頁應用,專案有一定的複雜度,其實最省心的選擇是angular,angular的文件是這幾個框架中最完備的,而且angular cli是真正能提高開發效率的東西。

    angular在程式碼組織上比較清晰,難上手的地方可能是rxjs的部分。以前vue更接近angularjs;現在,vue和react的相似度更高一點,這倆我感覺沒什麼明顯的孰優孰略,vue比react好的地方是官方提供了狀態管理vuex,可以少折騰。

    我自己的實踐經驗,在angular和react之間選的話,我會選angular;在vue和react之間選的話,我會選vue。

  • 4 # 跨屏建站

    首選應該是vue,我們公司目前開始使用vue去做一些前端專案,沒有使用react或者angular是因為學習成本很高,時間成本也是成本,這是一個非常重要的原因

  • 5 # 咖啡泡煎餅

    vue吧!隨便說幾點原因吧!

    1.國內框架應當支援下

    2.最近很流行,論壇社群很活躍,不需要翻牆也都能找到各類bug解決方案

    3.尤雨溪很負責,官方文件齊全;設計時,也考慮到了原本前端的程式設計思維,所以學習起來相對會容易很多

    4.因為流行起來了,各類開源元件庫也相應豐富了,基本上功能性需求都可以找到開源元件

    5.利用vue-cli,甚至elint,jest,webpack等都搭建好了,你只管擼程式碼就好了

    6.淘寶的weex支援vue,美團mpvue也支援vue寫小程式,所以嘛,如果未來有這類需求,就別做他想啦

  • 6 # 問題菌

    專案結構大的用anglar(anglarjs確實有點坑,但是anglar好用多了,typescript優勢很大),頁面少的或者需要jq混合用的用vue

  • 7 # 林松simon

    先說說兩個我都用過。選擇上看實際情況。

    專案規模:

    大的,複雜的,我推薦angular4,小的,輕的,我推薦vue

    人員素質:

    人多,推薦angular,更容易工程化,人少推薦vue,適合2-3個人的小團隊快速作戰,特種作戰。

    業務需要:

    個人覺得,商業應用類的,後臺管理類的用angular,如果做個小應用,或者嵌入app等,用vue。

    原因分析:

    學習曲線絕對的vue會比angular4平滑很多,這個不用解釋。量級上vue會更輕。

    從框架的整體性上來說,angular4該有的全包了,類似mvc的架構,使從後端java轉前端的程式設計師學習成本大大降低。TypeScript的使用讓angular專案的規範性上了一個很高的等級,解決了很多以前框架的問題,也更像java。vue更像react,注重單個頁面的開發效率。

    社群上,國內用vue的確實更多,vue在國內的發展比較好,人比較多,angular就差些,國外angular好些,vue相對弱勢。

    vue有vue-cli,angular也有angular-cli,前期簡單使用是差不多的,angular-cli搭出來的專案更完整些。

    相關的配套,我用的都不多。angular官網有推薦幾個ui套件,其他的我沒看過好的,而vue有幾個國內公司都推了相關的ui套件,例如vux,mintui等,可以選。

  • 8 # 程式猿猩球

    用什麼框架合適還是要根據具體業務。一般來說,vue適合體量小的個人專案或中小型專案;react和angular適合體量大、資料複雜的大中型專案。對學習曲線而言,vue無疑是最平緩的,三大框架中最容易上手。react和angular就學習成本來說遠遠大於vue。從文件的完整性和可閱讀性來說,由於vue是華人寫的,文件和操作習慣更加符合華人思維,而react和angular的文件由於是英文,會造成一定的閱讀障礙。

    跨平臺開發使用vue和react比使用angular更多一些,因為這些框架都對跨平臺的支援較為友好。雖然vue出來的時間比react和angular晚,但發展到現在使用vue的中小企業非常普遍。

    嚴格來說,vue是mvvm中的v層,是一個類似於jquery的工具庫,而angular則是mvvm框架。另外,vue的雙向邦定是透過資料劫持結合釋出者-訂閱者模式的方式來實現的,基於 getter/setter實現資料劫持,angular用的是髒檢查機制。因此,普遍認為vue在效能上更優於angular。

    vue的文件上寫了與其他框架的對比,答主可以參考。連結如下:

    https://cn.vuejs.org/v2/guide/comparison.html

  • 9 # 光聊科技

    實踐經驗表明,Vue在資料量很大的時候不好維護,所以對於大型專案,Angular4顯然更適合,但Angular比較複雜,還有面向物件、依賴注入、MVC等思想;如果由後端學過Java的人來做,應該也比較好上手;但是對於只學過前端的人來說,有一堆思想要領悟,上手比較慢;但Vue則相對簡單,Vue的好用之處大概就是,用下來你發現,div還是那個div,css還是那個css,js也還是那個js,只是組織的方式和配合他們的工具不同而已。

    當前Vue的生態環境相較兩年前成熟了很多,相關工具、官方文件和非官方文件都很完善,社群也很活躍。越來越多的大公司已將Vue用於生產環境,github上現在也已經有數以萬計的跟Vue有關的開源專案了。因此,對於中小型專案,你完全可以放心地使用Vue來構建。

    既然說Vue工具齊全,那我這裡簡單列舉幾個常用的工具吧:

    vue-router:用於配置單頁面應用的元件和對映,使用的方式和ui-router類似,支援巢狀路由,正則匹配路由,引數傳遞,history模式

    vuex:一個專門為Vue應用設計的 狀態管理模型和庫。它為應用內的所有元件提供集中式儲存服務,其中的規則確保狀態只能按預期方式變更

    element:餓了麼出品,基於VUE的元件庫,開箱即用。

    除了上述之外,還有webpack、axios、node等等工具可以用,且關於Vue的官方和非官方文件都很豐富,完全可以快速上手。

  • 10 # 趙粵老公

    首先,明確一點,之前這些回答所說的vue不適合大型專案都是扯淡。三者本質都是js,不存在vue不適合大型專案這種說法。B站流量這麼大的網站,前端用的框架也是vue。

    之前回答所說的angular更適合人數大的專案的本質原因不是因為angular,而是因為typescript。typescript是靜態語言,所以有更好的ide支援,所以程式碼管理會更加容易。你也可以選擇使用typescript來使用vue,兩者並不衝突。

    vue這兩年非常的火,不論是文件還是社群都已經相當完善,路由有vue-router,狀態管理有vuex,腳手架有vue-cli,非常的完善。如果時間允許,可以兩者都嘗試一下,選擇自己喜歡的。如果時間有限,個人建議選擇vue,因為vue的學習曲線非常的平滑,非常容易上手。

  • 11 # 秋銘山

    vue上手簡單,但需要開發大型網站,需要整合其他元件,angular有完整的前端功能,拿來就用,基本不需要做很多功能無關的事情,缺點就是隨著專案越大,編譯時間越長。自己掂量。

  • 12 # MADAOo

    看你的專案大小。Vue 適合小型專案,Angular 和 React 適合大型專案。

    當然也不是絕對的,還要看你更擅長哪一個,如果 Vue 用的特別好的話,同樣可以駕馭大型專案。

  • 13 # 程式碼院

    從Angular2時代開始,前端開發就逐漸開始用用Angular了,當時全國都沒什麼人敢碰Angular2,多數開發者就靠著啃它原始碼中的註釋,熟悉了Angular2的用法,並在實用中,還給Angular2團隊提交bug。

    但是現在,Vue的出現,讓很多還沒接觸Angular多久的開發者開始糾結,這兩個到底用哪個好?

    用Vue還是用Angular?

    因此,這裡提供給大家最實用的比較,幫助大家在Vue和Angular之間選擇。

    先說結論:用 vue + es6。不要考慮Angular,它有2個致命問題,導致它並不適合實用。

    我們分幾個關鍵方面來說:

    功能上,vue其實和Angular幾乎一模一樣。

    如果只看入門教程,很多人會覺得vue很簡單,angular強大而複雜。但我是先學的Angular2,再發現vue的存在,所以我直接深入了vue的文件。

    一旦深入就發現,vue其實提供了幾乎完全一樣的功能,當你要用到這些功能時,vue瞬間就會變得和Angular2~4一樣複雜。

    原本,vue都是基於es5,視覺上,還會覺得vue和angular4區別挺大。現在vue2.5開始支援typescript,你去看看那個元件編寫方式,幾乎就和angular4一模一樣了。

    學習曲線上,vue入門容易,深入下去和angular4幾乎一樣。

    vue最大的成功之一,就在於他的文件由淺入深,不需要立馬知道的資訊,入門教程暫時不提,從而降低上手門檻。

    而angular的教程,一上來就是cli, npm, typescript,一大堆東西砸到你面前,每個東西他都要提一大段,連元件的理念,都要講半天,教程門檻,一下子就被拉高了。

    以遊戲打比方,level 1的你進入遊戲,vue給你level2的對手,然後level4, 6, 8 逐漸提升。

    而angular是,直接拉你到38級的boss面前,告訴你這就是你以後要面對的,並且講一大堆,你需要做哪些準備。講完了,讓你現場練級,直接打倒這個boss,從1級瞬間跳到38級。

    而vue之所以教程能如此簡單,因為他基於es5,開頭可以不提元件理念,不提typescript,照樣能用。Vue的typescript支援,都沒放在教程正文提,幾乎算是在附錄提了下。

    因此,入門教程的複雜性,決定了angular的人氣無論如何不可能和vue比。

    執行速度上,差不多,可以無視區別。

    兩者的效能,都比 react 和 angular 1.x 好很多,而兩者之間,雖然理論有差異,但使用者角度很難區別,所以這個不用太多考慮。

    執行庫尺寸上,vue完勝,angular過於笨重。

    但vue現在也有越來越重的趨勢。

    angular壓縮後168kb,真的太笨重了!而vue 早期壓縮後不到50kb,但現在vue開始支援typescript之後,有越來越大的趨勢,最新版壓縮後已經到了89kb,也開始有點重了。

    除錯和維護上,angular比vue更難除錯;

    vue比angular更難維護。

    angular程式碼很規範,很好維護和審查,但它在控制檯的報錯資訊太差了,經常看不出到底問題在哪,導致除錯非常辛苦,有時候可以說是痛不欲生,尤其是,這個問題不是你可以解決的,除了提交建議,你沒有什麼好辦法。

    而vue基於es5的語法實在是很混亂,相容es5看似讓vue好上手,但用起來全是坑。光是那個{}套{},就暈死你。但這個問題,是可以靠使用es6規範迴避掉一部分的。

    另外,除錯這個問題,由於angular用typescript+webpack封裝,導致本來就很難除錯了,控制檯報錯再差一點,真的很痛苦。

    而vue在開發階段,其實是可以直接用es6,而不用typescript和webpack的,這意味著,控制檯報錯將是最準確的原始出錯資訊,能夠最快完成除錯工作。這一點,angular是做不到的。

    最後,開源庫的豐富程度:vue更豐富,但更混亂,尤其是那些es5寫的庫。

    angular4少很多,但更清晰,沒有es5~6的跨度問題。

    vue的熱門庫、新開源庫,很多陸續轉為es6了,但更多庫還沒轉。你有很高機率會面對那些庫,而且vue存在從0.x到1.x再到2.x的遷移問題,所以你多少是要受點罪的。

    而angular4其實並不熱門,提到的人多,去用的人少得可憐,所以開源庫也不多。你有很高的機率,需要去找普通js庫,然後自己改造成angular4的元件。

    這些就是最明顯的比較了。

    但是我們開發最終放棄了angular,關鍵原因還是在於:

    難除錯+笨重。

    這兩點幾乎給angular判了死刑。本人在深知angular4的優點基礎上,依然選擇扔掉它。然而,es5這個大坑我們是不想再跳了,因此,vue+es6成了最完美的選擇:

    既享受了類似angular4的功能和規範,又避免了笨重和除錯問題。

    未來:理想情況是,兩者區別會越來越小,最終感受不到區別。不理想情況是,angular被淘汰。

    如今,一旦啟用typescript,vue和angular的區別就真的很小了。

    因此,如果哪天angular的除錯資訊更加準確有效,而且尺寸降下來(或vue尺寸繼續加大),這兩者的區別將會小到可以忽略。但如果angular做不到,則早晚要全面輸給vue而被淘汰。

    從前端的歷史發展來看,新框架迅速流行,然後迅速被淘汰,週而復始。因此經驗豐富的團隊對前端框架都比較避諱,更願意選擇輕量的第三方庫,而不選擇大而全的框架。

    你看react和angular今天很火,但react不是原生Html而是寫模版,而angular大而全而笨重,都屬於歷史長河中很容易流行幾年,然後被淘汰的框架型別。雖然他們有大公司支撐,生命週期會更長,但排除大公司因素,這種框架我們還是要儘量避免。

    目前,我們判斷,angular比較適合:公司內部專案,或面向物件團隊轉型全棧開發。

    這種情況下,團隊深知面向物件、程式碼規範的好處,並且沒有es5標準的包袱,直接從typescript入門。雖然,除錯的坑依然還在,但其他方面,則好很多。

    不然,就像開頭的結論那樣:vue+es6,是最佳選擇。別用es5,其中的苦,用過都知道。

  • 中秋節和大豐收的關聯?
  • 有什麼精品法國電影值得推薦?