Web2.0:過去,現在及未來

事實上,關於web2.0這個名詞,我一直覺得很有意見,因為我認為對於程式開發者而言,技術的發展並非具有如此清楚的里程碑甚至標記,而技術這種東西,更不是你將一個名詞安上去以後,就從零在一瞬間變成一。更重要的是,我們所看到的是一群人盲目的高喊web2.0,卻完全不清楚web2.0所代表的真正意義為何。

下面這篇文章,充其量只能說他用文字介紹了web2.0最為膚淺的表面意義,實際上,我認為即便你看完了這篇文章,也不可能真正了解到web2.0的核心意義與價值。就連我,也認為所謂的「web2.0」並不是可以用三言兩語來解釋完畢的,因為它是網路整體價值的改變,不管是就使用者的立場來看還是經營者的角度來看,過去那種將網路當成行銷工具強迫使用者接受的行銷態度顯然必須徹底改變。

但是台灣有多少人可以真正改變舊有的想法,重新去思考網路改變的核心原因以及真正的價值所在?如果只是抱著舊的觀念卻在那邊盲目的喊著新潮的口號,但腦袋裡的東西不改變、行銷觀念不改變,是不可能產生真正的web2.0網站的。

另外,我說過,下面這篇文章講的是Web2.0極為淺顯的概念,其實算是篇入入門文章(也就是說,如果你啥屁也不懂,請給我好好的先把這篇文章看完並且看‧懂),如果你看懂之後覺得還是非常不夠,希望能夠更加深入的了解Web的意義,我想, 同一位作者另外一篇文章也相當值得推薦閱讀:「Single Page Application – 下一代的Web應用程式」。這篇文章當中鉅細靡遺的說明了Web應用的架構以及其特色(不推薦對網路毫無概念的無知大老闆閱讀),希望能夠幫助許多自以為了解Web2.0的人去真正的理解到何謂Web幾點幾,而非盲從的跟著別人喊著莫名奇妙的名詞,還包括那種自以為可以隨便升級高喊自己是Web3.0先驅的那種人….

引用來源:http://kiwi.csie.chu.edu.tw/blog/archives/77

  1. Web
  2. Web 2.0
  3. Semantic Web
  4. 結論

本篇文章主要在介紹Web的發展歷史,目前技術上的發展情況,以及未來的景象。

Web

在有Internet的時候,歐洲高能物理實驗室(CERN)的研究員Tim Berners-Lee, 在1989~1991的時候,參考了TCP及DNS,設計了HyperText(超本文),以及HTML(HyperText Markup Language)及用來傳輸HTML的HTTP(HyperText Transfer Protocol)。他也設計了第一套HTTP伺服器NCSA Httpd,在NextStep系統上的第一套瀏覽器WorldWideWeb,以及世界上第一個網站http://info.cern.ch/。隨後, 他創立了W3C(WWW Consortium)組織來開發及建立WWW上的協定及共通標準。

從網頁到Web應用程式

名稱 網頁 Web應用程式
瀏覽器 IE Firefox,IE
表現層(資料格式) HTML XML,XHTML
樣式表 CSS XSLT,CSS
動態呈現 DHTML
(Javascript+HTML DOM)
Ajax
連結方式 超連結 1. Web Services
2. RSS, Atom
3. 有意義的超連結
邏輯層 不使用(靜態網頁)Javascript***, Perl, PHP, ASP PHP, Perl, Ruby, Python
Asp.Net, JSP
資料層 不使用, 檔案型資料庫 MySQL, PostgreSQL , MSSQL

Ajax*:還是使用Javascript的技術,只是結合XML來做非同步的傳輸。與以往的Web應用程式比較起來,Ajax的使用讓部分運算集中在用戶端,而結合Javascript特效,能夠有更多彈性來創造不同的使用者介面。

連結方式**:這邊是拿Web之間連結資源的方式作比較,以往是靜態的超連結。而現在是Web應用程式,所以能夠進行1. 主動性的連接,也就是透過SOAP來交換資料。2. 被動性地將應用程式資料變成以XML為基礎的協定,來讓其他應用程式透過URL取得。3. 透過即時改寫URL或是良好的設計來達成簡單且有意義的超連結。

Javascript***:在許多伺服器端程式還沒有出現的時候,最早是使用Javascript最為最基本的程式,當時也被稱 做DHTML。在PHP還沒有真正達到廣泛應用的時候,當時是使用Perl及檔案型資料庫作為邏輯層及資料層,常見的應用程式就是聊天室及留言板。

而在資料庫系統引進之後,也因為伺服器端的程式語言,得以讓這些Web應用程式可以利用資料庫完全地記錄狀態及資料,其中最熱門的是PHP。後來瀏 覽器的功能提升,加上與Javascript與XML的結合後成為Ajax,讓現在的Web應用程式更能與使用者互動。這些技術刺激了許多和Web相關的 技術成長。大約在2004年開始,和Web相關的應用程式越來越風行。網頁不再是網頁,會明確地被稱做Web應用程式。而不管是既有的網路服務,或是 Web應用程式,都有服務提供者進行整合。

網路泡沫化

然而,為何會有網路泡沫化一詞產生?在那之後,有一些商業公司發現這個相當快速的資訊傳播平台,便開始著手建構電子商務,嘗試利用Web快捷的特性 降低成本。起頭的公司賺進大把鈔票,加上雜誌以及媒體的渲染,使得投資人紛紛認為這是一塊大餅,開始瘋狂投資。這個情況,就如同台灣的珍珠奶茶以及蛋塔效 應一樣,投資者沒有創意的跟進,沒顧及使用者需求的後果,就是導致倒閉及併購。目前真正能夠活下來的,也就是真正有做到瞭解並服務使用者的網路公司。

Web 2.0

由於上述Web技術的演進,以及應用程式服務化的觀念,產生了許多與眾不同的網站。對於Web應用程式服務最出色的就是Google、Yahoo。 這些網站都本來就具備一些特點,也讓他們能夠存活到現在。在2005/09/30,由Tim O’Reilly所發表的「What Is Web 2.0」統整了這些網站的特色,而定義了Web 2.0這個名詞。

但是我想我必須澄清,在Web上使用軟體版本號碼也只是一個表徵,讓使用者知道現在他們天天用瀏覽器所看見的是新一代的Web。但事實上Web一直 都在演進,也像是一直都在換版本,並沒有真正軟體版本的概念。而我認為Web 2.0是走向Semantic Web的一個中間必經之路,不管O’Reilly有沒有提出這樣的名詞,你都已經在使用了。有些對於Web 2.0較批評的文章甚至說,或許很多新一代的家電都可以開始掛上版本號碼,如電腦2.0,冷氣機2.0…等等,但是你並不會真的對冷氣機說那是冷氣機2.0。
就 O’Reilly的文章內容,Web 2.0包含以下觀念:

  • 目的是在於提高人與人之間的互動性,連結性。
  • 以Ajax, Javascript特效,站在使用者的觀感,讓使用者有與以往瀏覽靜態網頁不同的經驗。
  • 建立良好的資料輸入平台,讓使用者可以輕易地累積資料。
  • 利用群眾的力量,可以輕易地開發群眾想要的應用程式,也符合開放原始碼精神。

而對於是否會泡沫化,文章中也認為能夠稱做是Web 2.0的商業公司會符合:

  • 強調使用者也是開發者
  • 利用集體智慧來瞭解使用者需求
  • 儲存的是獨特的領域資料,也包括經由創意而產生的資料
  • 輕量級(Lightweight)的使用者介面,開發模式,商業模式
  • 賣的是服務而不是軟體,也因為上述幾點所以有高成本效益

這是一個很理想的狀況。但實際上,從Wikipedia對於Web 2.0的現況所做的解釋看起來,卻完全不是這樣一回事。一些相當知名的服務公司如同Flickr,開始走向被併購的路線。一些對Web 2.0的負面報導也越來越多,讓投資人謹慎地評估風險,而不再像以往泡沫化的時代一味地砸下重金。我想這與眾多國內商業週刊,網路媒體與業者大肆利用 Web 2.0的名稱試圖吸引使用者投入其陣營是截然不同的情況。

新一代的軟體使用經驗:Web應用程式

我想從2004年以後,也就是早在Web 2.0這個名詞提出來之前,Web應用程式的出現帶來了另一種不同的軟體使用經驗。使用者不再需要安裝龐大的軟體套件,利用瀏覽器就可以使用。而Web本 身的目的也在於加速人與人之間的溝通,所以任何的溝通平台也可以同時建立在此應用程式中。形成了應用程式與服務的彈性整合,也帶動了使用者之間的交流而形 成社群,這是以往的視窗應用程式無法做到的。經由社群的力量,Web應用程式本來就不需要太擔心無法瞭解使用者的需求,而可以快速的改進。

就軟體規格上而言,Web應用程式應該要擁有主動與其他Web應用程式通訊的能力,不管經由Web Services或是其他方式。Web應用程式也應該要提供許多整合性,統計性的服務,而這些透過運算出來的資料,也應該要變成能夠被其他應用程式存取的 資料。使用者輸入的創意資料,應該可以透過可以輕易解讀的文字格式匯出給使用者自行備份。

Semantic Web

Tim Burners-Lee接下來要做的研究就是Semantic Web(語意Web)。Semantic Web是一個最終的夢想,所有現存於Web上的資料,要變成是電腦可以分析與「理解」的資料,然後便可以真正為人類服務,解答問題。而實際上許多目前正在 Web上所使用的技術,其實都是為了走向Semantic Web而研發的。

目前大部分存在在Web上的資料,是無法被電腦已共通,程式化的方式進行存取的。例如說你寫一個網頁,但是這個網頁的內容是跟啥有關係,往往也只有 看網頁的人才看得懂,然後來分類整理。舉個例子,在XHTML還沒推動的時候,就採用<Meta>這個標籤來對該HTML資料進行註解。如此 網頁就變成一種有「屬性」的物件資料,而此物件資料還可以被取得及分析。

HTML這樣子非嚴謹文件結構的時代已經過去,因為無法讓程式根據共通的規範來分析文件。目前W3C首推XHTML,目的就是將以往的HTML,使 用與XML相同的規範撰寫。例如說,標籤應該使用close tag(<tag></tag>或是<tag/>),屬性也不能只是寫屬性名稱而不加上值,應該使用 selected=”selected”這樣的方式。一旦大量的資料照著這樣的累積起來,加上良好開發的程式介面,就可以開發出可以分析這些資料的程式。

而目前Web的發展,和Semantic Web有關連的目的就是開發出良好的介面讓使用者可以輕易地累積資料,也因此發展出Wiki及Blog這兩種快速發佈資料的方式。

這些大量的資料,在建構的時候並沒有任何關連,但是真正對人類有意義的資料,是經過定義化,分析整理並且可以快速擷取的資料。W3C目前已經開發出 Resource Description Framework (RDF) 及 Web Ontology Language (OWL)來明確地定義「知識」,讓資料之間,或是知識對資料產生關連性。良好格式的知識可以關連到現有的任何一個Web上的資料,並且被程式使用。

而在那個時候,Google或許就不存在了,取而代之的代表這整個世界的知識庫。這樣的知識庫,可以讓你輸入一個簡單的問題,你就可以得到你應該要知道的答案。

結論

Web發展到現在已經15年,眾多的技術,複雜的觀念及理論,多元化的商業行為,群眾的言論及力量,讓使用Web的人們眼花撩亂。可是不管Web怎 樣發展,唯一的目的就是給人類使用,讓電腦去處理例行性的工作,而人類可以將時間花在創意上。2004年許多Web的應用,如Wikipedia,對全人 類是有重大的影響的。而Web 2.0的觀念,在隔年也掀起許多話題。這些現象都代表著現在已經不是網頁的時代,也不是視窗應用程式的時代,而是Web應用程式的時代。

One thought on “Web2.0:過去,現在及未來

  1. Pingback: Single Page Application - 下一代的Web應用程式

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s