原文:http://mtache.com/web-design-tutorial
如果你想學習網頁設計,隨便到圖書館或網上一找,便會發現,怎麼這麼多資料?
網上關於網頁設計的資料雖然很多,但就是資料太多,初學者根本無從入手。
我叫Jack,是一位Awwwards認可得獎,有多年的編程教學經驗的編程員。
今天,這篇「網頁設計教學2019 - 9個課程」,將會分開9個章節,由基本概念,架站方法到編程學習路徑等。內容濃縮至你真的需再知道才會講解,用最簡單易明的「人話」去說明各種概念,讓你打穩基礎,好好去學習網頁設計。
如果你正在想學習網頁設計,看這篇文章就對了!
要編寫一個網頁,原來可以分為前台(Frontend)及後台(Backend)。
前台(Frontend)就是網頁的外觀。例如你看到的文字,圖片,美麗的排版等等,通通都是前台(Frontend)。
後台(Backend)就是網頁的功能。例如網站可以讓你註冊,提交數據等等,就是後台(Backend)。
還是不明白?讓我們看看這個例子:
假設你到一家網店買東西,看見一個漂亮的主頁。
在主頁中,你看見一件T Shirt,於是按了那T Shirt一下。現在你處於T Shirt這頁。
到目前為止,你已經看到了兩個layout,分別是Home及T Shirt。這兩個不同的layout,就是前台(Frontend)。
然而,事實上,當你由Home到T Shirt時,中間其實會經過一台Server(伺服器)。
在這台Server(伺服器)上,會有一些Program運行。而這些Program,是有Logic的。比方說,可能你以前從來沒有訪問過這網站。於是,它便不讓你看到T Shirt這頁,反而是帶你到Register這一頁。
另外一個情況,就是你原來已訪問過這網站。因此,它今次便會帶到T Shirt這頁。
在Server上的這些Program,便是後台(Backend)。
後台(Backend)除了有Program外,還會有Database(數據庫)。Database主要負責儲存數據,例如用戶的登入電郵,密碼等等。
接下來,我們來看看Frontend及Backend,是由什麼編程語言組成的。
Frontend是由3種編程語言組成,它們分別是:
HTML
CSS
Javascript
HTML主要是負責外觀的結構。
CSS負責把結構變得更美麗。
Javascript負責外觀元素的控制。
至於Backend,則有很多種選擇:PHP, NodeJS, C, JAVA, RUBY, PHY, Python......我們只要選擇一種來用就可以。
你可能會問,我應該選擇哪一種語言來學呢?以我的經驗,PHP比較普遍,多人使用。NODEJS則功能強大,但很難學。C, JAVA, Python等等都是熱門的編程語言,但卻不是寫Website的最好選擇。
接下來,另外一個重要概念,就是內容管理系統(CMS)。
CMS的全寫叫Content Management System。意思就是讓一個不懂編程的人,也能夠更新網頁的內容。
如果網頁沒有CMS,你不懂編程的話,是不能夠更新網頁內容的!
有了一個CMS後,你便可以像更新Facebook一樣,輕易地更新網頁內容。
跟據https://trends.builtwith.com/cms,Wordpress是現今最多人用的CMS。
像Wordpress,Drupal等等,我們稱之為「開源」的CMS。意思是它們的源代碼是公開的,全世界的編程員也可以一起維護,開發這些源代碼。你可以免費,合法地使用它去為你或你的客人建立網站。
現今的網站,約有1/3的流量都是從手機而來。
因此,如何確保網站在手機,IPAD等都美觀地顯示,也是一個重要的題目。
而最常見的處理手法,就是使用響應式設計(Responsive)。
響應式設計(Responsive)就是使用同一堆源碼,讓你的網站在桌面,Tablet或手機上都可以美觀地呈現。
讓我們看看例子吧:
burdstrom.com在桌面上是這樣的:
在手機上則是這樣的。
你會看到,透過一些外觀的小改動,在桌面或手機也可以美麗地呈現網頁。
我們通常會利用CSS,及少許Javascript做到Responsive的效果。
一般來說,要建立一個網站或平台,一共有4個步驟。
他們分別是:
用家體驗 (USER EXPERIENCE)
資訊架構 (INFORMATION ARCHITECTURE)
設計 (VISUAL DESIGN)
開發 (DEVELOPMENT)
1. 用家體驗 (USER EXPERIENCE)
建立一個網站的第一步,原來並不是直接坐下來畫layout或是做Programming。反而,你應該要跳出自己是設計師的身份,把自己當作網站的用戶,想想看:
網站的用戶是誰?
他們年紀有多大?是男是女?
他們有什麼特點?興趣?
他們為什麼要上你的網頁?有什麼目標?
有什麼功能是他們喜愛/不喜愛的?
如果可以的話,最好是找出這班目標用戶,和他們聊聊天吧!
和目標用戶聊天,除了可以了解以上問題的答案外,更重要的是,你可以從與他們對話中,了解他們說話的用字,語句,把他們都記下來。
不要小看這些語句!遲一點你在為網頁寫文字內容的時候,這些語句會對你幫助很大。因為他們都是從目標用戶親口說出來的。
2. 資訊架構 (INFORMATION ARCHITECTURE)
第2步,我們叫「資訊架構(INFORMATION ARCHITECTURE)」。這一步有點像一個橋樑,去把你想做的東西,變成編程員會看得懂的東西。
資訊架構(INFORMATION ARCHITECTURE)通常有以下的東西:
Sitemap
WireFrame
Sitemap很容易去理解。你網頁將會有什麼頁,便把它們都列出來。如下圖,網站有Home, Service, Contact等頁:
WireFrame則是用一枝筆,把網頁大概的樣子畫出來:
上圖其實是twitter的wireframe! (來源:
https://www.flickr.com/photos/jackdorsey/182613360)
WireFrame不用畫得漂亮,它只是你網站外觀的大概,初稿。接下來我們還是會把它交給設計師去設計。
3. 設計 (VISUAL DESIGN)
當有了sitemap及wireframe後,我們便會把它交給設計師去做設計。
設計師通常會使用AI,Photoshop,ADOBE XD等軟件去做設計。如下圖:
要注意設計出來的會是一個圖檔。圖檔是靜態的,而網頁則是動態的。因此,設計師在設計時,還應考慮當中的動態元素。
4. 開發 (DEVELOPMENT)
當設計完成後,你便可以把設計交給編程員,去做開發了。
編程員通常會跟著設計,把外觀Frontend做好,然後再做後面的功能Backend或把網頁連上CMS。
在前一章,你學習了不同的概念,如Frontend/Backend,CMS等等。
然而,作為新手的你,想實際去建立一個網站,究竟有什麼方法呢?
以下是現今, 市面上最常見的3種架站方法:
1. 使用第3方服務如wix/shopify
2. 使用Wordpress架站
3. Custom Built Frontend + Backend
1. 使用第3方服務如wix/shopify
難易度:★☆☆☆☆
靈活度:★☆☆☆☆
如果你不想編程,最簡單的架站方法,就是使用第3方服務如wix/shopify,去建立一個網站。
wix/shopify提供簡易的drag & drop介面,讓你使用他們的模版,去建立網站。
wix.com讓你建立一般的公司網頁:
shopify.com讓你建立網店:
當然,使用這些第3方服務也有其缺點。就是你沒有網站源代碼掌控權(因為你是在使用他們的服務)。因此,網站的靈活度,可擴充性會較低。另外,某部分服務也可能需要收費。
2. 使用Wordpress架站
難易度:★★☆☆☆
靈活度:★★★★☆
利用Wordpress架站是另外一個非常流行的方法。
Wordpress是一個最多人使用的CMS。它是免費,開源,也具備大量模版及可擴充的功能。即使你不懂編程,你也可以利用wordpress架站。
要注意我們這裡討論的是wordpress.org,而不是wordpress.com。wordpress.org是一套免費,開源的CMS。而wordpress.com則是像wix一樣的第3方服務。
利用wordpress架站的難度,會比wix/shopify高一點。(因為你還需要設置伺服器等)然而,它的靈活度及可擴充性則會大得多。你是完全掌控網站源代碼的。因此,你會編程的話,基本上任何的功能,外觀也可以加到你的網站裡。
了解更多Wordpress:Wordpress教學全攻略2019 - 15個課程
3. Custom Built Frontend + Backend
難易度:★★★★★
靈活度:★★★★★
最後一種架站方法,當然是自己Custom Built Frontend 和 Backend。這是我最常用的架站方法。聽下去好像很難,但其實現今的Frontend及Backend Framework已經非常成熟,即使要從頭編寫一個網站外觀及功能,也可以很快。
在開始設計網站時,我們一定會做Research。
比方說,我正在為一家HR公司設計網頁。在設計前,我一定會先看看
其他HR公司的網頁(香港)
其他國家HR公司的網頁
香港/其他國家,做得出色的公司網頁
做Research時,你除了可以看見你競爭對手網頁的layout外,還可以看到他們的用字,表達的內容等等。對你在設計網頁時,非常有用。
我在教授網頁設計時,發現學生常常遇到一個問題:
明明他們選擇的template很美麗,但當真正使用,做出來的作品卻不太專業。
為什麼呢?
原來,他們缺乏設計美感。修改template時往往把它改得亂七八糟,不倫不類。
設計美感是要培養的。而最快去培養設計美感的方法,就是:
多看一些美麗的作品
behance收集了世界各地最美麗的平面設計
awwwards收集了世界各地最美麗的網頁設計
最後,如果發現自己的設計美感還是不太行,在修改template時,就盡量不要做大的修改!以免改得不倫不類。
好了!如果你終於下定決心,要學習網頁編程。那麼,你應該從哪裡開始學起?
我的建議,是你應該由Frontend語言開始學。
第一樣需要學習的是HTML(外觀的結構)。
關於HTML的教學,可以參考以下文章:
HTML教學全攻略2019 - 9個課程
接下來可以學習CSS(讓外觀更美麗)。
學習完基本CSS後,你可以學習一些常用的CSS Framework,例如Bootstrap。再進一步就是CSS的動態元素,如CSS3 Animation,GSAP等等。
Framework是一堆一早寫好的源碼,讓你隨時使用。利用不同的Framework,可以讓你大大加快開發速度。
再下來就是javascript。
學習完基本javascript後,我們通常還會學習jQuery。jQuery是javascript以上的一個Framework,實際應用很多。
到了這步後,你已經成為了一個Frontend Developer!如果你想更深入去編寫Web APP,更可以學習一些Web APP Framework,如Angular,React等等。
至於後台,你則需要選擇一種語言去專精。
在眾多後台語言中,我會建議初學者學習PHP。因為比較普及又易學。
學習完基本PHP後,你可以學習一些以PHP為語言的CMS開發,例如Wordpress,OctoberCMS等等。
如果你想開發功能繁複的平台,你更可以學習一些PHP MVC Framework,如Laravel等等。成為一個真正的Backend Developer。
MVC 全名是Model-View-Controller。開發功能繁複的平台時,我們通常會利用MVC去架構後台功能。(現階段看不明白是正常的!)
在前幾章節,我們常常提及到伺服器(Server)。
究竟,什麼是伺服器呢?
「伺服器」其實就是一台連著互聯網的電腦。這台電腦的主要作用是,讓其他人看見這台電腦上的網頁。
如何在茫茫互聯網中找到這台「伺服器」?當然,它會有一個地址,這個地址就是叫IP Address。
IP Address通常都像這樣:192.3.4.2。很難記吧?因此,我們把它弄得易記一點,就變成網址(Domain)了。
整個上網的流程,就像這樣:
用家開電腦
開瀏覽器
在瀏覽器輸入網址
網址變成IP Address
根據IP Address,找到伺服器
問伺服器可否看你的網頁
伺服器說OK,它給你HTML
瀏覽器收到HTML,把它變為你看得懂的網頁
明白了嗎?看到這裡,通過這9個章節,相信大家己對網頁設計,掌握了各種重要的基礎概念。
今天的教學到這裡,希望大家可以好好學習!
联系客服