自學系列 | Full Stack Web | 網頁全端入門學習筆記

我要成為一個無畏投入未知領域的新創工程師 — 我是寫 App 的,這是我的網頁全端學習筆記

Chloé
YiYi Network
6 min readMay 2, 2018

--

Photo by Robb Leahy on Unsplash

為什麼取這個副標題,文章最底下會說明。簡而言之最近因為工作需要,我開始找網頁全端的入門線上課程。找學習資源前,我先列出了幾個需求:

需求 1. 前端+後端一起學

因為是工作需要,我的時間並不多,所以最好是一套課程搞定全部。

稍微補充一下前端/後端是什麼:前端負責使用者看見的所有東西,像是文字跟圖片怎麼排版、要出現哪些酷炫的動畫…等等,後端則處理使用者對網站做出的指令/留下的資料,例如你對這篇文章拍了 10 次手,後端就把誰拍了手、拍了幾次…這些資料傳回資料庫,下次你再點開這篇文章時,就會顯示你曾經拍過手。

需求 2. 後端教的語言是 Node.js

理由同上,因為時間不多,我只想學一種程式語言就好,雖然後端的程式語言很多 (PHP、Ruby、Node.js、Python…),但既然前端一定會學到 Javascript,後端就不想再多學其他,直接選 Node.js。

需求 3. 課程中會帶我做出網站,而不只是寫程式語言練習題

我大學時曾經用 W3School 自學過 HTML/CSS/Javascript,但當時沒有一個想做出的網站當作目標,而且 W3School 上面都是練習題,很快就沒耐心了。所以這次我想找的是:會帶著我做出範例網站的課程。

需求 4. 最好是免費課程

我先從免費的課程找起,發現大部分免費的課都不符合第三項,多數還是以練習題為主,而且後端教 Node.js 的課居然有點少… 我只好放寬限制,NT$500 以內還可接受。

後來我在 Udemy 找到一堂 The Web Developer Bootcamp ,趁著特價跟朋友合購,覺得教的很清楚,而且帶著做的練習範例網站都很不錯,就把上課的筆記打下來,變成這篇文章。

第一部分:HTML/CSS/Bootstrap

第一部分只關於「介面的呈現」,我們做出的網站不會動,按下按鈕不會有反應,單純只呈現資訊。HTML/CSS/Bootstrap 其實都不是程式語言,所謂程式語言是牽涉到邏輯、運算這樣更複雜的東西,程式語言會在第二部分學到。

HTML 就像網站的骨架,決定這個網站有哪些文字、圖片、按鈕、連結、表格、表單…等等,CSS 則是骨架的化妝師,決定每個元件的排版、顏色、大小。關於 CSS 的威力,可以看這個網站如何用相同的骨架(HTML),不同的 CSS 創造出截然不同的頁面。

左邊是單純的 HTML,右邊是 HTML 加上 CSS 後的樣子

HTML

在 HTML 單元會學到文字、圖片、表格(table)、表單(form)、清單(list)、連結(link)…等元件的使用方式,並且做出底下這樣的東西,看起來很遜,只是單純的骨架,沒有排版跟美感可言…但別小看這個!

每個網站都是由這樣簡單幾個元件排列組合而成的!

我在 HTML 單元的練習

忘記元件如何使用時,可以上 MDN Web Doc 網站查詢,或直接 Google「XXX mdn」(XXX 就是 table, list… 之類),MDN 網站就像網站開發的字典

CSS

我在 CSS 單元練習的範例網站

CSS 單元會做出上面這樣的東西,有發現嗎?CSS 幫助網頁加上了好看的特殊字型,也可以限制圖片的大小與排列方式,還有隔線的顏色也可以隨意調整。

要使用字體時,可以到 Google Font 查找特定字體。由於字體種類太多,不是所有瀏覽器都支援,因此推薦到 CSS Font Stack 網站查看瀏覽器對特定字體支援的比例。

Bootstrap

Bootstrap 是一種 CSS 的 Framework(框架),簡單來說,如果 CSS 是彩色筆工廠裡的各種元件,我們原本要自己組裝好彩色筆才能開始作畫,Bootstrap 就像有人直接賣一個彩色筆盒,裡面已經組裝好 12 支彩色筆,讓我們可以直接拿來畫圖,不用再從元件組裝起。

所以網站做起來非常快速、簡單,有一種自己是設計師的錯覺!

我在 Bootstrap 單元練習的範例網站

Bootstrap 單元主要會教 Navigation Bar (網頁最上方長長的一條),以及排版時非常好用的 Grid System (網格系統),這個單元會學到如何讓同一個網頁,在 Desktop、平板、手機等不同載具下,都能呈現出好看好用的排版。

第二部分:Javascript / DOM / jQuery (關於程式語言)

學完 HTML、CSS、Bootstrap 之後,我們的網站只是呈現出介面,還沒辦法跟使用者互動,比方說點下按鈕後顏色改變、按下 enter 時發出聲音…如果我們要讓網站可以根據使用者行為做出一些「反應」,那就需要具備「邏輯」的程式語言來幫忙了,下一篇就來學 Javascript 吧。

小記:關於副標題…

關於本篇文章的副標題,有點自嘲性質,但一部分是因為我看到底下這篇文章。它提到好的新創軟體工程師,應該無畏投入未知、不熟悉的領域,而且擁有強大的通才,畢竟在新創初期不斷變換方向是很正常的,在時間有限、資源有限的情況下,必須有快速學習新東西的能力。

如果喜歡這樣的自學系列,請幫我拍拍手 👏另外,我把之前寫的程式學習相關文章集結在底下的列表,有閒來坐 🤗

--

--

Chloé
YiYi Network

📍Taipei, Taiwan 👩🏻‍💻 Software Developer