設計系統到底是誰的責任?
溝通這件事並不是單方面,設計師和工程師都有自己的課題,只是儘量建立一致的溝通語言。過去沒有對應的工具和規範,設計師隨便畫,工程師隨便做。現在各種工具輔助,Figma 就有 AutoLayout, Variants, Variable, Component,近年興起的 Design Token 也是希望建立一致語言。工程師生態出現 Martial UI, Ant UI, Headless UI,有對應的 Theme System。
但工程師和設計師卻開始覺得「以前好好的,我幹嘛學這些工具?」
工程師說:那是設計的問題
工程師開始表示了, Design Token、Design System、RWD 是設計的問題,我程式怎麼寫跟設計無關吧?反正我就按照套件給我什麼再去改,改不動就改不動。花一堆時間學底層的 theme system,換了一套不都沒用?反正我按稿施工,差幾個 pixel 又沒差,哪來那個美國時間 pixel perfect?你功能做的有問題,畫面調整到完美都沒有意義。
設計師說:CSS 是工程師的問題
設計師也很不滿了,CSS 是工程師的問題。RWD, AutoLayout, Variants, Variable, Component, Design Token, Design System 我花一堆時間做,但也是方便到工程師,我也沒比較輕鬆,工作也沒比較少,反而花時間建置設計系統就飽了。
這些東西本來就只是溝通工具
其實也吵不完,這些東西就是溝通工具,不外乎是建立工程師和設計師的溝通橋樑。讓工程師不要碰設計稿,讓設計師不要碰程式碼,使用可以文件規範而且有邏輯性的東西,兩邊都不想學就只能繼續這場誰也不讓誰的戰爭。
坦白講,不要講設計師,我根本沒看過幾個工程師懂「Design Token」的使用,大多以為平常用的 theme 和 css variable 就是 design token。
那這些工具真的有必要嗎?
你可能會問:「這些工具和方法輪真的有必要嗎?真的有提高效率嗎?」
我也會直白回答你:「沒有必要啊~」
敏捷開發、Figma、UI框架,其實沒有這些東西都可以開發,學習這些東西也很辛苦。其實只要找到讓團隊「有效溝通」的方法就好,這些不過是軟體開發的方法論而已。
一般情況,單論「效率」,我可以講「幾乎沒有」。要產生追加效率有很多前提,比方說多人設計師合作、有多產品使用同一套系統、工程師技術線一致。
但⋯⋯蠻難吧?
最有價值的是一致的設計語言
我覺得最有價值的是「一致的設計語言」,不管是設計端或工程端。當有人員流動時,有一個通用的框架及標準會更容易交接、上手。