摘要:當(dāng)我的補(bǔ)丁被拒絕了之后,我想要指出一個(gè)方向真正的框架是如何工作的。發(fā)起這項(xiàng)捐助有我的個(gè)人原因在里面,我的父親在年被確診為患有一種罕見的成年人形式的線粒體疾病。正是一個(gè)經(jīng)歷了如此過程的產(chǎn)品。
非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/120792
Chris Eppstein,Compass框架的創(chuàng)建者,Sass核心團(tuán)隊(duì)成員。Chris有10年以上為硅谷創(chuàng)業(yè)公司創(chuàng)建網(wǎng)站和應(yīng)用程序的經(jīng)驗(yàn),癡迷于前端開發(fā)。Chris曾是Caring.com的架構(gòu)師,也是第一位員工,這個(gè)網(wǎng)站致力于服務(wù)老病人群的護(hù)理者。為了能夠用有限的經(jīng)歷專心從事Sass和Compass的相關(guān)工作,Chris Eppstein離開了工作了6年的Caring.com,加入LinkedIn,從事前端架構(gòu)和維護(hù)Sass & Compass的工作。這是他一直以來夢(mèng)想的工作。Chris Eppstein著有《Sass與Compass實(shí)戰(zhàn)》。
Chris Eppstein(左)和前端開發(fā)者Liang-Bin Hsueh合影
問:你是如何開始對(duì)Sass感興趣又自創(chuàng)了Compass這個(gè)框架的?
當(dāng)我在2007年發(fā)現(xiàn)Sass的時(shí)候,它還是版本1.8,而且是另一個(gè)開源項(xiàng)目Haml的一部分,它是為Ruby設(shè)計(jì)的HTML模板語言。雖然Haml也不錯(cuò),但是我發(fā)現(xiàn)Sass其實(shí)更具有革命性。Sass當(dāng)時(shí)還沒有今天我們見到的眾多功能,但是對(duì)于我來說已經(jīng)看到了希望:樣式表庫(經(jīng)常被稱為CSS框架)可以像軟件庫那樣用適合的API來分發(fā),而全然都沒有傳統(tǒng)CSS框架造成的問題。
Compass最開始的時(shí)候是Blueprint CSS架構(gòu)對(duì)Sass的端口。我和Blueprint團(tuán)隊(duì)溝通后,他們?cè)试S我提交一個(gè)補(bǔ)丁,這個(gè)補(bǔ)丁使用Sass作為源語言,創(chuàng)建CSS的分發(fā)。在那時(shí),Blueprint是一個(gè)很成功的開源項(xiàng)目,所以在寫這個(gè)補(bǔ)丁的時(shí)候我花了很多精力。完成補(bǔ)丁的時(shí)候,我已經(jīng)把這個(gè)項(xiàng)目中的每行代碼都給換了。在這過程之中,我意識(shí)到我所創(chuàng)造的工具鏈?zhǔn)峭ㄓ玫?,可以從這個(gè)特定的樣式表中分割開來。當(dāng)我的補(bǔ)丁被Blueprint拒絕了之后,我想要指出一個(gè)方向:真正的CSS框架是如何工作的。所以我把我的項(xiàng)目稱為Compass(指南針),因?yàn)樗敢朔较?,而且聽起來和Sass類似。
問:加入LinkedIn的最大收獲是什么?LinkedIn在Compass的開發(fā)方面有什么幫助?
在加入LinkedIn之前,我的工作職務(wù)和家庭責(zé)任讓我?guī)缀鯖]有時(shí)間在開源軟件上工作。我已經(jīng)精疲力竭,必須要停止某件事情,所以我放棄了開源軟件。但是,開源軟件是我的熱情所在,所以我開始尋找讓開源變成掙錢手段的方法。我考慮過咨詢,教學(xué),而且我接觸了一些重要的公司,我認(rèn)為他們有可能樂于看到Sass 和 Compass的開發(fā)進(jìn)展更進(jìn)一步。LinkedIn很熱情地接待了我,和他們的人會(huì)面之后,當(dāng)我意識(shí)到他們對(duì)于支持開源軟件是多么地?zé)岢溃揖椭牢艺业郊伊恕?/p>
每個(gè)在LinkedIn工作的人都可以把10%的工作時(shí)間花在業(yè)余項(xiàng)目上,但是我可以花50%的工作時(shí)間在我覺得有意義的開源項(xiàng)目上。另50%的時(shí)間,我用在提高LinkedIn的靜態(tài)內(nèi)容以及樣式表架構(gòu)和工具上。
問:很多業(yè)界大牛都向Compass貢獻(xiàn)過代碼,比如Eric Suzanne 和 Scott Davis。在項(xiàng)目之初,Compass是如何吸引這些人的注意力的?
是他們找到了我,在表明想要幫忙的來意之后,我歡迎了他們。當(dāng)時(shí)我們并沒有因?yàn)槿魏螙|西而出名。我們被人所知全是因?yàn)楹髞砦覀円黄鹋λ鶆?chuàng)造出的產(chǎn)品。
問:CSS有時(shí)會(huì)很脆弱,很多人擔(dān)心一旦他們開始嘗試CSS預(yù)處理器,會(huì)完全改變他們寫作和管理樣式表的方式。對(duì)于他們,你有什么建議嗎?
CSS有時(shí)確實(shí)很脆弱,使用Sass則會(huì)讓你完全改變對(duì)于樣式表的看法。這是一件好事。但是既然SCSS語法是CSS的超集,你可以一點(diǎn)一點(diǎn)地用你自己的節(jié)奏慢慢接受每個(gè)功能。第一步就是要把所有的文件名的后綴由.css改成 .scss。祝賀你!現(xiàn)在你已經(jīng)在寫sass了?,F(xiàn)在你可以提取某些重復(fù)的值,把它們變成變量,這樣當(dāng)你想改變的時(shí)候就會(huì)更加簡單。然后再創(chuàng)造一些mixin讓你的樣式表中的常見模式更容易維護(hù),在你閱讀的時(shí)候還會(huì)標(biāo)注出來。然后使用一些嵌套讓你更少重復(fù),你的文件也會(huì)更易讀。就是這么簡單!
問:人們經(jīng)常爭(zhēng)論Sass, LESS 和 Stylus哪個(gè)更好,你能向我們解釋一下它們各自都有哪些獨(dú)特的優(yōu)勢(shì)嗎?
Sass毫無疑問是最好的樣式表處理器,對(duì)于大部分人來說都是明智的選擇。如果你選擇了LESS的話,可能是因?yàn)樗鲜指唵?,可以在你的瀏覽器里運(yùn)行。以JavaScript/Node.js為基礎(chǔ)的項(xiàng)目和LESS與Stylus整合起來更簡單,因?yàn)樗鼈兙褪怯胘avascript構(gòu)建的。Stylus語言的目標(biāo)使用者更多的是程序員,而LESS相比于Sass來說更傾向于描述,這樣設(shè)計(jì)是為了維護(hù)CSS描述性的本質(zhì)。所有這些工具都會(huì)幫助你從簡單的CSS魔爪下逃離出來,讓你的生活更輕松。
問:隨著時(shí)間累積,Compass變得越來越大,你有沒有考慮在什么時(shí)候?qū)ompass做一下優(yōu)化?
Compass從來不會(huì)強(qiáng)迫你在樣式表中放入任何你不想要的東西。既然如此,從Compass 1.0開始我們已經(jīng)把Compass分成兩個(gè)項(xiàng)目,"CLI"是Compass的命令行界面(Command Line Interface),而"Core"全是樣式表和配置。核心庫可以在沒有 CLI 的情況下使用,這也讓它和其他以Sass為基礎(chǔ)的項(xiàng)目更好地交互,從而加入Compass的支持。最終,Compass的核心會(huì)和LibSass一起運(yùn)行,LibSass是一個(gè)以C++為基礎(chǔ)的Sass實(shí)現(xiàn),它運(yùn)行起來非常地塊。
問:現(xiàn)在有很多優(yōu)秀的Sass 和 Compass工具,你個(gè)人有什么推薦嗎?
這個(gè)問題很難回答,因?yàn)橛刑嗟暮霉ぞ吡恕N艺J(rèn)為你應(yīng)該為你的工作選擇正確的工具。值得一提的是,Susy 2是一個(gè)很棒的網(wǎng)格系統(tǒng),我認(rèn)為這個(gè)工具很有創(chuàng)意,而且它的出現(xiàn)為Sass API的簡潔性和可組合性確立了一個(gè)新的標(biāo)桿。
問:Compass的指定捐助對(duì)象為什么是UMDF(聯(lián)合線粒體疾病基金會(huì))?Compass是一個(gè)慈善共享軟件,有多少Compass相關(guān)工具幫助籌集資金?Compass已經(jīng)幫助UMDF捐助了多少錢?
線粒體疾病是一種罕見的情況,多發(fā)于兒童,患病兒童大多數(shù)都無法活到成年。捐助的資金都用于治療和治愈的研究,以及對(duì)病人和其家人的支持。發(fā)起這項(xiàng)捐助有我的個(gè)人原因在里面,我的父親在1992年被確診為患有一種罕見的成年人形式的線粒體疾病。
據(jù)我現(xiàn)在所知,Compass.app已經(jīng)捐助了他們一部分的利潤。其他的22,000美元都是從社區(qū)捐贈(zèng)而來。小善舉也會(huì)讓愛心匯聚!
問:你曾和很多創(chuàng)業(yè)公司有過密切接觸,對(duì)于急于成功的創(chuàng)業(yè)者們你有沒有什么建議?
更多精彩,加入圖靈訪談微信!有一些。找工作要找你喜歡的,并且周圍都是你愿意與之共事的同事。不要以低于市場(chǎng)價(jià)值的薪酬工作,不管他們承諾給你多少的股權(quán)。不要工作到忘了那些在你生命中真正重要的人,為他們留出足夠的時(shí)間。如果你擁有了這些,無論你的創(chuàng)業(yè)事業(yè)發(fā)展如何,你都是成功的。
從另一方面來說,對(duì)于任何工作或產(chǎn)品,我認(rèn)為核心技能就是在洗耳傾聽和冷靜判斷之間找到一個(gè)平衡,你應(yīng)該具有相應(yīng)的品味和眼界來判斷什么主張可以讓你更接近目標(biāo),而什么主張會(huì)讓你從接近目標(biāo)的航線上偏離開來,要對(duì)使你偏離的主意說不。Sass正是一個(gè)經(jīng)歷了如此過程的產(chǎn)品。我們知道我們想要這個(gè)語言做到什么,但是我們也會(huì)仔細(xì)傾聽社區(qū)和使用者們的建議,他們會(huì)指引我們做出對(duì)他們來說更有用的產(chǎn)品。
感謝所有閱讀這篇訪談的讀者,我希望你們也會(huì)喜歡我的書《Sass與Compass實(shí)戰(zhàn)》!我喜歡為你們開發(fā)Sass
& Compass,衷心希望你們喜歡使用這個(gè)工具。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/110960.html
以前我們敲靜態(tài)頁面都是寫好html,css, js,然后再去刷新瀏覽器,艾尼馬又不行,有重新寫過再刷新,一個(gè)頁面下來按chrl+r的次數(shù)可讓你的鍵盤多活好幾天,要不會(huì)刷新快捷按鈕那不得手殘了都。 后來,grunt,gulp等工具應(yīng)運(yùn)而生,當(dāng)然它們不止這個(gè)功能,但卻很好地減輕了我們的負(fù)擔(dān)。這篇文章介紹一些如何使用這些工具使構(gòu)建頁面變得簡單高效。這只是個(gè)人的目前在用的不成熟的方案,更專業(yè)的還請(qǐng)參考...
摘要:從大約年開始前端不再是當(dāng)初那個(gè)切圖排版的前端了,各種框架庫工具呈井噴之勢(shì)層出不窮。作為一個(gè)怕麻煩的懶人,對(duì)于前端的繁雜工作當(dāng)然是要找一個(gè)自動(dòng)化工具來處理,于是我遇到了。 從(大約)2014年開始,前端不再是當(dāng)初那個(gè)切圖排版的前端了,各種MV*框架、庫、工具呈井噴之勢(shì)層出不窮。構(gòu)建工具比較有名的如Grunt、Gulp、Yeoman、webpack;依賴管理比如bower、npm,當(dāng)然最流...
摘要:使用雪碧圖,能夠減少頁面的請(qǐng)求數(shù)降低圖片占用的字節(jié),以此來達(dá)到提升頁面訪問速度的目的。也正是因?yàn)檫@一點(diǎn),導(dǎo)致很多開發(fā)者懶于使用雪碧圖。本文就介紹下怎樣使用來自動(dòng)合并雪碧圖。生成的每個(gè)雪碧圖默認(rèn)的規(guī)則是目錄名圖片名。 css雪碧圖又叫css精靈或css sprite,是一種背景圖片的拼合技術(shù)。使用css雪碧圖,能夠減少頁面的請(qǐng)求數(shù)、降低圖片占用的字節(jié),以此來達(dá)到提升頁面訪問速度的目的。但...
摘要:層疊樣式表二修訂版這是對(duì)作出的官方說明。速查表兩份表來自一份關(guān)于基礎(chǔ)特性,一份關(guān)于布局。核心第一篇一份來自的基礎(chǔ)參考指南簡寫速查表簡寫形式參考書使用層疊樣式表基礎(chǔ)指南,包含使用的好處介紹個(gè)方法快速寫成高質(zhì)量的寫出高效的一些提示。 迄今為止,我已經(jīng)收集了100多個(gè)精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設(shè)計(jì)脫穎而出。 CSS3 資源 20個(gè)學(xué)習(xí)CSS3的有用資源 C...
摘要:包括腳手架依賴管理準(zhǔn)備測(cè)試包括單元測(cè)試和端到端測(cè)試。我們用來開發(fā)的工具有。是一個(gè)工具集,包含個(gè)核心組件,,和腳手架工具。當(dāng)你正在做自己的一個(gè)項(xiàng)目時(shí),使用哪些模塊將取決于你自己。這個(gè)目錄當(dāng)然是測(cè)試文件。 介紹 有很多可用的工具可以幫助你開發(fā)AngularJS 應(yīng)用,那些非常復(fù)雜的框架不在我的討論范圍之中,這也是我開始這系列教程的原因。 在第一部分,我們掌握了AngularJS框架的基本...
閱讀 1215·2021-11-24 09:39
閱讀 3684·2021-09-02 15:21
閱讀 2228·2021-08-24 10:01
閱讀 778·2021-08-19 10:55
閱讀 2497·2019-08-30 15:55
閱讀 1279·2019-08-30 14:16
閱讀 3077·2019-08-29 15:17
閱讀 3300·2019-08-29 13:53