前端工程進化論

前端工程進化論

前端開發已經是一門顯學,更是許多職稱頭銜,在短短不到 10 年的時間內,網站前端被視為一個不可或缺的角色,也是開發團隊中重要的一環。

對於網站開發來說,前端到底在這十年間改變了什麼?

淺談前端過往

在這短短十年間的時間內,我們見證了 jQuery 的興起,以及 YUI 的結束,甚至親眼見證到 IE6 的結束,對於十年前的網站開發來說,根本就像是夢想成真一般,每次回頭一看都會覺得那是段炫麗又燦爛的過往。

將設計的設計稿產出成網頁,一整排瀏覽器開啟網址,每個不同瀏覽器經過前端設計師都以相同的風貌呈現,毫釐不差,連 1px 的差異都不放過,甚至到陰影,圓角的跨瀏覽器處理,都可以不偏不倚的精確顯示,這就是當年前端設計師的驕傲,也是當年前端設計師的偏執。

我們就是這樣一路過來的 …

當年的前端,共同最大的敵人『IE』

網站應用興起

隨著網站應用興起,透過 AJAX 傳遞資料,網站應用化的過程中,網站前端介面負擔急遽攀升,身為前端設計師開始注意的不只是畫面的呈現,包含頁面渲染時間,JavaScript 執行效能,以及動畫樣式的處理,持續的堅持細節的處理,但同時更擴大掌握的範疇,前端開始瞭解,光只有 JavaScript library 已經不足。

逐漸開始出現動態頁面處理庫,如 handlebar, mustash 之類的 template 處理,讓 AJAX 動態回傳資料,可以快速的在頁面中執行。

動態節點,頁面嵌入網頁之餘,還要兼顧事件綁定,需要注意到 event listerner , event trigger 到 event bubbling 的問題都是屬於前端需要兼顧的課題。

但是這一切的一切,在網頁應用化崛起之後,變成基本中的基本。

對於網站開發,這些都是基礎的道理,身為開發者你可以不知道原理,但是你也沒辦法離開 JS library.

單向綁定雙向綁定

從資料的渲染,到資料讀取綁定,甚至是開始追求細節 history pushstate ,原本透過 js 行為操作,甚至是模擬 route 的處理機制,從原本 desktop application 層級上的開發模式,漸漸的轉移戰場,移動目標到網站開發上。

在不注意的狀況下,前端開發已經變成一個前台應用,單只有 html / JavaScript / CSS 就可以變成一種應用程式,就可以開始是一個執行架構,不需要倚靠後端,也不需要倚靠其他服務,這在以往都是想都不敢想的事情,對於純前端開發來說,就只是一種夢想。

前端從一個設計本位的職稱,變成工程師本位的思考,追求的可能是效能的極致,對於模組化的實現。

前端戰爭開始從 backbone, batman.js, embber.js 等,可以說是一週一個新框架的誕生也不為過,從 view render, route , controller , model 的處理,開始將 MVC 模式從後端轉往前端,從單向綁定,到談到 Angualr.js 的雙向綁定,從 JavaScript 事件分離,到 html inline 自訂屬性,自訂事件,將 html 只是文件描述,到變成 html 直接成為 web component 模組。

開始了一連串的戰爭,每個框架適用於不同情境,每一個框架採取了相似而相異的流程解決著類似的問題。

身為前端設計師,大家正在看著,也迷惘著,也自己手刻著,靜靜的看著前端世界的發展。

前端開發下一步

從 JavaScript 到 Node.js ,有人說前端的人開始可以簡易的轉變到後端,實質上只有前端 UI 細膩的開發才有辦法滿足那追求極致的爽度,只有透過不斷追求新技術的過程中,找到前端開發的純粹,找到改變流程中的不變。

前端這十年中改變了許多,但也許什麼都沒有改變,如果說有什麼是前端開發者必學的,那課題應該是

『身為前端工程師的驕傲』

授權聲明

授權為 JSDC 及作者所有。有關任何文章以及資料授權請洽 hq [AT] jsdc.tw