Angular、React 當前,Vue.js 優劣幾何?
在過去一年裡,前端開發發展迅速,前端工程師的薪資亦是水漲船高。2019 更是熱度不減,而作為近年來尤為熱門的前端框架,Vue.js 自是積累了大量關注。那麼,Vue.js 是適合你的框架嗎?
作者 |Tim Han
譯者 | 蘇本如
責編 |仲培藝
出品 |CSDN(ID:CSDNNews)
以下為譯文:
對於大多數人來說,現在要構建一個新的前端應用,對框架/庫的選擇在很大程度上都是在 Angular 和 React 中二選一。很多時候,人們不會給 Vue.js 足夠的關注。因此,我想分享一些有關 Vue.js 的信息,以及我在使用 Vue.js 來構建生產應用中獲得的一些個人經驗。現在讓我們一起來問這個問題:Vue.js 是適合你的框架嗎?
注意:我並不想說 Vue.js 比 React、Angular 或者其它的任何前端框架好。這裡我分享的只是我在項目中使用 Vue.js 而獲得的一些個人體驗。
對於那些剛接觸 Vue.js 或從未聽說過 Vue.js 的人來說,Vue.js 是一個 Javascript 前端框架,最初於 2014 年發布,由 Evan You 開發。從那時起,Vue.js 就在很短的時間內獲得了許多前端開發人員/工程師的廣泛歡迎。使用 Vue.js 的一些著名公司包括 GitLab、阿里巴巴、BuzzFeed 等等。
Vue.js 的優點是什麼?
這是一個好問題!可以列出許多優點,而根據我的個人經驗,下面 4 點是最突出的優點:
1. 輕量化
2. 低複雜性
3. Virtual DOM
4. 低學習曲線(對初學者友好)
現在讓我們來了解每一點的細節。
輕量化
使用 Vue.js 來開發生產應用或個人項目的一個顯著優勢是它是一個相對輕量化的框架/庫。讓我們看看不同前端框架/庫的下載空間:
輕量化非常有用,尤其是在快速構建一個簡單應用的時候。我個人的用例是為工程團隊的內部工具構建 UI。
低複雜度
這恰好是 Vue.js 中我最喜歡的部分,因為在使用 React 構建許多應用之後,一旦在混合代碼庫中添加狀態管理,隨著應用程序變大,代碼庫通常會變得非常複雜。我注意到 React 應用變得複雜的原因之一是 JSX 模板、 lifecycle(生命周期)方法和其他方法都存在於同一個對象中。這常常使理解邏輯流程變得非常困難。那麼,讓我們看看 Vue.js 代碼是怎麼寫的:
請注意,這裡 HTML 模板、必要的方法和樣式表都是獨立的,因此很容易知道要查看的是代碼的哪個部分。這意味著代碼庫相對容易維護,而不必每次更新代碼時都增加代碼庫的複雜性。
虛擬 DOM
就像 React 一樣,Vue.js 實現了使用虛擬 DOM 來操作/渲染視圖。通過使用虛擬 DOM,用戶界面將通過在每次需要更改時不渲染真實的 DOM,而只是呈現虛擬 DOM 和真實 DOM 之間的部分差異,進而獲得更好的性能。
低學習曲線
我相信很多人都經歷過這種情況。
大多數從事 Web 開發的人都會學習以下三種基礎技術:HTML、CSS 和 JavaScript。想像一下一個初學者必須學習一個叫做 JSX 的新東西,而不是 HTML。雖然 JSX 看起來類似於 HTML,但確實有很多不同之處將 JSX 與 HTML 區分開來,而這種學習就不是 Vue.js 所必需的。
如上面所示,Vue.js 使用與 HTML 相同的標記名,這使得將知識從 HTML 傳輸到 Vue.js 更加容易。此外,代碼的模塊化結構有助於理解 Vue.js 組件的不同動作部分。
對於那些熟悉 React 的人來說,學習 Vue.js 是小菜一碟,因為兩者之間有很多相似之處。
Vue.js 缺點是什麼?
正如我想說的,Vue.js 非常棒,像任何其它框架/庫一樣,本身幾乎沒有什麼缺點。我還是在下面列出我所知道的 Vue.js 為數不多的幾個缺點:
1. 社區小
2. 英文寫作資源少
3. 就業機會少
我早期在用 Vue.js 開發項目時遇到的一個問題是,有時很難找到在應用開發中遇到的非常具體的問題的支持。因為 Vue.js 社區的規模仍然不如 Angular 或 React 那麼大。
另外一個我遇到的問題是,當我認為自己找到了幫助時,他們的回答往往是用中文寫的。就好象我以為我得救了的時候,其實我只是吞下了一個餌。後來,我發現 Vue.js 在亞洲國家比像在美國這樣的英語國家更受歡迎。(備註:對應原文英文背景)
最後,在目前的狀態下,使用 Vue.js 的公司並不多,因此很難找到需要 Vue.js 專業技能的工作。所以,我建議在以下情況下使用 Vue.js:個人項目、小規模的 UI 應用,或者出於好玩的目,以便你能夠在相對較短的時間內為你的應用提供一個輕量級的用戶界面。
現在,是時候回答這個問題了:Vue.js 是適合你的框架嗎?
原文:https://hackernoon.com/vue-js-good-bad-and-choice-dcc1d27f82c6?gi=6700a46b4a8e
本文為 CSDN 翻譯,如需轉載,請註明來源出處。作者獨立觀點,不代表 CSDN 立場。
熱 文推 薦
※PPT寫得好的人,為什麼都如此遭人痛恨?
※扎心!「我學了半年 Python,還是找不到工作」
TAG:CSDN |