· 2 分鐘閱讀
前端應該學習 CS 嗎?
# 前端這個議題吵好久了,在這裡簡單紀錄一下自己的想法。
在很久以前只有 HTML 與 CSS 的年代,頂多再加上 jQuery,只要架出靜態網頁丟到 FTP 就可以被稱作是高手。
隨著瀏覽器可以做到的事情越來越多,前端能夠涵蓋的範圍也越來越廣了,光是前端這個名詞,可能就可以有多個分支:
- UI:對於使用者體驗的重視,其中包含了 API 狀態處理、資料處理、使用者體驗、a11y、適當的 animation 互動。
- 多媒體:對聲音、影像、直播比例偏重的服務,除了要對 UI 有一定了解外,還需要對多媒體背後的解編碼、傳輸有一些概念。
- 資料流 / 前端工程:對於工具框架的掌握度,對於業務需求、領域知識有一定的了解
- 資料視覺化 / Stroy telling:這部分除了對 Chart Library 或是 D3 的熟悉,還需要知道瀏覽器對於圖表的顯示極限在哪裡,何時用 Canvas、何時用 SVG、何時用 WebGL,除此之外可能還需要一些 story telling 的技巧,才不會做出花花綠綠的圖表卻沒有使用者買單。
- 架構:前端的部署、Logging、底層框架、規範、API 管理、狀態管理等,這方面需要經驗以外,也需要一定的 CS 知識背景來支撐。
- 遊戲:透過遊戲說故事,或是單純娛樂用,涉及遊戲理論,也跟一般的開法手法不太一樣
- 概念流:像是 Vue、React、Svelte 等直接從概念(Component、Virtual DOM)下手,徹底改變開發者對於前端的想像。
一個有 CS 背景的開發者寫出來的 UI,可能會比一位沒有 CS 背景的前端工程師還要糟,比起多念演算法可能多鑽研一下 a11y 跟 UI 對這個社會還比較有幫助呢
全部都能專精的人不多,基本上如果都專精的話也不會以前端自居了,都變身成 Software Engineer 了。這種人可遇不可求,也不需要每個人都要成為技能樹全滿的大神。
從以上的角度來看,不看公司的條件與需求就一味地強調演算法、CS 背景都是在耍流氓啊,很多時候只是徵才心態上的懶惰罷了。
回到老話一句,重點還是你的目標還有你想成為的人
相關文章
- 讓你的超連結底線更好看:text-underline-offset預設的情況下底線跟文字很接近,有些設計師不喜歡這種樣式,我自己也覺得沒有很好看。
- 為什麼網頁不應該追求 Pixel Perfect只有在 Pixel Perfect 很重要的時候才應該關注他,否則往往會讓你得到一個雙輸的局面。
- 用 CSS HSL 來寫顏色吧!(以及更好的方法)在網頁開發中,傳統的 HEX 和 RGB 顏色表示法雖然廣泛使用,但存在不易閱讀和直觀性不足的問題,且在廣域的色彩空間如 P3 下表現能力受限。HSL(色相、飽和度、亮度)提供了一種更直覺的顏色定義方式,讓開發者能更輕鬆地理解與調整顏色。HSL 通過色相、飽和度和亮度三個維度來描述顏色,使得顏色的調整更加人性化,特別是在設計系統中,HSL 能更好地呈現色盤的亮度變化。
- 盡可能不設定 line-height 為 1 與 ellipsis 的原因本文探討了為何在網頁設計中不建議將 line-height 設為 1,以及使用 ellipsis 時遇到的語言問題