DAY2-如何選擇前端框架

框架是什麼?

不要重複造輪子!是工程師的最高原則。如果有人幫你解決了很多問題,為什麼不拿來用,何樂不為呢?站在巨人的肩膀上可以看得更遠,沒有必要再自己去開發相同的功能,這就是框架存在的目的。框架幫大家解決開發前端頁面的時候會遇到的各種基本問題。例如:資料的綁定、路由的導航、非同步資料的取得等等

現在有什麼熱門的框架?

目前實務上,最常使用的就是三大框架

  • Vue
  • Angular
  • React

但還有很多有潛力的框架,例如

  • Svelte

當然還有一個老兵不死,只是凋零,但是還可以再戰 20 年的框架

  • jQuery

如何選擇框架?

先回答這個問題: 選喜歡的,或是有緣的

以筆者的例子為例,筆者第一個選擇的框架是 Angularjs,後來轉向 Angular,幾乎沒有很熟悉 Vue 和 React。

為什麼會選擇 Angularjs 呢?這個原因並不是很特別,就是當初在 google 找免費課程教學的時候,第一個找到的是 Coursera 的 Angularjs 的教學課程,從此就踏入 Angular 的生態圈。

網路上有很多框架的比較文章,無非是比較框架的效能或是框架的架構哪裡哪裡比較厲害。框架也許真的有各自的強項與弱項,但這是舊框架本身而言,我認為有一個重點是:比較這麼多對個人而言,有什麼重大的意義嗎?

很多人都有框架選擇困難,在選擇框架之前會一直看比較文章,想要看看到底哪個框架比較好。但是框架的好或壞是相對的比較,如果沒有都親自使用過,是很難去比較之間的優劣的。

以入門難易度來選擇框架

如果以框架的難易度來選擇的話,這是目前大家比較有共識的。

以簡單到困難依序是 Vue>React>Angular

而依照筆者接觸的經驗,個人覺得 Vue 是最好入門,可以很容易上手操作很多功能,獲得很多成就感。而 Angular 筆者認為是最困難的框架,因為高度模組化,沒有足夠的先備知識,很容易就會放棄了。不過這也僅是個人經驗提供參考。

以現實的層面來選擇框架

打開 104 或 cakeResume 等求職網站,可以看到徵求最多的是 Vue 和 React 的職位。Angular 的職位可以說少得可憐。

也就是說,如果選擇 Vue 或 React,可以擁有比較多的工作可以選擇,而 Angular 可能沒有太多的工作可以選擇。但是反過來說,因為因為工作機會多,所以學習的人也多,企業的選擇自然也多。所以更多的工作選擇不一定代表更好錄取。反而是學習 Angular 的人少,所以企業在徵才時的選擇不多,只要去面試,幾乎都會錄取。

因此,請不要把工作多寡當成選擇的框架的考量。就個人而言,好的工作只要一個就足矣。並不需要太多的候選機會。

能解決問題的東西就是好東西

總而言之,從幾個層面比較之後,即使筆者使用的是 Angular,私心比較喜歡 Angular,但是如果要我推薦的話,我的答案還是推薦:選喜歡的,用起來舒服,能解決問題的東西就是好東西!

如果 jQuery 就能解決問題的話,那有什麼理由一定要用比較複雜的框架呢?

除了框架更重要的是

與其無止盡地爭論不休比較哪個框架比較好、哪個框架比較爛,還不如從源頭開始問起:這些框架最初的設計理念是什麼?想要解決什麼樣的問題?解決這些問題的過程中有造成什麼新的問題嗎?

要回答這些問題並不容易,因為框架的本質就是 Javascript,如果 Javascript 的基礎不夠穩固,很難去體會到框架到底幫你在背後默默地解決了什麼問題。就無法自己去體會到框架的好與壞。

因此下一篇會開始介紹許多 Javascript 好用的方法和小技巧