草莓正在奮力地練習之前學過的 JavaScript,熊熊剛下班急忙忙地跑過來。
「草莓啊不好意思,公司有個東西突然壞掉,剛剛加班才修好~」熊熊說。
「沒關係~咦,J個黃黃的是什麼呀?」草莓望向熊熊的筆電包包。
「沒有啦,那個我趕來路上的時候撿到的啦,我們趕快進入今天的主題啦啦啦啦啦」
「草莓,你知道什麼是框架嗎?」
「我知道~之前在講 CSS 的時候有玩過 Bootstrap。」
「Bootstrap 是 CSS 的框架,但你知道 JavaScript 也有框架嗎?」
「哪尼?」雖然草莓眼睛極小,但她還是努力瞪大雙眼地說。
「不過在這之前,我們先要知道框架的存在和意義,不然直接去使用 JavaScript 框架就太本末倒置了。」
「讓我想想看~像 Bootstrap 的話,就是很多已經寫好的樣式,讓我們可以直接引入使用,所以框架的存在應該是想幫助工程師們省下時間對吧?」草莓說。
「說得沒錯~ JavaScript 框架也是為了類似的意義而存在的,另外一個原因是,在我們撰寫網站的過程中,當你越寫越多就會逐漸發現,有些功能是重複出現的,甚至是每一個網站必備的,遇到這種情況就會思考說是否能把這些功能獨立拿出來重複使用,下次製作新的網站時就不需要又寫一樣的東西了。」
「聽起來框架幫我們做了好多事情喔!」草莓說。
「的確,但也要自己去評估是否有使用框架的必要性,畢竟框架通常包山包海,都會預設你需要這些東西,如果今天要製作的網站規模不大,那硬是去使用框架就會變成拿石頭砸自己的腳了~」
「了解~好好奇有哪些框架可以使用喔?」
「來~我們首先看到 Angular,它是由 Google 公司推出的前端框架,算是相當早期就推出的工具,從第一版到後來的版本可以說是經歷了相當大動作的更迭,雖然推出的時間較早,但使用它的公司還是很多喔!」
「Logo 長得好像盾牌喔。」草莓心想。
「接下來看看 React,這也是目前最受歡迎的前端框架之一,維護它的社群和生態圈發展地相當蓬勃,大部分你遇過的問題其他工程師也遇過了,所以 Debug 的時候會比較有方向性,而它背後同樣有富爸爸 Facebook 支持,因此也不太需要擔心沒有足夠的資源繼續發展。」
「我剛剛查到,發現 React 還可以寫手機的 App 耶?」草莓有點吃驚地說。
「是的~這也是 React 厲害的地方,官方團隊所推出的工具不僅在瀏覽器上能執行,在手機端也有 React Native 的支持,也就是說只要使用 React 就能同時撰寫網頁端和手機端的程式囉!」
「好神奇呀!」
「最後我們再介紹一個,這個框架叫做 Vue,也是這幾個框架中最為年輕的一個,但受歡迎的程度同樣不容小覷。在它的設計概念上借鑒了 Angular 的想法,但它提供的語法相對簡潔許多,雖然它不像前面兩個框架有大公司的團隊支持,主要工作都是由原作者一人開發,但 Vue 的設計哲學還是吸引了許多工程師的愛好與關注。」
「熊熊,Vue 是不是有在賣眼藥水啊?」草莓問。
「蛤 ... ?」熊熊問號中。
草莓喝了好多咖啡突然尿急,跑去廁所之後回來發現座位上的熊熊正在打瞌睡。
「最近真是辛苦熊熊了。」草莓心想。
這幾個禮拜的網頁課程,也接近尾聲了呢。
明日待續~