OneWorld OneWeb:專訪Opera中國首席架構(gòu)師羅志宇
原創(chuàng)【51CTO專訪】自從互聯(lián)網(wǎng)誕生的那天,作為互聯(lián)網(wǎng)入口的瀏覽器戰(zhàn)爭就從未停止。經(jīng)過十幾年激烈的競爭Netscape已經(jīng)從我們身邊徹底消失,IE依然占據(jù)著大部分市場,Chrome近些年異軍突起,F(xiàn)irefox在平穩(wěn)中尋找機(jī)會,Opera依舊低調(diào)的貢獻(xiàn)力量。說道Opera有很多用戶多少會有些印象,一個(gè)非常優(yōu)雅并且?guī)в袧庥粑乃嚉庀⒌臑g覽器。Opera直譯為歌劇,是目前五大瀏覽器之一,具有快速小巧安全系數(shù)高等特點(diǎn)。如果你從事過Web前端開發(fā),那么在Opera上調(diào)試頁面是在輕松不過的了,因?yàn)榱己玫募嫒菪宰屇愀静恍枰ミ^多的調(diào)試。
那么你對Opera團(tuán)隊(duì)本身是否了解呢?今天51CTO的記者有幸采訪到了Opera中國工程部的首席架構(gòu)師羅志宇先生。羅志宇先生自2005年起加入Opera Software ASA Unix團(tuán)隊(duì),2011年末開始負(fù)責(zé)Opera中國及歐朋產(chǎn)品的總體架構(gòu)。在此之前,羅志宇先生在挪威奧斯陸Opera部工程部門參與包括摩托羅拉/三星等多個(gè)平臺的重要研發(fā)項(xiàng)目,2007年加入嵌入式核心組,負(fù)責(zé)全球Opera Mobile渲染模型開發(fā)。
Opera中國工程部首席架構(gòu)師 羅志宇
下面是對羅志宇的采訪實(shí)錄
51CTO:您作為Opera中國的首席架構(gòu)師,您是怎樣理解Opera的呢?對于現(xiàn)代瀏覽器,用戶關(guān)心的更多是安全性與穩(wěn)定性,那么在Opera內(nèi)部的開發(fā)團(tuán)隊(duì)是怎樣的一個(gè)狀態(tài)呢?
羅志宇:其實(shí)瀏覽器本身應(yīng)該像歌劇一樣優(yōu)美,是一個(gè)高雅的產(chǎn)物。在Opera內(nèi)部有著非常嚴(yán)謹(jǐn)?shù)拈_發(fā)文化與駭客式的開發(fā)群體。首先,在工程師寫代碼的時(shí)候會有非常嚴(yán)格的標(biāo)準(zhǔn),Opera會告訴工程師如何去保證代碼不出問題。我進(jìn)入公司的第一件事就是去讀這本手冊。在Opera內(nèi)部會不定期的搞一些黑客競賽,前兩年Opera新推出了一個(gè)協(xié)議,在一個(gè)月內(nèi)誰把這個(gè)協(xié)議黑了誰就會有十萬元獎(jiǎng)勵(lì)。當(dāng)時(shí)公司里面很多人都去搞,雖然我是做模型渲染的但是我也去嘗試了一下。不過那次好像沒有什么結(jié)果。
我之前也接觸過一些公司和開發(fā)者,但是他們大多都沒有在開發(fā)過程中的安全概念,很多基本的東西他們都不在乎,他們認(rèn)為黑客事件都是小概率事件。但是對于瀏覽器而言非常重要,因?yàn)闉g覽器的輸入是無法控制的,你拿出去以后別人就會用,網(wǎng)絡(luò)上怎么寫都可以。按照邏輯上來說你是無法測試每一種情況的,因?yàn)檎麄€(gè)的組太大了,所以說只能從另外的方面保證安全性,那就是在開發(fā)的過程中。
51CTO:我們都知道在Opera上有很多都有的優(yōu)秀的應(yīng)用,那么這些應(yīng)用在Opera內(nèi)部是怎樣開發(fā)的呢?
羅志宇:在Opera上有個(gè)功能叫Unite內(nèi)部的開發(fā)代碼是Alien 有部電影叫做《Alien》(異形)當(dāng)時(shí)是一個(gè)叫做Kent的人在做,在那個(gè)項(xiàng)目組中最多的開發(fā)者是澳大利亞人與英國人。他們每天都在不停的大聲吵,在開發(fā)組中澳大利亞人和英國人都是那些大嘴巴的人,不爽的事情就要說出來,挪威人與北歐人一般都非常理性,不爽的事情Email說清楚就好了。所以有時(shí)候你就會看到一個(gè)大胖子坐在那里叫“這樣做是不對的”。我覺得這樣非常好,大家都非常坦誠這也是我喜歡Opera的一個(gè)地方。
51CTO:目前不論是在移動(dòng)客戶端還是在PC端,HTML5都非常熱?,F(xiàn)在HTML5仿佛已經(jīng)成為了未來瀏覽器的代名詞,您覺得HTML5的未來會怎樣發(fā)展?
羅志宇:從技術(shù)上來說HTML5是一個(gè)非常好的東西。Opera這邊在很早就參與,在2007年Opera將自己所有的開發(fā)結(jié)果都捐獻(xiàn)給了HTML5組織。如果你去看HTML5的東西你會發(fā)現(xiàn)它解決了很多很多以前HTML做不了的東西。比如說為什么會出現(xiàn)IE6這樣的東西,是因?yàn)樵贖TML4中沒有定義好,這些人也是第一次定義這些規(guī)則,很多東西沒有處理好都漏掉了。這也就造成了每個(gè)廠商都錯(cuò)誤處理從而引發(fā)了網(wǎng)頁兼容性的問題。HTML5里面就相當(dāng)于回顧之前沒有做好的東西然后把事情全部做好。這樣會讓整個(gè)互聯(lián)網(wǎng)越來越開放,同時(shí)HTML5會把整個(gè)瀏覽器越來越平臺化,瀏覽器最后會變成一個(gè)平臺,各個(gè)網(wǎng)頁就像平臺上的小程序供用戶使用。
HTML5為什么這么火,首先瀏覽器廠商是非常歡迎的,這樣做一下子除掉了互聯(lián)網(wǎng)上的壁壘,不會出現(xiàn)像IE6這樣阻礙技術(shù)發(fā)展的東西。標(biāo)準(zhǔn)寫的都很清楚,大家都按照這樣做就不會出現(xiàn)兼容性的問題。對于互聯(lián)網(wǎng)開發(fā)者而言也是一個(gè)非常好的消息,瀏覽器具有統(tǒng)一標(biāo)準(zhǔn),開發(fā)者就不需要對每一款瀏覽器進(jìn)行適配。其實(shí)調(diào)試每一款瀏覽器的兼容性是一件非常困難的事情。如果你去問Web的前端開發(fā)人員他們會告訴你在代碼中需要寫如果是IE需要怎么辦如果是Chrome怎么樣如果是Opera怎么辦,這是相當(dāng)麻煩的事情。對于應(yīng)用開發(fā)者而言尤其是Android開發(fā)者來說,你就不需要把市場上所有的Android手機(jī)買回來測試,如果你可以在網(wǎng)頁上做的話,這檔子事就跟不存在了。
總體上來說HTML5處于一個(gè)多贏的局面,每一個(gè)階段的人都能看到自己的利益,HTML5一是可以節(jié)省成本再有就是大家都省事嘛,何樂而不為呢?HTML5在桌面端就不用說了嘛,Google正在搞自己的Chrome Web Store在Chrome客戶端上可以加一些程序;移動(dòng)端就更加明顯了,因?yàn)樵谝苿?dòng)端不存在IE6這樣的東西,正在處于一個(gè)從新洗牌的過程。其實(shí)大家都是對HTML4深惡痛絕,有了好東西還是把它盡快扔掉算了。我認(rèn)為未來瀏覽器需要HTML5這種理念。
51CTO:說到未來瀏覽器,您覺得除了需要具備HTML5這種理念以外還需要具備哪些呢?您覺得在未來瀏覽器中對于JavaScript、CSS以及Adobe Flash應(yīng)該進(jìn)行怎樣的支持?Opera是怎樣的態(tài)度呢?
羅志宇:Opera的態(tài)度其實(shí)很簡單,一個(gè)標(biāo)準(zhǔn)只要是開放的、公平對待每一個(gè)人,Opera一定會支持的。你可以說JavaScript、CSS這些屬于HTML5的一部分,HTML5已經(jīng)成為了一個(gè)標(biāo)準(zhǔn),如果你覺得那里不爽那么大家就坐下來一起討論,把不好的改掉。Flash大家也看到了移動(dòng)端Adobe自己都不做了。首先Flash他不是一個(gè)開放標(biāo)準(zhǔn),喬布斯給Flash的評價(jià)就是你這個(gè)東西不是開放標(biāo)準(zhǔn)我們沒法控制蘋果就不會用你。我們自己感覺走到后面如果HTML5做得足夠好Flash會逐步被取代。
以后我們看到的趨勢是PC將會成為一個(gè)專業(yè)工具,消費(fèi)型的電子產(chǎn)品比如平板電腦、手機(jī)、以及各種移動(dòng)設(shè)備會成為主流,人們在PC上的時(shí)間越來越少。Adobe說移動(dòng)端的Flash不做了,基本上宣告了Flash的時(shí)代在互聯(lián)網(wǎng)增長最快的消費(fèi)型電子產(chǎn)品中基本上消失了。其實(shí)大家都非常喜歡將封閉發(fā)展的、獨(dú)家的、不開放的東西從開放的互聯(lián)網(wǎng)中拿掉。不過從Flash本身來說是存在著硬傷的,比如安全性與能耗方面,大家舍棄Flash也是形式所趨。
51CTO:作為前端開發(fā)工程師而言,在未來如何規(guī)劃自己的技術(shù)傾向呢?
羅志宇:在這方面我希望這些前端開發(fā)者更關(guān)注一些開放標(biāo)準(zhǔn)和開放標(biāo)準(zhǔn)的模型以及這些開放標(biāo)準(zhǔn)是怎么來的。國內(nèi)程序員與國外程序員的差別在于對于事件背后的了解。也許我看得不是很客觀,但是國內(nèi)程序員有時(shí)候會因?yàn)閴毫θペs時(shí)間做一個(gè)項(xiàng)目而不去考慮這些東西是怎么來的。很多程序員都是從網(wǎng)上找到一段代碼抄下來就算了,開發(fā)者需要不斷去了解開放標(biāo)準(zhǔn)來完善自身的技術(shù),畢竟技術(shù)還在不斷發(fā)展很多東西還未落定。其實(shí)我更希望開發(fā)者可以參與到一些開放項(xiàng)目中來,參與到開放標(biāo)準(zhǔn)的制定中來。
51CTO:在剛剛結(jié)束的Velocity大會上的主要基調(diào)就是用戶體驗(yàn),您作為一名處理渲染模型的技術(shù)人員和用戶體驗(yàn)有很大關(guān)系。您如何理解Opera在用戶體驗(yàn)方面做出的努力?
羅志宇:用戶體驗(yàn)其實(shí)對于技術(shù)而言是極其大的挑戰(zhàn),在Opera用戶的UI設(shè)計(jì)是一項(xiàng)非常嚴(yán)謹(jǐn)?shù)南到y(tǒng)工程。之前你問我如何理解現(xiàn)代瀏覽器,用戶體驗(yàn)是未來瀏覽器的重中之重,一切技術(shù)到最后都是圍繞著用戶來做。對于一般用戶而言他不在乎你這個(gè)東西是不是叫做瀏覽器,它整個(gè)東西應(yīng)該和各種服務(wù)進(jìn)行無縫集成比如我的微薄、郵件等等。用戶可以自由的進(jìn)行切換,不會覺得這些東西礙事。
對于技術(shù)上來說,任何的工程師都希望自己的產(chǎn)品變得完美,當(dāng)技術(shù)成熟到最后的時(shí)候技術(shù)會消失掉,因?yàn)楦匾氖求w驗(yàn)。到最后你就不會去在乎瀏覽器技術(shù)的本身,你更在乎的是瀏覽器本身的行為。在技術(shù)成熟的時(shí)候會是這樣一個(gè)狀態(tài),但是在技術(shù)不成熟的時(shí)候就是一個(gè)非常大的挑戰(zhàn)。尤其是在渲染上。
如果你去看iPhone上的Safari瀏覽器你會發(fā)覺在頁面上快速的滑動(dòng)時(shí)候就會出現(xiàn)花格子。那么這一點(diǎn)用戶就會覺得很荒唐:我已經(jīng)下載了頁面為什么還要看到花格子呢?如果你說因?yàn)樗俣炔粔?,用戶是不去關(guān)心這一點(diǎn)的。那好,我們就把這個(gè)問題解決了。你看現(xiàn)在Android平臺上的Opera及歐朋瀏覽器就沒有這個(gè)花格子問題。
在這一點(diǎn)上我非常贊成喬布斯的說法,有人問喬布斯iPod到底是軟件好還是硬件好?喬布斯回答:你為什么去關(guān)心它是軟件還是硬件呢?買來只是用來聽音樂的。
非常感謝羅志宇接受我們的采訪,本次訪談到此結(jié)束。
【編輯推薦】