Bramus Van Damme 是來自比利時的網頁開發人員。1997 年,14 歲的他發現了「檢視來源」功能,從此愛上網路,並持續鑽研。我與他進行了訪談,瞭解他的網頁開發歷程,並請他分享目前 CSS 中最令人興奮的技術。
這篇文章是 Designcember 的一部分。由 web.dev 舉辦的網頁設計慶典。
Rachel:你是如何踏入網頁開發領域的?
Bramus:我從小就喜歡動手改造東西。我會花好幾天玩 LEGO® 積木,從無到有打造自己的奇幻世界和物體。
1990 年代,電腦是罕見的裝置,但我們家有一台,我很快就用電腦遊戲取代了實體玩具。不過我並非狂熱玩家,我認為自己從未完整玩完任何遊戲。我沒有完成遊戲,而是開始修改遊戲。
1997 年,我在查詢這些遊戲和工具的相關資訊時,也發現了 view-source。我很好奇這些網站的建構方式,因此開始收集我造訪網站的 HTML 片段。我將這些程式碼片段與 Frontpage Express (Internet Explorer 4 和 5 隨附的應用程式) 結合,很快就建立了自己的第一個網頁,當中包含我的個人資訊。這些網頁從未發布,只存在於我隨身攜帶的其中一個軟碟中。
從那時起,我對電腦和網路的興趣越來越濃厚。為了轉系,我甚至故意讓高中一年級的科目不及格,這樣才能從經濟學轉到 IT 領域,因為我知道自己想在 IT 領域發展。2002 年我進入大學,正式學習 HTML,並開始接觸 CSS 和 JavaScript。在那三年期間,我發現自己真正熱愛的是網路,因此 2005 年大學畢業後,我便接下第一份工作,成為專業的網頁開發人員。
成為前端和後端開發人員
Rachel:我在您的網站上看到您是前端和後端開發人員,我原本是 Perl 開發人員,後來也成為 PHP 和 MySQL 開發人員,與您的經歷類似。你是否對其中一方感到更興奮?您認為學習堆疊的其中一部分就已相當複雜,因此混合型開發人員的可能性是否正在消失?
Bramus:在我的職業生涯中,我一直不斷在後端和前端之間來回切換。有一年我會深入研究 JavaScript 和 React (甚至是 React Native),但隔年卻要建立 Terraform 指令碼和 Docker 容器。我喜歡將兩者結合,但我的熱情始終在於前端,尤其是 CSS。
在網路發展初期,一個人就是「網站管理員」,負責所有工作。當時的工作範圍相當有限,因此很容易跟上進度。過去 20 年來,前端和後端都蓬勃發展,因此要維持整個領域的專業知識變得越來越困難。因此我決定在 2020 年再次將重心放在前端。
Rachel:你為什麼特別開始撰寫 CSS 相關內容?
Bramus:我網誌上的內容一向反映我正在進行的專案。因此,前後端職位都有。
參加 Fronteers Conference 和 CSS Day 等研討會,有助於我撰寫深入的前端文章。舉例來說,Tab Atkins-Bittner 在 2013 年談論 CSS 自訂屬性,當時這些屬性甚至還不是正式功能;或是您 (Rachel Andrew) 在 2015 年向我們說明 Grid,這些活動都直接促使我撰寫相關內容。當時我在技術大學擔任網頁和行動開發講師,因此有充分理由關注這些主題,因為之後我會教導自己的學生相關內容。
2019 年,我開始密切關注 CSSWG,並參與討論。瀏覽器會處理功能旗標背後的功能,這表示我可以在功能發布前,先試用我讀到的內容。這也反映在我的網誌內容中。
給新手的建議
Rachel:你對想開始撰寫科技文章的人有什麼建議?
Bramus:不要猶豫,直接動手做就對了。即使只有一行 CSS 程式碼,或每年只發布 1 篇文章,或「只有」5 位訂閱者,都請務必發布。撰寫自己想看的文章,滿足自己的需求。撰寫網誌文章不僅能讓我更深入瞭解技術,也為我開啟了個人和專業領域的大門。
不要過度依賴 Medium 或 Twitter 等外部服務,盡量在網路上建立自己的空間。從長遠來看,這項投資絕對值得。你不需要任何花俏的 CMS、建構管道或留言系統,即可開始使用。你只需要文字編輯器和一些時間。HTML 搭配簡單的樣式表,就能達到許多效果。
CSS 的新功能
Rachel:您撰寫了許多文章,介紹 CSSWG 和瀏覽器中開發的新功能,您認為哪些功能最令人期待,能為網路帶來新氣象?你認為哪項技能對自己的專業工作影響最大?
Bramus:我跟許多開發人員一樣,對 CSS 容器查詢感到非常興奮。其他即將推出的功能 (例如 Cascade Layers 和 Scroll-linked Animations) 也讓我感到興奮,但 Container Queries 絕對會帶來最大的影響。這有助於我們從回應式網頁轉換為回應式元件。
Rachel:你希望 CSS 新增哪些功能或特色?
Bramus:我希望捲動連結動畫功能能有進展。目前僅為編輯者草案。能夠定義硬體加速捲動,而不必依賴 JavaScript,完全符合我對漸進式增強功能和最低功率規則的心理模型。
CSS Nesting 也是我關注的重點。從第一個編輯草案到去年夏天發布第一個公開工作草案,歷時超過兩年,但我很高興看到這個成果。
除了這些大型功能外,我也很期待看到小幅調整和新增內容。accent-color 等功能絕對會讓我感到開心,因為這些功能可讓開發人員的工作更輕鬆。
建議追蹤對象,激發網頁設計靈感
Rachel:目前還有誰在網路上製作有趣或有創意的作品?
Bramus:這個問題很難回答,因為有太多人製作的內容都讓我驚豔和受到啟發。舉例來說,Adam Argyle 和他的 GUI 挑戰、Stephanie Eckles 的專案、Michelle Barker 的網誌文章、Kevin J. Powell、Miriam Suzanne 在 CSS 工作群組所做的工作、Una Kravets 的 Podcast、Jake Archibald 的文章、Jake 和 Surma 的 HTTP 203、George Francis 的 Houdini 工作,以及 Temani Afif 的貼文。我對這些人和他們的專案,以及我現在忘記的許多其他人,都抱持敬意和欽佩。
我認為在我的職業生涯中,影響我最深的人是 Jeremy Keith。他教導我們語意 HTML、漸進式強化和韌性,讓我大開眼界。這是我給自己學生的訊息,至今仍想傳達。在 JavaScript 席捲全球,而初級開發人員似乎略過網頁基礎知識的時代,他的文章和演講比以往更貼近現實。
Rachel:你可以在 Twitter 上追蹤 Bramus,也可以前往 bram.us 閱讀他的網誌。