# 聊聊框架
所以到底為什麼要 逼我們 學框架?
這個問題其實已經有很多前輩寫了很詳細的文章做說明,這邊分享兩篇我覺得很不錯的文章給大家參考。
- 談談前端框架
- 為什麼要使用框架 - 你聽過最好的答案是什麼?
直接說結論,因為年代需求的不同,所以我們需要框架,,全文完。。
沒事,我開玩笑的,先不要走。
筆者認為這個問題很值得去探討,有人會因此拿香草 JS 註 1 的範例,跟前端框架比較,呈現出用一樣的功能,用框架寫兩行 code 而香草 JS 要寫好幾行的區別,並且誇獎框架好棒棒。
這種範例確實很不錯,可以讓初學者很快的知道框架帶來的好處,但如果沒有多加解釋,也可能讓剛接觸這行的新手覺得框架就是要拿來幹掉原始的 JS 的,甚至建立出「寫純 JavaScript /jQuery 已經過時了,學會使用框架才是潮流」這種不正確的觀念。
如果讀者已經看完上面的文章,大概已經能理解這箇中道理。
每個年代會有不同的需求需要被解決,而不同年代誕生的工具,通常也是為了處理當下的問題。
不過隨著時代的遷移,這些問題也隨之被解決 (我絕對沒有偷臭某瀏覽器) ,導致以此時此刻來去看舊時代的產物 (如 jQuery),才會體會不出他存在的必要性。
不過如果要問我是不是學完框架後,以後所有需求都用框架開發就好?
這題的答案也是「不一定」。
做個比喻:
如果我們要手寫一篇作文,應該使用毛筆、鋼筆、鉛筆、原子筆哪一種筆來寫比較好?
可能就是有人喜歡用毛筆寫出文字的抑揚頓挫,有些人喜歡鉛筆接觸紙張的觸感,有些人則認為原子筆才夠正式才是主流,彼此都有等量美的感受。
又假設說,我們寫這篇作文是為了參加一場作文比賽,同時大會規定文章一律使用黑色原子筆撰寫,否則不予以計分,這時你又會怎麼選擇?
程式只是工具,更重要的是:
- 我們想拿程式做出什麼東西?
- 這些東西用什麼工具來做會比較順手?
- 更進一步的說,有沒有人 (或公司) 限制我們只能使用哪套工具去完成?
上面幾個問題都是我們在做作品時要去考量的事情。
當然,在沒有被限制的情況下,我們最後決定用什麼工具開發,就見仁見智了。
註
- 如果你有聽過有人在講 “Vanilla JS” ,就是在說原生的 JavaScript,由於各種 library /framework 崛起,並且都叫做什麼
XXX JS
,於是有人把原生JS
寫成Vanilla JS
,讓 JS 看起來好像有那麼一回事。
# 為什麼選 Vue ?
# 需求
因為面試的公司都有寫 Vue 的需求
雖然是玩笑話不過卻也很實際,銜接上文,需求決定我們使用的工具。
有了就業的需求,所以我們選擇使用 Vue
# 好上手
為什麼沒有大公司支持的 Vue 框架,能夠與 FB 旗下的 React 還有 Google 旗下的 Angular 平起平坐,甚至被稱為「前端御三家」?
答案大概是 Vue.js 官網上大大的標題所寫的:The Progressive JavaScript Framework。一個漸進式的 JS 框架。
Vue 主打漸進式的深入使用,我們可以由淺入深的使用 Vue,作為新手初次接觸的框架,再適合不過。
不過 Vue 是專門為新手學習而設計的框架嗎?
其實也不是 XD
傳說 Vue 的作者 尤雨溪大大在使用 Angular.js 時,納悶自己並沒有要使用框架的所有功能,卻裝了一大堆他用不到的工具。決定乾脆自己寫一套「輕量」的框架,於是 Vue.js 就誕生了。
也因為 Vue 設計理念是如此,就很剛好的適合新手入門,整個故事的緣由其實是這樣才對。
# 官網文件有中文
雖然我們幾乎從小到大都在學英文,但大多數的朋友對於直接讀全英文的文件多少還是有一點障礙。
Vue 官網跟其他框架官網的其中一個差別,就是官網文件有中文化,而且文件不是「好心人士」協助翻譯,而是 Vue 團隊所撰寫,這無非是讓不熟悉英文的學習者的一大福音。
我甚至曾經跟別人說過,Vue 只要看完官網,差不多就能學會怎麼使用了
# 完整的錯誤警告訊息
有經驗的開發者大概都知道,比寫出有 Bug 程式還嚴重的事情,莫過於寫出一個「沒出現錯誤訊息」的 Bug!
Vue 的一個很大的優點,就是他的警告訊息真的寫得很仔細,新手可以從 Vue 開始入門。
不要害怕那些錯誤訊息,因為在開發過程中, 只要你懂錯誤訊息,錯誤訊息就會幫你
,更何況 Vue 給出來的錯誤訊息那麼親民。
# 尤雨溪
欸對,Vue 的作者本人尤雨溪大大的存在,就是值得讓我們選擇 Vue 的原因之一。
今年 (2023) Vue Conf 大會有幸與 Vue 作者面對面交流 (還跟他尬歌),大神雖貴為一個框架的作者,但本人非常好相處,完全沒有架子。
從尤雨溪大大當天分享的內容,能體會 Vue 團隊所想創造出來的框架世界,是希望能讓開發者體會到使用 Vue 的美好。
Vue 團隊盡可能去解決開發者在社群中提出開發過程的「痛」,並且持續朝這方向努力。
我個人很期待雨溪 (嗯?很熟膩?) 所帶來給 Vue 開發者的世界,能越來越好。
# Vue 的版本號
容我賣個關子,我想特別寫一篇文章講這件事。
# 我還有一大堆希望你能從 Vue 入門的理由
我其實還有一堆因為親身寫了 Vue,所以推薦你寫 Vue 的理由,但我實在怕廢話寫太多,讀者因此看不下去。
總之,用下去就對了。