Web开发-数据格式选择
(*注:本文章摘抄自jQuery.基礎(chǔ)教程)
說明:本方案用于將信息加載到現(xiàn)有的頁(yè)面上作考慮的
HTML:HTML片段實(shí)現(xiàn)起來只需要很小的工作量。這種格式的自問數(shù)據(jù)可以通過一種簡(jiǎn)單的方法加載并插入到頁(yè)面中,甚至連回調(diào)函數(shù)都不必使用。也就是說以,對(duì)于將新HTML添加到現(xiàn)有頁(yè)面中的簡(jiǎn)單任務(wù)來說,無需遍歷數(shù)據(jù)。但另一方面,這種數(shù)據(jù)的結(jié)構(gòu)方式卻不一定能夠在其他應(yīng)用程序得到重用,因?yàn)檫@種外部文件與它們的目標(biāo)容器必須緊密結(jié)合。
JSON:JSON文件的結(jié)構(gòu)使它可以方便地被重用。而且,它們非常簡(jiǎn)潔,也容易閱讀。這種數(shù)據(jù)結(jié)構(gòu)必須通過遍歷來提取相關(guān)信息,然后再將信息呈現(xiàn)到頁(yè)面上,不過 通過 標(biāo)準(zhǔn)的JavaScript技術(shù)就能做到這一點(diǎn)。由于調(diào)用一次JavaScript的eval()函數(shù)就能解析這種格式的文件,所以讀取JSON文件的速度非常快。然而,使用eval()函數(shù)卻會(huì)帶來固有風(fēng)險(xiǎn)。另外,JSON文件中的錯(cuò)誤可能會(huì)導(dǎo)致頁(yè)面上的腳本靜默地中止運(yùn)行,甚至還會(huì)帶來其他的負(fù)面影響。因此,這種數(shù)據(jù)必須由信得過的人仔細(xì)進(jìn)行構(gòu)建。
JavaScript:JavaScript文件能夠提供極大的靈活性,但它卻不是一種真正的數(shù)據(jù)存儲(chǔ)機(jī)制。因?yàn)檫@種文件特定的語言,所以不能通過它們將同樣的信息提供給完全不同的系統(tǒng)。然而,能夠加載JavaScirpt,則意味著可以將很少用到的行為提取到自問 文件 中,從而在加載該文件之前有效地減少頁(yè)面中的代碼量。
XML:XML文檔的可移植性是當(dāng)之無愧的王者。由于XML已經(jīng)成為了Web服務(wù)領(lǐng)域的“世界語”,因而以這種格式提供數(shù)據(jù)使它極有可能在其他?地方被重用。比如,Flickr(http://flickr.com/)、del.icio.us(http://del.icio.us/)和Upcoming(http://upcoming.org/)都以XML格式輸出它們的數(shù)據(jù)從而催生了使用它們數(shù)據(jù)的很多價(jià)值的Mashup應(yīng)用。不過,XML格式的文件體積相對(duì)?較大,所以同其他 文件格式相比,解析和操作它們的速度要慢一些。
????? 通過以上對(duì)各種數(shù)據(jù)格式優(yōu)缺點(diǎn)的分析,我們知道在不需要與其他應(yīng)用程序共享數(shù)據(jù)的情況下,以HTML片段提供外部數(shù)據(jù)一般來說是最簡(jiǎn)單的。如果數(shù)據(jù)需要重用,而且其他應(yīng)用程序也可能因此受到影響那么在性能和文件大小方面具有優(yōu)勢(shì)的JSON通常是不錯(cuò)的選擇。而當(dāng)遠(yuǎn)程應(yīng)用程序未知時(shí),XML則能夠?yàn)榱己玫幕ゲ僮餍蕴峁┳羁煽康谋WC。
??????? 最后一個(gè)要考慮的問題是,數(shù)據(jù)是否已經(jīng)可以使用,如果是,那么這幾種格式都有可能成為首選,關(guān)鍵是作出最適合我們需求的決定。
轉(zhuǎn)載于:https://blog.51cto.com/zason/535971
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Web开发-数据格式选择的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Nginx的server_name。
- 下一篇: 转:c# 根据当前时间获取,本周,本月,