為什麼我們需要 Vue、React、Angular 這樣的前端框架?以及如何選擇?

閱讀時間約 4 分鐘

時代在進步,技術也在進步,現代前端框架這麼多,我們該如何選擇?

Back in the days
「框架或工具都是因應某個需要被解決的問題而生。」在不同的時間點,就會有不同的問題需要被解決。而前端最關鍵的任務,就是將資料與狀態視覺化,除了要維護原本從後端取得的商業邏輯的狀態,還要維護 UI 元件顯示邏輯的狀態。

過去在使用原生 JavaScript 做 DOM 操作時,都必須先用一長串程式來抓取元素(如 document.getElementsByClassName(‘.el’)),才能讓網頁元素與使用者進行互動,於是 jQuery 誕生了,我們開始只需要使用 `$(‘el’)` 就能輕鬆做到一樣的事,還順便解決了惱人的跨瀏覽器問題。

接下來面臨的就是狀態管理的問題。從早期的義大利麵式程式碼 (Spaghetti Code) 把所有的東西通通往 HTML 頁面塞,到後來有人提倡關注點分離, 將 HTML、CSS 及 JavaScript 拆開來,這是表現層級上的關注點分離。而當專案的架構越來越大,人們開始把關注點從表現層移到了架構層面,也就是所謂的 MVC。

MVC 設計模式將程式分成了資料層、表現層以及邏輯層,藉由先把資料和畫面顯示這兩者分開,再藉由使用者操作事件將兩者連接起來。比起將不同功能的程式放在一起,這樣的開發方式讓架構變得清楚直觀,但實際上仍不夠好維護。

所以與以往 JavaScript 框架以 DOM 做為基礎操作不同的是,Vue、Angular 使用 MVVM 的概念延伸出資料和邏輯的雙向綁定,這些框架使得開發更著重於資料狀態上,進一步地省去許多抓取元素的繁瑣和狀態更新的時間。

回顧前端技術的發展,不難發現新技術和新工具總是圍繞著問題而生。當現有的工具不夠好用,就會有人開發一套新的解法。過時的技術或工具並不是現在不能用,只是隨著時間過去,隨著技術進步,我們有更好的做法,於是舊技術慢慢退場。不過,學習為了解決不方便而創造出來的庫或框架,總會幫助我們對相應的觀念更加熟悉,比方說:學習 jQuery 讓我們在操控 DOM 元素上變得更加熟練;學習 D3 讓我們對 SVG 底層更加透徹;而學習 MV 框架則讓我們更熟悉狀態與畫面同步的觀念。

那麼,該如何選擇前端框架呢?
專案有它本身的複雜度,當然工具以及其生態圈也是。如果 jQuery 甚至原生的 JavaScript 就可以解決你的需求,那麼你也許並不需要使用前端框架;而如果你想建置 SPA 網站,或是你的專案資料運算邏輯重、有兩個以上不同的 API 要串接,又或是產品的生命週期長(注重載入先後順序、Template 模組化、其他 UI, API 的相依),你完全可以從 Vue、React、Angular 當中任選一套,因為他們都已足夠成熟。

若你真的很在意選擇,的確有快速篩選的方法:如果你習慣關注點分離(Separation of Concerns),喜歡讓程式保持整潔、平衡,那麼可以選擇使用 HTML 寫法的 Vue;如果你是個 JavaScript 愛好者,專案在未來有擴充的計畫,你可以選擇使用 JS 擴展語法 — JSX(JavaScript XML),並且擁有許多社區插件的 React;如果你注重結構性和功能完整度,並且使用 TypeScript,那麼你可以選擇 Angular。
選哪一個前端框架除了學習成本,沒太大差異,各自在專案上的缺點都可以被克服,所以選擇主要依照團隊喜好。快速選擇框架後,接著從小型、無長期維護需求的活動專案,或是自己的 Side Project 開始實作。你需要的是盡快投入,並把它摸得夠深。


感謝您的閱讀,我試著將生活與自己所學到的知識,以平易近人的方式傳達給正在努力進步的同好,甚至是領域之外卻有興趣的人。如果喜歡我的文章,歡迎贊助我,你的鼓勵也是我進步的動力。
為什麼會看到廣告
37會員
31內容數
短篇奇幻作品將不定期更新。
留言0
查看全部
發表第一個留言支持創作者!
Ray C的沙龍 的其他內容
在負利率時代,存錢不如存股的 4 大滾雪球投資法
搞清楚 Git 與 GitHub 的差別並學會必會操作 什麼是 Git? Git 是一個軟體,可藉由它產生一個數據庫(repository),並且做到分散式版本控制。由於可在多處放置同一份程式碼、歷史紀錄追蹤與回朔,讓協同開發變得容易。(關於不同版本控制系統的介紹,請參閱 Git 官方教學文件)
上面的圖示清楚表示了網站體系架構。如果你不是經驗豐富的網頁開發人員,可能會覺得它很複雜。在我們深入探究每個部分之前,下面的描述應該會讓我們更容易上手。
《魔物獵人 2G》可以說是魔物獵人的經典代數之一,你是否聽到波凱村的背景音樂就如同回到家一般呢?這篇告訴你在 2019 年仍可和朋友順利連線遊玩《魔物獵人 2G》的方法。
❑ 無須預測未來、注意週期就能獲利 巴菲特曾經說過:「長久下來,市場會出現離奇、甚至怪異的現象。一個大錯很可能會磨滅長期累積的成就,因此我們需要本能上即可識別重大風險的人,包括從未遭遇的風險。」塔雷伯的《隨機致富》尤其講述對於不確定性應對的重要。
this 是 JavaScript 的一個關鍵字,也是讓新手困擾許久的主題,今天讓我們用更簡單、直接的方式來了解 this。
在負利率時代,存錢不如存股的 4 大滾雪球投資法
搞清楚 Git 與 GitHub 的差別並學會必會操作 什麼是 Git? Git 是一個軟體,可藉由它產生一個數據庫(repository),並且做到分散式版本控制。由於可在多處放置同一份程式碼、歷史紀錄追蹤與回朔,讓協同開發變得容易。(關於不同版本控制系統的介紹,請參閱 Git 官方教學文件)
上面的圖示清楚表示了網站體系架構。如果你不是經驗豐富的網頁開發人員,可能會覺得它很複雜。在我們深入探究每個部分之前,下面的描述應該會讓我們更容易上手。
《魔物獵人 2G》可以說是魔物獵人的經典代數之一,你是否聽到波凱村的背景音樂就如同回到家一般呢?這篇告訴你在 2019 年仍可和朋友順利連線遊玩《魔物獵人 2G》的方法。
❑ 無須預測未來、注意週期就能獲利 巴菲特曾經說過:「長久下來,市場會出現離奇、甚至怪異的現象。一個大錯很可能會磨滅長期累積的成就,因此我們需要本能上即可識別重大風險的人,包括從未遭遇的風險。」塔雷伯的《隨機致富》尤其講述對於不確定性應對的重要。
this 是 JavaScript 的一個關鍵字,也是讓新手困擾許久的主題,今天讓我們用更簡單、直接的方式來了解 this。
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
這幾天因為執政黨內部的人事問題,又再次把總統府國策顧問黃承國的前黑道背景扯出來鞭屍一次。原本我也不是那麼認同讓有前黑道背景的人擔任政府要職,但是稍微想了一下之後發現自己真的是大錯特錯,其實國策顧問必須有前黑道背景,五個理由如下:
Thumbnail
跟Vista學內容行銷:為什麼我們需要內容行銷?可以怎麼做? 說到內容行銷(Content marketing),大家應該不太陌生。好比您可能看過全聯、故宮精品等機構所精心撰寫的粉絲專頁貼文,他們希望透過優質內容來吸引粉絲的青睞。此外,您也可能對星巴克用網站來傳遞理念或者對IKEA用短片傳達體驗情懷
Thumbnail
文化作為人類學研究的標的,可不只是服飾、料理、建築等等這麼簡單而已,而是長時間的適應所產生的生活應對知道,那才是文化的核心。當文化成為一段描述而非一件物品時,才能開啟文化之間的理解與對話,透過這樣的對話,我們才能從別的文化學習與借鏡,讓子己的生活可以更舒適。
Thumbnail
以前求學的時候,常常聽到物理老師分享自己在學習理論的過程中,藉著物理原則更了解世界與宇宙給予的恩惠,物理也讓他的人生更加美好,但對於理科一竅不通的我總覺得物理老師真的很會唬爛,不就是一堆數字嗎?到底能知道什麼人生大道理? 然而在我閱讀《原子習慣》時,才深深了解到當初老師提到的,為什麼物理原則能給予我
Thumbnail
由馬欣所著《反派的力量》一書中,談論每部經典電影的各個反派角色,如近期廣受熱烈討論的電影《小丑》、影史的經典如《星際大戰》系列中的黑武士,以及在《寄生上流》中的金氏及朴氏家族間的關係等。這些反派不但讓電影變得精彩,亦也讓人能在電影中,反思及分析著劇情與現實的關係。到底原因為何呢?我們一探究竟吧!
Thumbnail
《情緒是最親密的夥伴,用香氣照顧自己》  在每天的生活當中,你曾經覺察過自己的情緒嗎? 你又是如何排解情緒的呢?
Thumbnail
立體企劃是什麼? 從二次元原始作品中找尋可商業性之項目,選擇並獲得授權以三次元型態獨立於原作品之外,俱備收藏特質和可商業性,產生金錢與團體互動的企劃─便得以冠名立體企劃。 落實於創作環帶的最外層、肩負擴大客群接觸與金流創造的使命─為什麼我們必須在乎這樣的企劃、又該怎麼看待迎面的挑戰? 請見本文分曉。
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
這幾天因為執政黨內部的人事問題,又再次把總統府國策顧問黃承國的前黑道背景扯出來鞭屍一次。原本我也不是那麼認同讓有前黑道背景的人擔任政府要職,但是稍微想了一下之後發現自己真的是大錯特錯,其實國策顧問必須有前黑道背景,五個理由如下:
Thumbnail
跟Vista學內容行銷:為什麼我們需要內容行銷?可以怎麼做? 說到內容行銷(Content marketing),大家應該不太陌生。好比您可能看過全聯、故宮精品等機構所精心撰寫的粉絲專頁貼文,他們希望透過優質內容來吸引粉絲的青睞。此外,您也可能對星巴克用網站來傳遞理念或者對IKEA用短片傳達體驗情懷
Thumbnail
文化作為人類學研究的標的,可不只是服飾、料理、建築等等這麼簡單而已,而是長時間的適應所產生的生活應對知道,那才是文化的核心。當文化成為一段描述而非一件物品時,才能開啟文化之間的理解與對話,透過這樣的對話,我們才能從別的文化學習與借鏡,讓子己的生活可以更舒適。
Thumbnail
以前求學的時候,常常聽到物理老師分享自己在學習理論的過程中,藉著物理原則更了解世界與宇宙給予的恩惠,物理也讓他的人生更加美好,但對於理科一竅不通的我總覺得物理老師真的很會唬爛,不就是一堆數字嗎?到底能知道什麼人生大道理? 然而在我閱讀《原子習慣》時,才深深了解到當初老師提到的,為什麼物理原則能給予我
Thumbnail
由馬欣所著《反派的力量》一書中,談論每部經典電影的各個反派角色,如近期廣受熱烈討論的電影《小丑》、影史的經典如《星際大戰》系列中的黑武士,以及在《寄生上流》中的金氏及朴氏家族間的關係等。這些反派不但讓電影變得精彩,亦也讓人能在電影中,反思及分析著劇情與現實的關係。到底原因為何呢?我們一探究竟吧!
Thumbnail
《情緒是最親密的夥伴,用香氣照顧自己》  在每天的生活當中,你曾經覺察過自己的情緒嗎? 你又是如何排解情緒的呢?
Thumbnail
立體企劃是什麼? 從二次元原始作品中找尋可商業性之項目,選擇並獲得授權以三次元型態獨立於原作品之外,俱備收藏特質和可商業性,產生金錢與團體互動的企劃─便得以冠名立體企劃。 落實於創作環帶的最外層、肩負擴大客群接觸與金流創造的使命─為什麼我們必須在乎這樣的企劃、又該怎麼看待迎面的挑戰? 請見本文分曉。