呼~~終於寫完所有躲在瀏覽器後面的東西了,現在我們已經架好了主機、佈好了 API 程式、裝好了 MySQL,就只差前端頁面了。從今天開始,我們就要開始一步一步做出我們的前端 APP。
寫前端程式必須得要對以下幾個語言有基本的掌握度
如果讀者對於這三個必備技能還不熟悉,筆者非常推薦 W3Schools 的教學,裏頭的教材設計得非常好,即使是張白紙,只要從頭到尾一步一步跟著讀懂、做完,就能對這三個既能有一定程度的掌握。
有別於後端有非常多種語言、框架可以選,前端的世界已經被 JavaScript 統一了,除了一些非常陽春的純 HTML 靜態網頁,幾乎沒有一個網頁不用 JavaScript。就像之前所說的,實際工作之後我們幾乎不會再自幹 library,而是會用框架跟套件,前端當然也是,而前端現在有三個主流框架:Vue, Angular, React。以下簡略說明三個框架的差別,
(圖片取自三大框架的 Wiki 頁面)
筆者自己只有用過 Angular,所以關於這三個框架的比較,筆者是根據跟前同事們聊天得來的主觀意見,不代表客觀事實。三大框架的優劣比較一直以來都是網路上的熱門話題,邦友們如果有興趣看看比較,隨便搜尋一下都有優質的比較文章。
框架的選擇與 Day21 的 ORM 選擇一樣,基本上看團隊還有信仰。任一個框架能做的事,其他框架也都做得到。筆者當時因為信仰 Google,加上爬文人家說會後端學 Angular 容易上手,於是就選擇入坑了。筆者的前端技能是自己做菜的一部份,系列文中如果出現錯誤還請大家不吝指教。
筆者認為,介紹 Angular 就必須從 Angular 不是 AngularJS 開始!
Angular 不是 AngularJS!
Angular 不是 AngularJS!
Angular 不是 AngularJS!
很重要所以要說三次!
筆者沒有寫過 AngularJS,但是認識的寫過 AngularJS 的同事沒有一個不酸 AngularJS 的,所以即便沒寫過,也不難想像,AngularJS 以前是如何被 React 按在地上磨擦。2016 年 AngularJS 的團隊把 Angular 整個砍掉重練,現在已經是一個成熟又好用的框架,但是沒有接觸 Angular 生態的人,還有很多停留在「Angular(JS) 很爛,最好學 React 或 Vue」的想法,資訊完全沒有更新。
Angular 每半年更新一次主版號,現在已經到了 Angular 12,內容的迭代改進非常之快,整個框架越來越進步、越來越強大。Angular 身為三大框架中最肥大的一個,有以下幾個優點:
不過,像是筆者前一份工作,某外國主管堅持用 jQuery 的思維硬幹寫 "Anygular" 又是另一回事了(苦笑)
雖然有些大神認為合格的工程師不應該依賴強型別來幫自己偵錯,應該要做什麼事情都在自己掌握之中,不應該犧牲 JavaScript 的自由變成強型別,但筆者認為,除了整個團隊全部都是神,不然以凡人的世界來講,TypeScript 犧牲自由帶來的好處絕對利大於弊。
當然, Angular 也有他的缺點,首先就是入門門檻相對高一些,像是他的架構因為職責拆分得很細而且橫跨很多檔案,沒有 K 文件或者有人帶,自己光看程式碼要搞懂真的有一點難度。其他像是框架太大,寫個小網頁就像用牛刀在殺雞等等。但不管怎樣,做為一個不斷進步的主流框架,筆者覺得 Angular 還是非常值得學習。本系列的最後幾篇,就要來介紹如何用牛刀來殺雞,用 Angular 做一個簡單的前端 APP,我們明天見!