在要衝動報名鐵人賽之前,(就在按下那個按鍵之前),我還是有稍微停下來,查了一下以自己目前的狀態,我的想法可以被實現嗎?
對於剛學完 HTML 和 CSS,一腳剛踏進 JavaScript的我
不會React, Vue,不熟悉各種第三方套件的情況下,做得出來嗎?
稍微查了一下,原來在沒有任何框架,只用最純粹的 JS 原生語法開發時,有一個很可愛的名字,叫做 Vanilla JavaScript。
在程式開發的世界裡,「Vanilla」這個詞常被用來形容「原汁原味、沒有經過額外加工或添加任何框架套件」的標準狀態。
所以,Vanilla JavaScript 指的就是「純原生 JavaScript」。
不需要使用框架,也不需要另外安裝套件,而是在任何瀏覽器打開就能直接使用的 JavaScript 本體。
雖然框架能幫我們處理很多繁瑣的事,但在新手階段先從 Vanilla JavaScript 開始,有三大好處:
框架或套件通常需要下載額外的程式碼檔案(打包後的 JavaScript 體積較大)。而 Vanilla JS 不依賴任何套件,瀏覽器拿到了就能直接執行,毫無負擔。
框架的底層全部都是由 Vanilla JS 寫成的。如果沒有先搞懂非同步(Promise/async-await)、DOM 物件操作或是事件機制(Event Loop),直接跳去學框架,遇到 Bug 時往往會分不清到底是框架的設定問題,還是自己的 JS 語法寫錯。
前端框架也許會不斷迭代,但 ECMAScript(JavaScript 國際標準) 是持續演進且向下相容的。學會了 Vanilla JS 的核心觀念,不論未來前端趨勢怎麼變,都能有紮實的應對能力。
在實作中使用 Vanilla JavaScript ,我可以好好停下來把每一個觀念慢慢搞懂,再往前進,雖然會比使用框架、套件麻煩一些,但覺得比較踏實,也可以奠定好基礎。
香草口味的JS現在很不錯,期待未來接觸到React、Vue 或 Angular時,也能試試品嘗不同的口味。
如果你還是最喜歡香草口味的JS,可以關注規定僅能使用原生JS開發的賽事,例如js13kGames,禁用大型框架和遊戲引擎,參賽者必須寫出一款壓縮檔不超過13KB的網頁遊戲。