自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

非瀏覽器Webkit內(nèi)核軟件 解密豌豆莢2.0的技術(shù)秘密

原創(chuàng)
企業(yè)動態(tài) 移動開發(fā)
非瀏覽器的軟件為何想到用瀏覽器的技術(shù)?又為何選擇Webkit技術(shù)而不是Gecko、Trident這樣的技術(shù)?全新構(gòu)架的豌豆莢2.0相比之前的版本到底有哪些方面的提升?開發(fā)過程中是否遇到什么障礙?豌豆莢的兩位技術(shù)工程師高雄和范懷宇在接受51CTO采訪時為我們一一解答了這些疑問

  眾所周知中國的IT界有個很奇怪的現(xiàn)象,一旦某個市場被認為有前景,很多同類型的廠商都會一擁而入。手機管理軟件這個市場也不例外。目前,這一市場林立的產(chǎn)品有91手機助手、豌豆莢、騰訊應(yīng)用助手、360手機助手,摩樂手機管家等等。

  作為創(chuàng)新工場首個曝光投資項目、手機管理軟件的先行者之一,豌豆莢如何看待和應(yīng)對目前的競爭局面——特別是在像騰訊、360這樣實力強勁的公司也進入到這一領(lǐng)域之后,成為眾多媒體朋友關(guān)注的話題。不過,在豌豆莢2.0的產(chǎn)品發(fā)布會上,面對這樣的提問,豌豆莢聯(lián)合創(chuàng)始人王俊煜只用了幾句輕描淡寫的話就“四兩撥千斤”的回答了這一問題。他說:“模仿是最好的奉承”;他說,“我們很驕傲,因為我們看的更深入更長遠”;他說,“模式是可以復(fù)制的,但團隊是無法copy的”。他把更多的時間放在了對新產(chǎn)品的介紹上,因為“豌豆莢2.0是國內(nèi)首家大規(guī)模使用WebKit技術(shù)開發(fā)的非瀏覽器軟件”,因為豌豆莢團隊已再次用自己的實力詮釋了“創(chuàng)新”二字的含義。

[[58448]]

(豌豆實驗室聯(lián)合創(chuàng)始人 王俊煜)

  非瀏覽器的軟件為何想到用瀏覽器的技術(shù)?又為何選擇WebKit技術(shù)而不是Gecko、Trident這樣的技術(shù)?全新構(gòu)架的豌豆莢2.0相比之前的版本到底有哪些方面的提升?開發(fā)過程中是否遇到什么障礙?豌豆莢的兩位技術(shù)工程師高雄和范懷宇(51CTO PhoneClub移動開發(fā)沙龍第三期演講嘉賓)在接受51CTO采訪時為我們一一解答了這些疑問,向我們揭示了豌豆莢2.0背后的技術(shù)秘密。

  用互聯(lián)網(wǎng)的思路做豌豆莢2.0

  豌豆實驗室高級軟件工程師高雄表示,使用瀏覽器內(nèi)核技術(shù)做非瀏覽器類軟件,正是豌豆莢區(qū)別于其他PC軟件的一個最重要的地方:“我們用這套架構(gòu),實際上就是更體現(xiàn)出我們超前的意識。我們現(xiàn)在看到Chrome,或者是其他的一些瀏覽器,它對新技術(shù)的支持會越來越重視,比如對HTML5的支持。如果是簡簡單單PC上面的軟件,可能以后就和HTML5分道揚鑣了。”

  “WebKit 的特點有兩點,一個就是非常快。第二個就是它是開源的,你可以從這上面做很多功能和內(nèi)容。因為它是一個全開放的東西,所以我們接入任何的內(nèi)容都非常方便,這對于我們之后接入上百家東西創(chuàng)造了可能性,這點是同類的產(chǎn)品非常難跟進的”, 豌豆實驗室軟件工程師范懷宇表示。

  范懷宇說,1.0版本的豌豆莢采用的是.Net技術(shù),這類技術(shù)無論是在開發(fā)難度、開發(fā)進度、軟件的運行速度甚至技術(shù)本身的發(fā)展速度上,都要比Web開發(fā)技術(shù)稍遜一些,而且“Web技術(shù)人才更豐富”。

  之所以沒有選擇比如Gecko這樣的其他瀏覽器內(nèi)核技術(shù),高雄表示,主要還是從技術(shù)難度、技術(shù)成熟度方面考慮的。“Gecko的代碼如果不是對內(nèi)核了解非常深入的人的話,看起來是非常非常困難的,它的可讀性非常差。另外,在對CSS3,或者CSS2.1,HTML4,HTML4.01,HTML5這種標準的支持上,Gecko跟WebKit還是有一定的差距的。原來像比較老一點的版本,CSS2.1和HTML4,CSS2.1的得分都不是一百分,但是WebKit是一百分,所以從標準的支持上面來說,很顯然是WebKit要比Gecko好得多。從整個內(nèi)核的加載速度和解析的一些性能上面來說,WebKit也是強于Gecko的”,高雄說。

  WebKit技術(shù)提升豌豆莢反應(yīng)速度

[[58449]]

(豌豆實驗室軟件工程師 范懷宇)

  記者在現(xiàn)場看到,誠如豌豆莢技術(shù)工程師所介紹,豌豆莢2.0的運行速度相比之前版本確實有顯著提升。幾乎是在手機連接到PC的瞬間,豌豆莢2.0就自動啟動了,而之前的1.0版本總要“搜索”那么半天。

  “我們之前用的是.Net Framework,它天生的局限性導(dǎo)致我們加載一些東西的時候都會比較慢,而且我們1.0會因為一些架構(gòu)上的問題,會有多個實例, 2.0改進架構(gòu)之后,我們只有一個實例,這樣就非??炝恕?,范懷宇介紹到。

  “速度提升方面主要表現(xiàn)在兩個方面,一個是我們在網(wǎng)絡(luò)傳輸?shù)臅r候,我們會做一些壓縮等等這些處理。另外一個,我們還是要做緩存”,高雄說,“其實我們的速度相比較Chrome來說,可能會比它稍微慢一點。我最近了解到Chrome有一個新的技術(shù),叫SPDY,在網(wǎng)絡(luò)層這一塊,會有一個新的機制,會提升網(wǎng)絡(luò)傳輸?shù)乃俣?,這個對Chrome的速度的影響是非常非常大的,提升的效率是非常高。接下來我們是想引進SPDY技術(shù),來進一步提升我們的速度”。

#p#

  使用WebKit的技術(shù)細節(jié)及對HTML5的支持

[[58450]]

(豌豆實驗室高級軟件工程師 高雄)

  高雄是豌豆莢2.0版開發(fā)團隊里主力攻克WebKit技術(shù)的高級工程師,他向我們透露了豌豆莢2.0使用WebKit技術(shù)的一些細節(jié):“比如WebKit在Windows平臺上面的porting并不是特別的完善。我們把WebKit的圖形庫換成了SKIA這樣一個圖形庫,這使得我們2.0在渲染的速度上面和渲染的效果上面會更好。 第二點,我們把WebKit原生的網(wǎng)絡(luò)庫換成了IE的網(wǎng)絡(luò)庫,使得我們2.0我們可以復(fù)用IE緩存,加載速度會更快。第三點,我們WebKit做了很多JS的擴展,我們使用了一套WebKit和Windows native代碼之間的一個通訊,這個架構(gòu)叫Onering架構(gòu),這個是我們在國內(nèi)首創(chuàng)的”。

  而在對HTML5的支持方面,高雄表示,豌豆莢所使用的WebKit技術(shù)與Chrome瀏覽器的開源項目Chromium是有比較大的區(qū)別的,Chrome對HTML5的支持做的非常全面,但是豌豆莢2.0沒有沒有基于Chromium來去做,而是簡單基于WebKit做的。因此在對HTML5支持上沒有Chrome那么全面,很多功能都是基于前端工程師的要求后加的。

  范懷宇舉例說“比如說你看到現(xiàn)在豌豆莢2.0,你會發(fā)現(xiàn)收到短信它會彈出框,那個框就是HTML5的Notification機制做出來的,不是和傳統(tǒng)的Windows彈框一樣,它和Gmail彈是類似的,如果你放到瀏覽器里面,其實它也會彈那個框。還有比如說LocalStorage我們會用來存儲很多比如說詢問一下你是不是使用?!?/P>

  曾經(jīng)遭遇的技術(shù)難點

  豌豆莢的兩位工程師坦言,在Windows上做WebKit還是有很大難度的。高雄稱, “WebKit它在對HTML5的支持是已經(jīng)非常好了,但是他說的這個非常好,實際上是在Safari或Chrome上。我們很多PC軟件,你真正去拿Chrome或者是Safari來用的話,幾乎是不可能的,因為太大。所以只有是拿WebKit來用是比較適合的,但是WebKit在Windows上面的porting,這個HTML5支持程度是非常非常弱的,這個是非常大的難度,有很多HTML5的功能你需要自己去實現(xiàn)”。

  “另外,我們在用WebKit的時候,會對JS會做非常深入的擴展,這也是一個非常難的地方,你在擴展的時候,要遵循HTML5的一些標準去做擴展,擴展出來的GS的對象,你要怎么去管理它,不然的話,會出現(xiàn)很多內(nèi)存泄露,或者垃圾回收等等一系列的問題,我們也是在探索之中”。

  范懷宇則表示,由于WebKit是一個很龐大的項目,豌豆莢2.0很多前端需要的功能需要定制,所以在開發(fā)過程中經(jīng)常會遇到一些“陷阱”。比如,早期關(guān)于數(shù)據(jù)的序列化和反序列化問題上曾耗時良久,在做了許多嘗試之后,才成功把速度提升了許多倍。又比如,作為一個非瀏覽器軟件,如何讓本地的前端的接口直接調(diào)到后端的功能,沒有前車之鑒的情況下,只能自己一步步摸索。

  未來會把核心技術(shù)開源

  用一種全新的技術(shù)革新產(chǎn)品當(dāng)然會遇到很多的困難,幸運的是,豌豆莢團隊最終克服了開發(fā)中的種種障礙,在歷時十個月的長久醞釀后,終于如期發(fā)布了全新架構(gòu)的豌豆莢2.0?!笆畟€月,差不多是豌豆莢全部歷程中的一小半(豌豆莢推出不到2年時間)”,聯(lián)合創(chuàng)始人王俊煜談到這段時光似乎感慨頗多。令人振奮的是,在成功攻克了各種技術(shù)難關(guān)、順利發(fā)布新品之后,豌豆莢團隊宣布在不久的將來,將把其基于WebKit的2.0產(chǎn)品開源。

  范懷宇表示“我們把WebKit擴展之后,能夠真正的把Web開發(fā)能夠放到Windows上來,Web開發(fā)工程師,可以完全寫純Web代碼,后面也可以運行。這整個實現(xiàn)部分,我們都會開源”。范懷宇進一步介紹道,核心代碼會以打包的形式開源,其中包括對WebKit的擴展、改進,對HTML5的支持等等,以及定義好的接口協(xié)議、對Windows的接口調(diào)用等,都會實現(xiàn)好再開源。

責(zé)任編輯:佚名 來源: 51CTO原創(chuàng)
相關(guān)推薦

2012-07-24 10:05:26

豌豆莢百寶袋

2014-03-28 12:48:17

豌豆莢應(yīng)用內(nèi)搜索

2014-04-23 17:21:45

Cooliris豌豆莢

2014-03-28 09:59:39

豌豆莢應(yīng)用內(nèi)搜索

2012-02-23 00:22:55

2013-09-26 09:47:42

豌豆莢

2011-12-14 20:54:24

Android

2012-05-09 08:32:34

豌豆莢張濤ASO

2011-08-08 09:25:55

2013-10-31 14:31:09

2013-07-25 09:18:58

豌豆莢

2012-03-20 15:00:49

Android

2012-06-29 14:11:14

豌豆莢Android 4.1

2015-08-03 17:28:02

2014-01-16 14:09:03

豌豆莢移動內(nèi)容搜索

2009-11-11 13:00:05

GNOME瀏覽器Webkit內(nèi)核

2010-01-21 09:02:51

搜狗瀏覽器Webkit

2011-08-29 14:27:33

QTWebkit瀏覽器

2012-03-11 19:12:12

豌豆莢

2012-06-13 13:24:01

Between豌豆莢設(shè)計獎
點贊
收藏

51CTO技術(shù)棧公眾號