目 錄
WebKit 的前身是 KDE 小組的 KHTML。Apple將 KHTML 發揚光大,推出了裝備 KHTML 改進型的 WebKit 引擎的瀏覽器 Safari,獲得了非常好的反響。
WebKit 內核在手機上的應用十分廣泛,例如 Google 的手機 Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使用的 Browser 內核引擎,都是基於 WebKit。
現在瀏覽器的內核引擎,基本上是三分天下:
Trident: IE 以Trident 作爲內核引擎。
Gecko: Firefox 是基於 Gecko 開發。
WebKit: Safari, Google Chrome 基於 Webkit 開發。
WebKit支持功能:
HTML4.0/5.0
CSS1&2
Dom1&2
ECMA262
JS1-6
HTTP/FILE
GIF/JPEG/PNG
XML
SSL3
JVM
FTP
SVG可縮放矢量圖形(Scalable Vector Graphics)
RSS2.0(RDF Site Summary )
瀏覽器的選型:
1。Geocko 功能強,但太龐大
2。Opera 功能強,但要錢
3。Ipanel 功能一般,也要錢
4。Ants 功能一般,還是要錢
5。WebKit 功能強,不要錢,呵呵就這個(有nokia,apple,google爲例), 它屬於 LGPL and BSD licenses.
二.Webkit編譯詳解
1.依賴庫及介紹
libicu-dev
ICU是一個成熟,廣泛使用的一套爲C / C + +和Java庫提供Unicode的全球化支持軟件。ICU廣泛的應用在便攜式設備上,並給出相同的結果在所有平臺之間的C / C + +和Java軟件。
libxslt-dev
XSLT的英文標準名稱爲eXtensible Stylesheet Language Transformation。根據W3C的規範說明書(http://www.w3.org/TR/xslt),最早設計XSLT的用意是幫助XML文檔(document)轉換爲其它文檔。但是隨着發展,XSLT已不僅僅用於將XML轉換爲HTML或其它文本格式,更全面的定義應該是: XSLT是一種用來轉換XML文檔結構的語言。
libcurl-dev
cURL是一個利用URL語法的文件傳輸工具,是基於libcurl的前端命令行工具。它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。 它同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, kerberos認證, HTTP上傳, 代理服務器, cookies, 用戶名/密碼認證, 下載文件斷點續傳, 上載文件斷點續傳, http代理服務器管道( proxy tunneling), 甚至它還支持IPv6, socks5代理服務器,通過http代理服務器上傳文件到FTP服務器等等,功能十分強大。
libsqlite3-dev
SQLite 是實現了SQL 92標準的一個大子集的嵌入式數據庫.其以在一個庫中組合了數據庫引擎和接口,能將所有數據存儲於單個文件中而著名.功能一定程度上居於MySQL 和PostgreSQL之間.盡管如此,在性能上面,SQLite常常快2-3倍 (甚至更多).這利益於其高度調整了的內部架構,因爲它除去了服務器端到客戶端和客戶端到服務器端的通信.
libjpeg62-dev
libjpeg 軟件包包含 jpeg 庫. 這些庫使圖形文件在聯合圖象專家組的標準上壓縮. 它是一種"有損耗"的壓縮算法.
libpng12-dev
libpng 軟件包包含 libpng 庫.這些庫被其他程序用於讀寫png文件
gperf
'gperf'是一個用C++編寫的完美的hash函數生成器.它通過一個完美的hash函數F轉換一個含有N元素的用戶特定關鍵字集合到集合W. F唯一映射關鍵字到W的0..K範圍,其中K>=N如果K=N那麼F就是最小化的完美hash函數.'gperf'生成一個0..K元素的靜態查
找表和一對C函數.這些函數決定一個給定的字符串S是否在集合W中,通過只多一次的查找.
'gperf'普遍用於爲多個商業編譯器,研究型編譯器,語言處理工具的詞法分析器生成一個關鍵字識別器.這些編譯器包括GNU C, GNU C++, GNU Pascal, GNU Modula 3, 和GNU indent.完整的'gperf'C++源代碼可以通過匿名ftp`ics.uci.edu' 和 `ftp.santafe.edu'得到.'gperf'已經隨GNU libg++一起發布好幾年了
flex
快速詞法分析器發生器
Bison
GNU項目分析器
GUI
支持多種GUI,包括gtk,qt, mac, win等.linux,windows,Mac都能運行。
2.X11+Gtk+WebKit交叉編譯詳解
編譯列表:
Name |
Version |
libpng |
1.2.10 |
pkg-config |
0.23 |
gperf |
3.0.3 |
Tiff |
3.8.2 |
libjpeg |
6b |
freetype |
2.1.10 |
libxml2 |
2.6.30 |
fontconfig |
2.4.2 |
XFree86 |
4.7.0 |
glib |
2.18.0 |
atk |
1.20.0 |
cairo |
1.2.0 |
pango |
1.20.0 |
gtk+ |
2.14.0 |
ICU |
4c-3_6 |
xslt |
1.1.22 |
curl |
7.19.2 |
sqlite |
3.5.6 |
WebKit |
r29711 |
The cross source:
export ARCH=arm
export CC= iwmmxt_le-gcc
export CXX=iwmmxt_le-gcc
export BUILD_ROOT=/uplatform
export PATH=/opt/montavista/cee/devkit/arm/iwmmxt_le/bin/:/opt/montavista/cee/host/bin/:$BUILD_ROOT/usr/bin:$PATH
export PKG_CONFIG_PATH=$BUILD_ROOT/usr/lib/pkgconfig:$BUILD_ROOT/usr/X11R6/lib/pkgconfig
說明:CC是c的編譯器選項,CXX是C++的編譯器選項。BUILD_ROOT是要build的路徑。PKG_CONFIG_PATH,現在大多數軟件,都是通過pkg-config來檢查依賴關系的,所以要把兩者都加到PKG_CONFIG_PATH環境變量中
Libpng
etho ac_cv_fnuc_malloc_O_nonull=yes>> $ARCH-linux.cache
./configure --prefix=/$BUILD_ROOT/usr --host=$ARCH-linux
make &&make install
pkg-config
./configure
make &&make install
應爲需要較高級的版本的pkg-config才能編譯glib和gtk,如果編譯機上的版本夠高就不需要在升級pkg-config了
Gperf
./configure
make &&make install
企業版的/usr/bin下有,可以直接使用,如果沒有需要編譯一個
Tiff
./configure --prefix=/$BUILD_ROOT/usr --host=$ARCH-linux
make &&make install
字體讀取文件庫
Libjpeg
./configure --prefix=/$BUILD_ROOT/usr --host=$ARCH-linux
make &&make install
freetype
./configure --prefix=/$BUILD_ROOT/usr --host=$ARCH-linux
make &&make install
libxml2
./configure --prefix=/$BUILD_ROOT/usr --host=$ARCH-linux
make &&make install
fontconfig
./configure --prefix=/$BUILD_ROOT/usr --host=$ARCH-linux
make &&make install
XFree86
./configure --prefix=/$BUILD_ROOT/usr --host=$ARCH-linux
由於x11 的需求不同,在配置選項的時候要加特定的參數。所以需要知己configure –h看所需要的選項
Glib
ac_cv_type_long_long=yes
glib_cv_long_long_format=ll
glib_cv_stack_grows=no
glib_cv_uscore=no
ac_cv_func_posix_getpwuid_r=yes
./configure --host=arm-linux --prefix=$BUILD_ROOT/usr
make &&make install
以上選項加入到configure裏再configure,應爲我們arm上裁剪的是2.4內核,所以有些是不支持的,需要屏蔽
Atk
export CFLAGS="`pkg-config --cflags glib-2.0` -I$BUILD_ROOT/usr/include"
export LDFLAGS="-L$BUILD_ROOT/usr/lib,-rpath=$BUILD_ROOT/usr/lib"
./configure --host=arm-linux --prefix=$BUILD_ROOT/usr
make &&make install
因爲atk是依賴glib的,所以需要指定glib
Cairo
Export CFLAGS="-I$BUILD_ROOT/usr/include -I$BUILD_ROOT/usr/X11R6/include"
Export LDFLAGS="-L$BUILD_ROOT/usr/lib -L$BUILD_ROOT/usr/X11R6/lib -lXft -lfreetype -lfontconfig -lXrender -lexpat -lXext -lX11"
./configure --host=arm-linux --disable-nls --with-x --prefix=$BUILD_ROOT/usr --x-includes=$BUILD_ROOT/usr/X11R6/include --x-libraries=$BUILD_ROOT/usr/X11R6/lib
make &&make install
由於我們編譯的是1.2.0所有不需要編譯pixman
Pango
export
FREETYPE_CONFIG=$BUILD_ROOT/usr/bin/freetype-config
Export
LDFLAGS="-L$BUILD_ROOT/usr/lib -Wl,-rpath=$BUILD_ROOT/usr/lib"
export
CFLAGS="`pkg-config --cflags glib-2.0 cairo` -I$BUILD_ROOT/usr/include/freetype2"
./configure --host=arm-linux --disable-nls --with-x --prefix=$BUILD_ROOT/usr --x-includes=$BUILD_ROOT/usr/X11R6/include --x-libraries=$BUILD_ROOT/usr/X11R6/lib
make &&make install
因爲pango依賴GLib, freetype,cairo,x11,所以要指明其連接
gtk+
首先屏蔽config.h裏面的
HAVE_XFIXES 0
HAVE_CUPS_API_1_2
再configure
CFLAGS="`pkg-config --cflags pango pangoft2 pangocairo` -I$BUILD_ROOT/usr/include -I$BUILD_ROOT/usr/include/freetype2 -I$BUILD_ROOT/usr/X11R6/include/"
LDFLAGS="`pkg-config --libs pango pangoft2 pangocairo` -L$BUILD_ROOT/usr/lib -lintl -L$BUILD_ROOT/usr/X11R6/lib -lXft -lfreetype -lfontconfig -lXrender -lexpat -lXext -lX11" CC=iwmmxt_le-gcc
./configure --disable-cups --disable-nls --enable-xim=no --disable-xim-inst --with-xinput=no
make &&make install
ICU
./configure --enable-static --enable-shared --host=arm-linux --prefix=$BUILD_ROOT/usr/
Xslt
./configure --host=arm-linux --with-x --prefix=$BUILD_ROOT/usr --x-includes=$BUILD_ROOT/usr/X11R6/include --x-libraries=$BUILD_ROOT/usr/X11R6/lib
Curl
ac_cv_file___dev_urandom_=yes
./configure --host=arm-linux --prefix=$BUILD_ROOT/usr/ -without-ssl --without-ca-path --without-ca-bundle
在configure文件里加ac_cv_file___dev_urandom_=yes,再configure
Sqlite
./configure --host=arm-linux --prefix=$BUILD_ROOT/usr
make &&make install
WebKit
首先執行
sh autogen.sh
執行autogen腳本,會生成configure,再執行configure
CFLAGS=-I$BUILD_ROOT/usr/include LDFLAGS=-L$BUILD_ROOT/usr/lib ./configure --prefix=$BUILD_ROOT/usr --host=$ARCH-linux CFLAGS=-I$BUILD_ROOT/usr/include CPPFLAGS=-I$BUILD_ROOT/usr/include icu_config=$BUILD_ROOT/usr/
3.編譯出錯Q&A:
Q:在configure中報找不到某個庫,或某個庫的版本太低。
A:1確認是否有該庫,版本是否太低。如果沒有請編譯該庫
2有該庫文件,證明沒有正確的連接到在CFLAGS和LDFLAGS兩個環境變量中指明連接的頭文件和庫。
3只明瞭路徑爲什麼還不行?有些要通過pkg-config讀取.pc文件的形式才能正確。
Q:在configure中什麼找不到,或一些莫名奇妙的錯誤。
A:直接打開configure文件,找到報錯的地方,找到其判斷語句並將起屏蔽。如2.4的內核不支持stack_grows,在編譯glib的時候就要加glib_cv_stack_grows=no,讓其屏蔽過去。
Q:在make的時候包語法錯誤
A:找到該文件,直接修改其語法錯誤。應爲是開源軟件,有語法錯誤很正常。
Q:在make的時候出現找不到某庫文件
A:直接在Makefile的LDFLAGS加其庫連接選項,如果本來就不要該庫就直接刪除。
Q:在make的時候找不到某函數。
A:在config.h裏屏蔽其函數對應的宏。一般來宏來控制某個編譯選項,有些函數是通過宏來判斷是否執行的。
Q:其他問題
1.體系結構
WebKit上層組織應用
WebCore
¨Page與外框相關的內容(Frame,Page,History,Focus,Window)
¨Loader加載資源及Cache
¨HTML-DOM HTML內容及解析
¨DOM- DOM CORE內容
¨XML- XML內容及解析
¨Render-排版功能
¨CSS-DOM CSS內容
¨Binding-DOM與JavascriptCore綁定的功能
¨Editing-所有與編輯相關的功能
JavascriptCore-javascript引擎
¨API-基本javascript功能
¨Binding與其它功能綁定的功能,如:DOM,C,JNI
¨DerviedSource自動產生的代碼
¨ForwordHeads頭文件,無實際意義
¨PCRE-Perl-Compatible Regular Expressions
¨KJS-Javascript Kernel
¨WTF-KDE的C++模板庫
Unicode unicode 庫
Tools tools庫
CURL-url 客戶端傳輸庫
PlatForm- 與平臺相關的功能,如圖形圖像,字體,Unicode, IO,輸入法等.
2.解析流程
1. CURL獲得網站的stream
2. 解析劃分字符串
3. 通過Dom Builder按合法的html規範生成Dom樹
4. 如果有javascript,JSEngine就通過ECMA-262標準完善Dom樹
5. 把Dom傳給LayoutEngine,進行佈局,如果有CSS樣式,就通過CSSParser解析。
6. 最後Rendering out出來
3.瀏覽器系統結構
瀏覽器系統結構圖分爲四層
第一層爲業務應用層,用戶可在webkit基礎上構建各種應用。
第二層爲插件及第三方庫。
第三層爲webkit平臺Porting所需的接口層。
第四層爲平臺和操作系統支持層,提供webkit平臺所需的軟硬件資源。
四.各種瀏覽器比較分析
1.網頁瀏覽器列表
引擎 |
網頁瀏覽器 |
Trident |
Internet Explorer,傲遊,世界之窗瀏覽器,Avant,騰訊TT, Netscape,NetCaptor,Sleipnir,GOSURF,GreenBrowser,KKman |
Gecko |
Fennec,Firefox,網景(6至9), SeaMonkey,Camino,Flock, Galeon,K-Meleon,Minimo,Mozilla,Sleipnir,Songbird , XeroBank |
KHTML或WebKit框架 |
Safari,Konqueror,Epiphany,Google Chrome,iCab,OmniWeb,Midori,Shiira |
Presto |
Opera,任天堂DS瀏覽器 |
Java |
HotJava,Opera Mini,UCWEB |
Tasman |
Internet Explorer for Mac,MSN for Mac OS X |
文字界面 |
Lynx,Links,w3m |
嵌入式系統 |
Internet Explorer Mobile, Minimo,Opera Mobile ,PSP瀏覽器 |
其它 |
Amaya , Dillo ,Mosaic |
Trident
又稱爲MSHTML,是微軟的視窗操作系統(Windows)搭載的網頁瀏覽器—Internet Explorer的排版引擎的名稱,它的第一個版本隨着1997年10月Internet Explorer第四版釋出,之後不斷的加入新的技術並隨着新版本的Internet Explorer釋出。在最新的Internet Explorer第七版中,微軟將對Trident排版引擎做了的重大的變動,除了加入新的技術之外,並增加對網頁標準的支持。盡管這些變動已經在相當大的程度上落後了其它的排版引擎,如Gecko、WebCore、KHTML及Presto。
Gecko
是套開放源代碼的、以C++編寫的網頁排版引擎。目前爲Mozilla家族網頁瀏覽器以及Netscape 6以後版本瀏覽器所使用。這軟件原本是由網景通訊公司開發的,現在則由Mozilla基金會維護。這套排版引擎提供了一個豐富的程序界面以供互聯網相關的應用程式使用,例如網頁瀏覽器、HTML編輯器、客戶端/服務器等等。雖然最初的主要對象是Mozilla的衍生產品,如Netscape和Mozilla Firefox,現在已有很多其他軟件現在利用這個排版引擎。Gecko是跨平臺的,能在Microsoft Windows、Linux和Mac OS X等主要操作系統上運行。
KHTML
KDE系統自KDE2版起,在KDE的新程式Konqueror的網頁瀏覽器使用了KHTML引擎。該引擎以C++編程語言所寫,並以LGPL授權,支援大多數網頁瀏覽標準。由於微軟的Internet Explorer的佔有率相當高,不少以FrontPage製作的網頁均包含只有IE才能讀取的非標準語法,爲了使KHTML引擎可呈現的網頁達到最多,部分IE專屬的語法也一並支援。KHTML擁有速度快捷的優點,但對錯誤語法的容忍度則比Mozilla產品所使用的Gecko引擎小。
Presto
是一個由Opera Software開發的瀏覽器排版引擎,供Opera 7.0~9.60版使用。Presto取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態功能,例如網頁或其部分可隨着DOM及Script語法的事件而重新排版。Presto在推出後不斷有更新版本推出,使不少錯誤得以修正,以及閱讀Javascript效能得以最佳化。
Tasman
是微軟的Internet Explorer for Mac瀏覽器所使用的排版引擎,也是爲嘗試支援W3C所制定的網頁標準而設計的。在Tasman推出時,一度是最切合HTML及CSS等標準的排版引擎。現時微軟方面也停止爲Internet Explorer for Mac提供支援,但新版本的Tasman引擎仍被應用在一些微軟產品上
2.瀏覽參數性能比較
2008年ZDnet用了7頁的報告比較了世界上最流行的4個瀏覽器:IE,Firefox,Opera,Safari。它使用了iBench和SunSpider作性能基準測試軟件。這裏我們摘取其部分有用數據,進行比較。
iBench
是一款應用廣泛、跨平臺基準測試程序,它能夠檢測各種Web客戶端應用網絡新技術時的所表現出來的性能數據。這裏的Web客戶端是指任何用於從網上獲取信息的硬件和軟件,不論使用T1連接互聯網Macintosh電腦、無線掌上設備、運行Linux接收Web TV的臺式機都在其中。程序將對這些設備進行一系列測試,得出易用特性和網速對應用的影響程度。
SunSpider
一個JavaScript的基準。這個基準測試核心的JavaScript語言,並非測試DOM或其他瀏覽器的API的 。它的目的是比較不同版本的同一瀏覽器,以及不同的瀏覽器之間的比較。是廣泛使用的JavaScript的基準。
iBench5.0的XML/CSS和HTML的下載結果可以看出Safari和Firefox表現都不錯,IE和Opera表現其次。
iBench5.0的JavaScript的測試性能上看,Safari,opera和Firefox都表現不錯,IE明顯落後。
以上爲SunSpider測試出的綜合指標,越小越好。明顯可以看出,Firefox和Safari表現比較好,Opera其實,IE比較落後。一下是SunSpider測試個參數詳細列表:
3.瀏覽器使用率分析
全球瀏覽器使用分佈
日期 |
Internet Explorer |
Firefox |
Opera |
Safari |
Q4 2008 |
70.53% |
20.35% |
0.73% |
6.84% |
Q3 2008 |
72.22% |
19.48% |
0.71% |
6.39% |
Q2 2008 |
73.81% |
18.43% |
0.71% |
6.14% |
Q1 2008 |
75.06% |
17.35% |
0.67% |
5.78% |
Q4 2007 |
77.37% |
15.84% |
0.62% |
5.24% |
Q3 2007 |
78.85% |
14.69% |
0.51% |
4.80% |
Q2 2007 |
78.76% |
14.92% |
0.46% |
4.66% |
Q1 2007 |
79.38% |
14.35% |
0.50% |
4.70% |
Q4 2006 |
80.69% |
13.50% |
0.56% |
4.06% |
Q3 2006 |
82.88% |
11.89% |
0.62% |
3.30% |
Q2 2006 |
84.03% |
10.67% |
0.57% |
3.25% |
Q1 2006 |
85.01% |
9.77% |
0.53% |
3.10% |
Q4 2005 |
85.88% |
9.00% |
0.54% |
2.80% |
Q3 2005 |
86.74% |
7.97% |
0.55% |
2.24% |
Q2 2005 |
87.24% |
8.08% |
0.52% |
1.89% |
Q1 2005 |
89.02% |
6.17% |
0.49% |
1.70% |
Q4 2004 |
91.35% |
3.66% |
0.51% |
1.50% |
增長率: |
-27.91% |
229.82% |
43.13% |
356% |
(由 TheCounter.com Global Statistics 所提供的資料)
4.WebKit的SWOT分析
優勢(Strengths)
通過測試結果WebKit的性能優越是其最大的優勢,再加上其開源項目。性能優越加開源這兩大優勢,是目前很多嵌入式產品選擇他的原因。
劣勢(Weaknesses)
因爲開源,代碼並不是最新的,都是Apple和KDE的更新產品。代碼有滯後性。開發週期較長和人力投入比較大,畢竟代碼量大,複雜度高。
機會(Opportunities)
隨着通訊技術的發展,以後的手持設備基本都配有上網功能。但目前嵌入式設備上的瀏覽器還是隻有競爭時期,這是一個很好的機遇。如果在做出優秀的適應嵌入式的瀏覽器,將能成爲這一浪潮的弄潮兒。
威脅( Threats)
大蛋糕大家都想要,騰訊,google等都開始推出自己的瀏覽器。
嵌入式方面Opera, Access等公司都在努力擴張直接的市場,一些大公司也直接晚上WebKit推到直接的平臺上,Apple,Android,NOKI等都在自己的手機上推出WebKit的瀏覽器,可見其競爭是非常激烈度。
1.微軟的夢魘
基於WebKit引擎的Safari for Win已經推出,我們可以發現Safari除了推廣WebKit引擎之外,實際上有着大得多的野心。
Safari,如果只是爲了推廣WebKit引擎的話,Win平臺上已經有了Swift可用,Safari只能說是加強推廣力度罷了,頂多算 是讓Windows用戶嚐嚐正宗的蘋果味。可我們看看Safari安裝文件將近30M的誇張身材,就會意識到Apple肯定搞了小動作。打開 Safari,我們很快就能發現它實現了很多非Win的UI特性:動畫卷軸菜單,Mac風格的次像素字體渲染,網頁對象或標籤拖動時顯示的半透明縮略圖等等。再進入它的安裝目錄,一切真相大白!
原來Safari不僅引入了WebKit引擎,更是一舉捆綁了Core Foundation(OS X的系統級C語言API) ,CFnetwork(OS X的網絡接口API),Core Graphics(就是Quartz 2D, 一個矢量構圖框架,OS X圖形界面的基石),當然還不忘對於Bonjour更完善的應用支持。
可以這樣說,如果在iTunes上Apple還有所保留的話,在Safari上它就表現得相當咄咄逼人了,它幾乎把OS X一半的重要Framework都照搬到了Windows上!!!目的我想應該是再明顯不過了吧。你可以想象將來的Wintel機器看起來跑的是Vista但實際上OS X API一個不缺嗎?你可以想象將來程序員只需要使用Xcode編程就可以讓程序原生運行在OS X/Linux/Windows上嗎?我們說的不是Java虛擬機或者什麼Sandbox,我們說的是性能無損的Objective-C Binary!
Safari下一版即將引入本地SQLite支持,不難想象iTunes也開始採用WebKit引擎並將目前是XML格式的 Library轉用更強大的SQLite存儲,再下一步呢?Core Animation庫取代Direct 3D來支援CoverFlow? 再下一步呢? Cocoa Universal for Windows? Maybe? Why not? 這種環環相扣的應用帶來了巨大的壓迫感。滲透,滲透,再滲透!Apple將會已瀏覽器爲跳板,取代Windows成爲真正的平臺。
2.雲端技術的發展
雲計算(cloud computing),是分佈式計算技術的一種,其最基本的概念,是透過網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多部服務器所組成的龐大系統經搜尋、計算分析之後將處理結果回傳給用戶。透過這項技術,網絡服務提供者可以在數秒之內,達成處理數以千萬計甚至億計的信息,達到和“超級計算機”同樣強大效能的網絡服務。
最簡單的雲計算技術在網絡服務中已經隨處可見,例如搜尋引擎、網絡信箱等,使用者只要輸入簡單指令即能得到大量信息。未來如手機、GPS等行動裝置都可以透過雲計算技術,發展出更多的應用服務。
雲端儲存(cloud storage)是一種將數據保存在虛擬服務器上的數據類型,通常意義上,數據存儲在第三方媒介,而非特定單一服務器上。
3.瀏覽器的未來
瀏覽器未來可望取代目前的操作平臺將成爲趨勢。隨着計算機、手機及連網裝置也普及,未來終端運算都會在雲端執行。目前計算機用戶有9成的行爲是在網絡或靠着瀏覽器就可以完成,未來可能會再進一步提升到95%或更高。人們擁有一個強大功能的瀏覽器,就能滿足平時工作生活的需要。在此情況下,瀏覽器就是未來的操作平臺系統。
參考:
1. 基維百科