CSS之父:Web事業未競,尚需前赴後繼
提到Web設計,很少有人的影響會超過Håkon Wium Lie。在CERN與Web之父Tim Berners-Lee一起工作的Lie,發明了CSS。
如果沒有那次大膽的提議,我們今天談論的Web設計很可能是完全不同的一回事。正如Lie所說:“這個技術可能會被一家公司佔有,比如法國電信,比如微軟。很可能會掌控在私人手中。”
“當時的Web還比較混亂,有不少亂七八糟的東西,但同時那也正是人性的反映。而且所有人都可以免費使用。”
遭遇危機
這裡面有啥故事呢?這篇文章可以幫年輕的同學補一點Web的歷史知識。首先是HTML,由Tim Berners-Lee在1990年時發明,當時非常簡單。沒有涉及展示,只關注語義。“可以在語音合成器或螢幕上展示HTML,以完全不同的方式展示,”Lie說。“它並沒有說只能針對PC螢幕或手機螢幕,而完全是通用的。”
1993年釋出的瀏覽器Mosaic就是用HTML編寫網頁的。“HTML也吸引了其他人,包括設計師,於是這些人說:‘挺好的,就是字型太難看了,灰色背影也不好,我喜歡20點的Helvetia,紅色的……’但他們實現不了,因為HTML只能讓他們宣告元素,不能讓他們控制展示。”
Lie意識到,如果Web想獲得更廣泛的成功,就需要給設計師提供一個橋樑,連線兩個世界。“我們希望大家使用HTML。但我們也想讓大家使用字型、顏色、排版、佈局、留白、陰影什麼的。否則這些人就不會用HTML。”
“要是沒有CSS,Web至今可能只是一個巨大的傳真機。”
如果當初沒有想到制定CSS規範,設計師很可能轉投他處,Lie說。HTML很可能會變成與PDF類似的一種頁面描述語言。沒錯,當時就有設計師把文件轉成圖片。“因為轉成圖片意味著可以控制每一個畫素,因此就可以實現想要的字型、顏色。現在你還可以看到這種情況存在。如果這種做法成為主流,那Web可不就成了一個巨大的傳真機了嗎?”
Lie明白在HTML作為標準的情況下,有人可能會另闢蹊徑以實現自己渴望的設計效果。“因此提出CSS的初衷並非真的要讓人去實現酷炫的效果——而是要拯救HTML,”他解釋道。“我們要確保的是一個基於文字的,同時也是基於語義的底層語言。”
Lie產生了一種緊迫感。“就好像說:‘媽的,我們必須快想辦法,否則HTML語言就要完蛋了。’”於是,他只用一兩週時間就寫出CSS規範的草稿。
面向未來
當然,Lie也不是一個人在奮鬥。他也跟Berners-Lee討論,雖然由於事務繁忙,後者不可能跟他探討太多技術細節。“有一個非常活躍的郵件列表,也有人在之前提出過類似的建議,因此我也從那些建議方案中借鑑了不少東西。”
Lie與另外一位電腦科學家Bert Bos合作將CSS發展為W3C推薦標準。同時為了展示和試驗,把這個新標準整合到了Arena瀏覽器中。顯然他做了一件大好事。CSS至今仍然是大多數網站,包括從那時起陸續出現的眾多裝置,在涉及展示時所用到的主要技術。
這得益於先驅們面向未來的高瞻遠矚。“那時候誰也不知道將來會有那麼多智慧手機,但我們可以想到將來用這個標準的裝置肯定不只PC。”
最初的建議非常直截了當,比如就是利用那些對螢幕和語音合成器管用的屬性。“最初的建議也涉及了音量和人聲等閱讀裝置的屬性。我們預感到了未來,但並不確切知道未來是什麼樣子。”
CERN擁有眾多各式各樣的機器也是有利的一面。“Tim當時用的NeXT電腦,我用的是一臺Sun計算機,Robert [Cailliau]用Mac。現實告訴我們必須得讓Web在所有電腦上通用。”
拯救Web
1995年Lie離開了CERN,前往W3C開始4年的任期,之後才到Opera Software。雖然已經為推動Web發展奮鬥了好多年,但如果你再問他Web是不是仍需要拯救,他還會堅定地說:“是的!革命尚未成功,同志尚需努力!Web事業未競。我們還在創造歷史。雖然Web已經誕生25年了,但它會長期發展下去,所以還有多事情要做。”
他認為商業技術是對Web新的威脅,比如iPhone應用的開發技術,可以實現HTML和CSS實現不了的功能。不過,Web標準社群一直在致力於對抗商業技術的入侵。
“多年來,手機應用可以訪問相機,但Web應用卻不行,”他說。“現在可以訪問相機了,還可以訪問位置資訊、加速計了。因此從技術角度說,現在可以通過HTML實現大多數應用的功能了。可能現在還不方便做到判斷頁面朝向。我們還需要更多API以實現原生應用有的那些炫目的視覺效果,可以使用HTML和CSS實現。”
如果CSS繼續存在,那麼對Lie而言,很明顯它還會響應設計師對新工具的需求繼續發展變化。這些變化會逐漸顯現,但Lie最關心的,還是這些變化應該更多發生在CSS,而不是HTML領域。
“HTML應該更多的是一種穩定不變的人類資源,”他說。“比如,維基百科的標記應該不變。我們會更新其中的內容,重新設計其外觀。但標記始終那樣,可以長期不變。”
當然,CSS也有變臃腫的危險。“一些想在相對簡單的裝置上保證同樣呈現的人已經發出了反對的聲音,他們不希望增加太多新特性。”他承認。“在有些市場上,安卓手機還不多見,我們可以保證瀏覽器在這些裝置上正常執行嗎?Facebook用JavaScript重新實現了CSS,因為他們認為原生客戶端和瀏覽器的功能太多了。這裡需要掌握一個平衡。”Lie說。
就目前來講,他認為CSS的模組劃分過細,並指出某些模組可能無法吸引瀏覽器實現者,有些模組本身或許並沒有那麼值得關注,某些模組最後可能歸於失敗。
“通常,決定權都在能影響渲染引擎實現的人手裡,而不在標準委員會之類的組織裡。因為一個標準能不能真正成為Web標準,關鍵要看Blink或WebKit支不支援。”
少就是多
你怎麼看Sass和Less?“我覺得它們有用,”Lie說。“實際上,如果它們出現得更早一點,那麼有些功能應該內建到CSS裡。這些功能的語法很不錯。本來應該是這樣的……確實很不錯,本來應該搞成宣告式的。”
“如果Sass和Less早點出現,或許可以把有些功能內建到CSS裡面。”
然而,Lie極力反對Adobe提出的CSS Regions(詳情請看這裡),也不同意使用所見即所得的網頁工具。
“如果我寫CSS,我會在文字編輯器裡寫,不會在所見即所得的工具裡寫,”他說。“這種工具與Web設計還是有點格格不入。如果使用所見即所得的工具,那麼必須有與頁面匹配的顯示器。這當然可能,或許現在還有人這麼做,但我不這麼設計網頁。”
接過接力棒
總之,Web並沒有“成功”,萬里長征才剛剛邁出第一步。“還有幾十億人沒有上過網呢,”Lie說。“僅僅是給所有語言提供字型也是一項巨大的工程。就算這項工程完工,設計師又會提出他們新的需求。到時候就會有人說:‘我們們應該這樣做或那樣做。’”
在接下來的20年,Lie並不想衝鋒陷陣,而打算退居二線。雖然他會密切關注CSS的發展,但他更希望新一代能夠接過接力棒繼續推動CSS發展。“我不希望有一天,有人說:‘我們們把HTML扔掉切換到新平臺吧。’特別是不希望某些商業公司帶頭這麼做。這樣的話就太糟糕了,因為壟斷時代又要開始了。”
“大家應該沒有忘記,在IE一手遮天的時代,微軟不在乎什麼Web標準,也不改bug,技術發展趨於停滯。這樣的歷史有可能重演。蘋果和谷歌現在都很強,謝天謝地,總算有兩家在!”
原文:https://medium.com/net-magazine/interview-with-h%C3%A5kon-wium-lie-f3328aeca8ed#.ccdud8l3d
相關文章
- 角色扮演遊戲之父的身後事遊戲
- 大專生自學web前端前前後後Web前端
- 繼阿里京東之後,百度也有了金融事業組阿里
- 前後端分離那些事後端
- CSS3前後左後翻轉效果CSSS3
- 淺談WEB前後端分離Web後端
- 網際網路之父:開放Web並未消亡 原生應用走反了Web
- 遊戲公司競逐雲遊戲千億藍海 “開花結果”尚需時日遊戲
- 中國Linux市場競爭空前激烈,格局明朗尚需一年(轉)Linux
- Web頁面切圖和CSS注意事項WebCSS
- CSS3前後和左右翻轉效果CSSS3
- 繼承那些事繼承
- Web前後端:如何分離,如何解耦?Web後端解耦
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 吳曉波羅振宇前仆後繼:自媒體的IPO之路
- 《從零構建前後分離web專案》探究 - 深入聊聊前後分離架構Web架構
- WEB程式的前後端資料互動流程Web後端
- 前後端分離與Node和NPM的那些事後端NPM
- Python 之父談論 Python 的未來Python
- Nginx 之父被拘留,時隔15年後,前老闆提起了版權侵權訴訟!Nginx
- CSS3滑鼠懸浮圖片前後翻轉CSSS3
- CSS 繼承深度解析CSS繼承
- CSS樣式繼承CSS繼承
- 參加web前端學習前需要知道的注意事項Web前端
- Django+Vue.js搭建前後端分離專案 web前後端分離專案實踐DjangoVue.js後端Web
- 競速(四):JavaScript的未來JavaScript
- Python之父Guido談Python的未來PythonGUI
- CSS生日快樂:CSS之父Håkon Wium Lie訪談錄CSS
- Spring中JPA在異常後三種方法繼續事務Spring
- 創業前思考“做有意義的事”的意義創業
- 埃森哲報告:重塑行業以提升未來競爭力行業
- CSS的未來CSS
- CSS樣式表繼承CSS繼承
- 前後端分離之JWT(JSON Web Token)的使用後端JWTJSONWeb
- Python之父重回決策層,未來如何發展?Python
- 25 年後再次採訪 Linux 之父Linux
- CSS系列:CSS的繼承與層疊特性CSS繼承
- 《從零構建前後分離的web專案》實戰 - 慾善其事必先利其器 繼續打磨前端架構Web前端架構