天天看點

Web 2.0

Web 2.0”的概念開始于O'Reilly公司和MediaLive公司之間的頭腦風暴,Web1.0的主要特點在于使用者通過浏覽器擷取資訊,Web2.0則更注重使用者的互動作用,使用者既是網站内容的消費者(浏覽者),也是網站内容的制造者。Web1.0到Web2.0的轉變,具體的說,從模式上是單純的“讀”向“寫”、“共同建設”發展。是以網際網路下一步,是要讓所有的人都忙起來,用全民力量共同織出貼近生活的網。一種以使用者為中心的網絡技術與服務,以使用者參與、使用者互動為典型特征的網際網路。

Web 2.0

Web 2.0網站的例子

Web 2.0

2.Web 2.0的典型應用和技術

a)Blog 相關技術舉例:

BlogML

BlogML是由一批技術人員自行制定的,可稱為通用Blog标準交換語言,是基于XML 标準的語言:采用XML的格式來存儲一個部落格的格式和完整内容 。如果一個部落格系統支援BlogML的導出和導入功能,那麼我們就可以實作下面幾個常見操作 :把某個部落格從一個部落格系統移植到另一個部落格系統或者在一個部落格系統上自動的定期的對部落格進行備份。

BlogML以一種層次的形式主要定義了如下幾個元素:

blog元素,根元素;

categories元素,指明部落格的分類資訊;

entries元素,表示部落格的日志條目;

comments元素,用于表示部落格評論;

TrackBacks元素,用于表示部落格的引用通告;

attachments元素,用于描述部落格的附件資訊;

contents元素,用于表示一條日志的完整内容。

TrackBack

引用通告,可以讓部落格作者知道有哪些人看到自己的文章後撰寫了與之相關的評論。當一個讀者看到一篇部落格日志之後,引用通告允許該讀者在自己的部落格上針對原部落格日志發表自己的觀點,然後向原部落格日志的伺服器發送該網頁的URL位址及部落格的标題、部分正文和網站的名稱等資訊,這一過程被稱為“發送TrackBack Ping”。通過這種方法,在原始部落格日志處就留下了評論者的URL位址、标題等部分資訊。其他人也可以向原始部落格日志發送TrackBack

Ping,是以在原始部落格日志中就将所有的評論都記錄了下來。這樣使讀者和原作者雙方都能友善的了解該部落格日志内容的評論情況。于是,通過引用通告,衆多有相關主題的部落格就被聯系了起來。

在有引用通告功能的部落格系統中,每篇部落格日志都有兩個URL,一個是要通路這篇文章所使用的URL,另一個就是TrackBack Ping URL。當我們想要在自己的部落格中發表對某一篇部落格日志的評論的時,想要通知原作者的話,隻需要将原作者那篇日志的TrackBack Ping URL貼到我們這篇評論中來,當我們送出評論時,系統就會按照這個URL發送一個Ping給原作者那篇日志。

b)Social Bookmark

網摘是一種服務,它提供的是一種收藏、分類、排序、分享網際網路資訊資源的方式。使用者可以為每篇部落格日志或網摘添加一個或多個标簽,然後使用者就可以看到所有和自己使用了相同标簽的日志或網摘,并且由此和其他使用者産生更多的聯系和溝通。

c)維基百科Wiki

Wiki指一種超文本系統。這種超文本系統支援面向社群的協作式寫作,同時也包括一組支援這種寫作的輔助工具。 中文譯為“維客”或“維基”。它是一種多人協作的寫作工具。Wiki站點可以有多人,甚至任何通路者維護,每個人都可以發表自己的意見,或者對共同的主題進行擴充或者探讨。

d)内容聚合RSS

RSS (Really Simple Syndication)是一種基于XML的資料格式規範,是内容聚合采用的标準。所謂的内容聚合,是一種共享内容的簡易方式。當使用者訂閱了一個新聞網站中某個頻道的内容或某個部落格網站中的一個部落格後,其使用的RSS閱讀器就會接收到由該網站釋出的一個RSS檔案,或稱為RSS Feed。RSS Feed是一個符合RSS資料格式規範的XML檔案,其字尾一般為rss、xml和rdf,RSS

Feed中包含了最新的網站内容和一些相關資訊,利用RSS Feed,閱讀器就可以向使用者呈現最新的網站内容了。

e)SNS

SNS主要基于Stanley Milgram教授的六度分隔理論(Six Degrees of Separation,又稱六度關系理論),以認識朋友的朋友為基礎,擴充自己的人脈,通過朋友之間的引薦無限擴張自己的人脈,在需要的時候,可以從中與之取得聯系得到該人脈的幫助。六度分隔理論:最多通過六個人你就能夠認識任何一個陌生人。

主要功能:個人展示、社群管理、人際管理、邀請功能、搜尋服務、溝通交流、應用內建。

f)Mashup

Mashup,又名“混搭”,源于流行音樂。mashup 是從兩首不同的歌曲(通常屬于不同的流派)中混合演唱和樂器的音軌而構成的一首新歌。

Web 2.0

地圖 mashup:讓 Web 開發人員可以在地圖中包含各種類型的資料,例如, ChicagoCrime.org芝加哥地圖上顯示最新的犯罪資訊。

視訊和圖像 mashup:根據圖像的中繼資料,将圖像與其他中繼資料相關資訊內建,如,社會關系網絡上的應用。

搜尋和購物 mashup:消費網站提供自己的API接口,供程式設計通路商品内容。

新聞 mashup:根據使用者的profile來建立個性化的報紙,例如,Diggdot.us。

g)Ajax

Ajax(Asynchronous JavaScript and XML,異步JavaScript和XML)最早由Jesse James Garrett提出。差別于傳統的Web應用,Ajax應用的主要目的就是提高使用者體驗: 

不重新整理整個頁面,在頁面内與伺服器通信;使用異步方式與伺服器通信,不需要打斷使用者的操作,具有更加迅速的的響應能力;應用系統不需要由大量頁面組成。大部分互動在頁面内完成,不需要切換整個頁面。由此可見,Ajax使得Web應用更加動态,帶來了更高的智能,并且可以提供表現能力豐富的Ajax UI元件。這樣一類新型的Web應用叫做RIA(Rich Internet Application)應用。

AJAX混合了多種技術:

使用XHTML和CSS表示網頁内容;

使用文檔對象模型(Document Object Model)進行動态顯示和互動;

使用XML和XSTL進行資料互動及相關操作;

使用XMLHttpRequest進行異步資料查詢、檢索;

使用JavaScript将所有東西綁定在一起。

AJAX的典型互動流程:

Web 2.0

3.Web 2.0的設計模式

長尾:小型網站構成了網際網路内容的大部分内容;細分市場構成了網際網路的大部分可能的應用程式。是以,利用客戶的自服務和算法上的資料管理來延伸到整個網際網路,到達邊緣而不僅僅是中心,到達長尾而不僅僅是頭部。 

資料是下一個Intel Inside:應用程式越來越多地由資料驅動。是以:為獲得競争優勢,應設法擁有一個獨特的難于再造的資料資源。

使用者增添價值:對網際網路程式來說,競争優勢的關鍵在于使用者多大程度上會在你提供的資料中添加他們自己的資料。因而,不要将你的“參與的體系”局限于軟體開發。要讓你的使用者們隐式和顯式地為你的程式增添價值

預設的網絡效應:隻有很小一部分使用者會不嫌麻煩地為你的程式增添價值。是以:要将預設設定得使聚合使用者的資料成為使用者使用程式的副産品

一些權力保留:知識産權保護限制了重用也阻礙了實驗。因而,在好處來自于集體智慧而不是私有限制的時候,應确認采用的門檻要低。遵循現存準則,并以盡可能少的限制來授權。設計程式使之具備可程式設計性和可混合性

永遠的測試版:當裝置和程式連接配接到網際網路時,程式已經不是軟體作品了,它們是正在展開的服務。是以,不要将各種新特性都打包到集大成的釋出版本中,而應作為普通使用者體驗的一部分來經常添加這些特性。吸引你的使用者來充當實時的測試者,并且記錄這些服務以便了解人們是如何使用這些新特性的。

合作,而非控制:Web 2.0的程式是建立在合作性的資料服務網絡之上的。是以:提供網絡服務界面和内容聚合,并重用其它人的資料服務。支援允許松散結合系統的輕量型程式設計模型

軟體超越單一裝置:PC不再是網際網路應用程式的唯一通路裝置,而且局限于單一裝置的程式的價值小于那些相連接配接的程式。是以:從一開始就設計你的應用程式,使其內建跨越手持裝置,PC機,和網際網路伺服器的多種服務

繼續閱讀