薛良斌:Sass和Compass早期實踐者寄語

李鬆峰發表於2014-03-17

CSS1在1996年提出時,目的是作為一個簡單的樣式機制,讓作者與讀者都能為HTML檔案新增或改寫樣式,但是僅限於字型、顏色、框線、間距等。在當初的建議書(http://www.w3.org/TR/REC-CSS1-961217#appendix-e)的附錄有這句話:

我們不預期CSS會進化成一門程式語言。

這句話在2014年讀來,是多麼的諷刺。今天如果你不掌握任何一種CSS前處理器,大概都不好意思說自己是個合格的前端工程師。

當時規劃CSS語言的人們認為,每個人都應該可以輕鬆掌握CSS,所以它不能太複雜,更不應該有一般程式語言具備的變數、邏輯、函式,等等。但是隨著現實需求越來越多,CSS陸續增添了排版佈局、陰影圓角、動畫分鏡,甚至3D特性,使得CSS網頁設計早已不是一件簡單的事情。更何況我們還得面對“一千零一個”瀏覽器臭蟲與相容問題,以及像是罰寫小學生的眾多廠商字首。撰寫CSS成了一種黑魔術,更別提要維護它了。

幸好我們不需要絕望,隨著LESS、Sass、Stylus等CSS前處理器的興起,我們有了另一種選擇。網頁設計師與開發者可以不用重複自己(DRY,Don't Repeat Yourself),撰寫CSS也仍然可以充滿樂趣。

Sass 3.0版在2010年5月釋出,增添了與CSS相容的SCSS語法,並且搭配Compass的強大社群支援,從此邁向了主流道路。筆者在2013年底參加了CSSDevConf,開場Keynote的知名設計師Zoe Gillenwater更建議所有網頁設計師都應該開始學習Sass。會場上幾乎沒有人講“CSS前處理器”,只問:“你的專案用了Sass嗎?”時至今日,Chrome與Firefox的開發者工具都已經內建SCSS與LESS語法的支援。

同樣是在2010年,當時我仍然在自己創辦的設計公司Handlino服務。每次我遇到設計師朋友們,都會興奮地向他們介紹Sass/Compass。只要我稍稍展示變數與圖片精靈(第6章)功能,所有人都立刻想要改用Sass/Compass。但是當他們發現“天啊,這玩意得要會編寫程式”,熱情立刻就被澆熄了:“你別鬧了,我不可能學會的!”

那年年底的一個週末,我的同事tka心血來潮,撰寫出了一個跨平臺的Sass/Compass圖形介面工具,立刻受到大家的歡迎。我們決定將它命名為Compass.app(http://compass.kkbox.com/),將程式開源釋出,並且在網路上販賣預先編譯好的軟體。我們承諾捐出30%獲利到Compass指定的慈善機構(Compass是一個慈善軟體!),因而獲得了Compass作者Chris Eppstein(也是本書作者)的支援。截至去年,我們已經累積捐出超過15000美金。以一個開源軟體來說,這實在是個不可思議的成績。

Sass已經釋出了最新的3.3版,Compass也即將邁向1.0版這個重大的里程碑。很高興知道《 Sass與Compass實戰》即將出版的訊息,更感謝李鬆峰老師與譯者群投注的辛苦。相信你也能重拾撰寫CSS的樂趣。

薛良斌,Compass.app & Fire.app 開發者
2014.3.15

2011年,W3CTech(http://w3ctech.com/)薛良斌(布丁)的“Sass & Compass”主題分享

相關文章