網頁前端的發展 (科普)

IE6時代

當網站的後端(Backend)剛開始嘗試使用網頁框架(Web Framework)來簡化或模組化開發過程時,網頁本身在瀏覽器的呈現上還處於半停滯狀態。 首先是眾家瀏覽器對各種網頁新標準的支援度不一,網頁開發者需要分別在多個瀏覽器,多個版本上測試,以確保一切運作正常。

應運而生的是封裝了各種瀏覽器實作差異的函式庫。jQuery函式庫的出現,讓開發者得以用一致的語法開發能運作在各種瀏覽器上的網頁。大大簡化了支援多種瀏覽器的困難度。 從2006至今近10年的時間內,jQuery幾乎成了所有網站都會配備的標準函式庫。

Web 2.0 時代

一般以2004年Gmail公開提供服務為大眾所知。網站從早期提供/搜尋資料,線上購物,進化為能取代桌面應用程式的網頁服務(Web Service)。 網頁服務與傳統網頁的區別在於,使用者使用傳統網頁時,每次在網頁上按個按鈕,就得等待伺服器處理完,傳回新頁面後才能查看處理結果。 網頁服務則不然,使用者的大多數行為都直接在瀏覽器端運作,背後再透過AJAX(非同步請求)技術,從網頁服務器取得資料,然後將關聯的部份更新在當前的頁面上。 相較於傳統網頁,使用者感覺不到明顯的延遲,在使用經驗上大為改善。

graph LR subgraph Web Server backend[Web framework] end subgraph Browser request response --> render end request --> backend backend --> response

一直以來網頁的強項在於,當開發者做好任何的新功能或問題修復,都能更容易地更新版本。使用者不需下載就能享受到新版本的各種功能。 對於使用者而言,使用網頁服務有更好的體驗。傳統上只有桌面應用程式能做到的事,透過網頁服務也能做到。也因此推升了開發各種網頁服務的需求。

網頁服務大量地使用Javascript來處理頁面上的各種行為,多種功能並存於同一個頁面中,大大增加了網頁的複雜度。一些大公司如Yahoo開始出現專注於網頁前端(FrontEnd)開發的職位。

2016年學習寫網頁

如果對現在的前端/Javascript相關技術發展感興趣,可以進一步查看我去年的演講Javascript,征服世界是可能的嗎?,或看看這篇最近頗熱門的文章在 2016 年学 JavaScript 是一种什么样的体验?😉。