作者序
隨著網際網路與視覺化呈現的盛行,Web前端技術進步非常快速,許多網路使用者對前端技術有著濃厚的興趣,身為一個剛入門前端技術的初學者,也許會從一些套裝軟體入門(如Dreamweaver),慢慢的熟悉HTML語法,並從HTML的設計、CSS的排版、jQuery技術運用循序漸進的學習,這也是初學者比較容易入門的前端基礎技術,隨著動態前端網頁的技術進步,JavaScript語法就變成不可或缺的一門技術,也是現今視覺化網頁呈現的基礎。
隨著JavaScript語言的蓬勃發展,JavaScript,簡稱JS,除了能讓前端網頁呈現變得更加生動外,也逐漸發展出可在伺服器端網路環境執行的語言,如Node.js,加上HTML5和CSS3語言的推行,使得JS可應用於遊戲、主機和行動應用程式等眾多領域的開發。此外,當專案規模到達一定程度時,為了提升開發效率,並讓程式碼容易理解與維護,「軟體框架」的概念與工具便油然而生,現今以JavaScript為基礎的軟體框架有許多種,諸如:Angular、React、Vue等,而各家技術百家爭鳴且各擅勝場,無論是選用哪一種框架,無疑地都能為專案的開發帶來效益。然而,在能自由運用各種軟體框架之前,學習JavaScript的語法與觀念是必須具備的基礎。
對網頁前端設計來說,能夠熟悉JavaScript語言的運用是非常重要的能力,許多前端初學者都希望能透過循序漸進的學習進而成為一位前端設計的工程師,然而,網路上有著眾多如何學習JavaScript 的各式各樣內容,由於內容不連貫且深淺不一,初學者無法輕易判斷及理解內容的深淺與適合度,容易陷入混亂的窘境。再者,JavaScript 的發展悠久,且各領域的應用與框架眾多,入門的初學者不容易分辨清楚,更無從開始學習,此外,由JavaScript主導的全端( 從前端連結後端) 網站開發方式也逐漸盛行。
基於此,本書從初學者的角度出發編撰這本書籍,想要讓讀者了解JavaScript發展的來龍去脈,一次搞懂JavaScript全端開發的觀念、程式基礎與專案實作,因此,本書在撰寫的過程中不斷地與初學JavaScript的學生討論,持續修改各章節架構與小案例的設計,務必讓每章節的內容簡易好懂,觀念與觀念彼此間環環相扣,隨著章節的遞增,初學者能輕易理解內容並且循序漸進的學習,開發能力也一層一層的堆疊起來,而章節內容搭配案例的方式,實現『做中學』的學習方式,讓讀者能更輕易的上手,再透過第六章中各個範例實作,複習整本書說明的前後端開發觀念,最後以一個企業形象網站的功能設計與專案開發方式,整合整本書所有的內容。
為了讓讀者更能理解與銜接這本書的內容,建議讀者先閱讀一本以HTML5與CSS3語言為基礎並結合Bootstrap框架的書籍『秒懂行動網頁設計:Sublime+Bootstrap+CSS3+HTML5+Cordova專案實作』,透過紮實的前端基礎觀念打底(HTML5與CSS3),讀者將更能掌握本書從JavaScript基礎語法、前端設計與後端開發介紹,並提供一系列的單元實作,由淺入深地引導讀者們從環境佈署到網站建立的過程,期許這本書的編排與設計,能夠讓想要學習JavaScript的讀者們有一個依循的學習路徑,逐步的理解及運用JavaScript 語法。
全書分為三大部分:
1. 「教戰守則篇」:為JavaScript基礎概念教學的部分,從JavaScript技術發展過程開始介紹、並循序漸進地描述JavaScript 程式撰寫的基礎語法、邏輯與重要觀念,建立紮實的觀念與基礎。
2. 「觀念養成篇」:從JavaScript前端設計循序漸進的介紹到後端系統開發,完整描述與講解所有核心觀念與實用程式技巧,各章節透過淺顯易懂的圖文說明,搭配小型範例練習的方式,協助讀者加深先前描述的觀念,並透過範例練習更清楚掌握書本的內容。
3. 「實作練習篇」:以完整的範例演繹前面章節提到的觀念,並詳細解釋每行程式碼,採用逐步引導的方式帶領讀者一步步完成範例,第六章的整合實作練習,如會員、投票、個人相簿、論壇等,讀者可藉由範例複習來貫穿整本書所要表達的觀念,第七章的形象網站建置,強化讀者從觀念理解到實作執行的能力,進而能獨力完成網站的建構。
這本書是由學生團隊和指導老師們合力完成的書籍,章節中的範例都是學生學習後的成果,範例程式也都經過學生們再三確認無誤,在此,非常感謝吳其聯、王柏皓願意將本身的知識與學習經驗分享,透過一次又一次地討論與修改,由淺入深的編排整個JS全端設計的重要觀念,並輔以小型範例程式的實作說明。為了更了解初學者的需求與角度,與實驗室學弟妹們的互動與回饋更是不可或缺的寶貴意見。最後特別感謝董子瑜與蔡侑倫對於書本內容的細心校稿、程式碼的測試與學習過程的建議,讓這本書的內容與編排能更臻完善,更貼近初學者的角度,而璟誼的封面設計,更為整本書增色不少,再次強調學生們才是這本書的真正作者。
?
姜琇森 蕭國倫
撰寫於 國立臺中科技大學資訊管理系