溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

widget的介紹

發(fā)布時(shí)間:2020-07-30 01:44:21 來源:網(wǎng)絡(luò) 閱讀:655 作者:stonehorse 欄目:開發(fā)技術(shù)

      widget的字面意思是小部件,所以在PC端和手機(jī)客戶端,能漂浮在桌面或者網(wǎng)頁的的獨(dú)立小窗口程序都叫做widget。

      先來介紹一下PC端widget。其中網(wǎng)頁widget最為簡單,只是一段html和js代碼,瀏覽器在顯示網(wǎng)頁的同時(shí),執(zhí)行這段代碼,從而呈現(xiàn)出widget效果。將此技術(shù)發(fā)揮到極致的是WebQQ。

      比較復(fù)雜的是桌面widget。以下widget都指的是桌面widget。

      首先,來了解一下操作系統(tǒng)的UI框架:

      內(nèi)核層  ------->  圖像層  --------> 桌面層(以獨(dú)立的進(jìn)程存在) 

      Mac系統(tǒng)和Windows系統(tǒng)框架一致,只是每層的實(shí)現(xiàn)及API不同。如果想實(shí)現(xiàn)一個(gè)widget程序,在UI功能上就必須和桌面層進(jìn)行交互,甚至更底層地和圖像層進(jìn)行交互,從而實(shí)現(xiàn)桌面的定制效果和自身的圖像展示。但是每個(gè)widget都這樣實(shí)現(xiàn),工作量巨大,所以業(yè)界仿造網(wǎng)頁widget的模式,先開發(fā)出一個(gè)桌面widget引擎,來封裝和底層操作系統(tǒng)交互的部分。而每個(gè)widget應(yīng)用都只是一個(gè)js,html,css或falsh腳本的打包。

      關(guān)于widget引擎,首先是根據(jù)不同操作系統(tǒng)定制的。Mac系統(tǒng)有自帶的引擎,Windows7也有,叫做gidget。Google,Yahoo等大公司也實(shí)現(xiàn)了自己的widget引擎,這些第三方的引擎和操作系統(tǒng)自帶的引擎相比,不同點(diǎn)在于操作系統(tǒng)自帶的引擎可以調(diào)用很多操作系統(tǒng)自帶的功能,而第三方的引擎卻可以維護(hù)一個(gè)自己的widget生態(tài)環(huán)境,原因是每個(gè)widget引擎都有自己專有的widget應(yīng)用庫,類似蘋果的app模式。這就涉及到另一個(gè)問題,widget引擎面向widget程序的API標(biāo)準(zhǔn)。現(xiàn)在的情況是:每個(gè)引擎雖然支持的語言基本都是js,html,css等,但都有自己的API標(biāo)準(zhǔn)。這造成的情況是,用腳本寫的一個(gè)widget應(yīng)用只能在指定的引擎上運(yùn)行,而在其他引擎上卻不行,至少需要改50%的代碼量。針對(duì)這種情況,有公司和機(jī)構(gòu)推行統(tǒng)一widget API協(xié)議,但是只推廣了50%,況且還有的引擎還支持C++, C#, fash js。

      (widget引擎部分功能需要用到瀏覽器引擎部分模塊)

      下面來談一下手機(jī)端的widget。手機(jī)操作系統(tǒng)廠商摒棄了引擎執(zhí)行腳本的widget模式。比如android自帶的widget框架,運(yùn)行開發(fā)者用java和xml進(jìn)行開發(fā),即和傳統(tǒng)的android應(yīng)用程序一樣。而iOS的dash board框架 (它是類widget效果,你也可以通過和iOS的圖像層,桌面層進(jìn)行底層交互,開發(fā)出真正的widget應(yīng)用,當(dāng)然這違背了iPhone的UI設(shè)計(jì)理念)也只開放了obj-C接口。然而第三方公司也積極在手機(jī)端布局自己的widget引擎,類似桌面上做的那樣,幻想形成自己手機(jī)端widget生態(tài)系統(tǒng)。比如中國移動(dòng)公司,有自己的引擎,僅限于android,并提出了自己的一套API標(biāo)準(zhǔn);91手機(jī)助手也實(shí)現(xiàn)了自己的widget引擎,但是她里面的widget應(yīng)用很少,且基本上都是自己的開發(fā)的。

參考鏈接:http://zhidao.baidu.com/question/165925753.html
http://www.docin.com/p-83005256.html
http://blog.csdn.net/wanghero/article/details/4159832
http://www.zte.com.cn/cndata/magazine/zte_communications/2011/2/articles/201103/t20110323_225089.htm
http://team.i.sohu.com/blog/view/73357267.htm
http://cdmd.cnki.com.cn/Article/CDMD-10013-2010224799.htm
http://news.newhua.com/news/2011/0402/119288_2.shtml
http://wenku.baidu.com/view/127ad4fe700abb68a982fb7e.html
http://www.apple.com/downloads/dashboard/sports/106millos.html
http://it.sohu.com/20081218/n261292433.shtml
http://blog.tianya.cn/blogger/post_read.asp?BlogID=200349&PostID=18997419
http://tech.sina.com.cn/s/2011-04-20/18115429700.shtml
http://wenku.baidu.com/view/8f59c1fe770bf78a65295487.html
 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI