本篇文章主要在介紹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應用程式的時代。
semantic web 發展不怎麼好。如何讓電腦去處理人類對事物描述的多樣、模糊和不確定性,這才是關鍵。不突破這一點, semantic web 的利用價值就不高,突破了這一點,也不需要 semantic web 了。
回覆刪除我會認為semantic web算是利用既有的資源也就是現在的web構成的,畢竟是站在巨人的肩膀上,價值是完全不一樣的。而這樣的發展是漸進的,就算關鍵突破,有一個好的平台讓他表現,才能夠突顯出價值讓眾多人注意。
回覆刪除我是東吳的學生.考試的時候可能會引用到您的資料.不知可不可以.謝謝.(煩請回信)
回覆刪除我並不太希望我的文章被當作是考試的答案或啥的(因為你說要引用),如果你堅持要引用,也請你依照網路文章慣例加上作者及出處。
回覆刪除Hello:
回覆刪除I have an urgent question about Web 2.0.
If you are a teacher, how do you apply the concept of Web 2.0 to your teaching?
Thanks
我也是中華的學生
回覆刪除如果願意,請盡快回答
謝謝你的幫忙
你好:
回覆刪除在第三屆CNTE(http://www.chu.edu.tw/~cnte2007/)中,Heller博士有提到教師如何使用資訊來幫助教育的問題,結果大家也都知道最大的問題還是要先訓練教師。
我認為教師對面資訊技術融入教學的問題,還是因為資訊化教育沒有推廣,此外有資訊能力的資訊人才不見得會是當老師這些問題而導致。所以,如果教師要能夠真正利用Web技術或資訊來融入教學,還是得先熟悉這些東西才對。一個對這些東西都不瞭解的人,是要怎樣教呢?不是嗎?頂多只能照本宣科而已。
以目前我所看到,Web技術對教師而言也頂多只能夠是提供其多元化教學的材料罷了。也就是說,教師們確實能夠利用網路上現有的資源,如Youtube可以找一些相關短片給同學看,或者是互動式的程式如Visible Human(http://www.dhpc.adelaide.edu.au/projects/vishuman2/)。就現況來說,能做到這樣的教師已經在他的領域上算是擁有頂尖教學技巧了吧!
我認為上述答案是比較接近大家可以理解的現況,但實際上Web 2.0給予的觀念並非如此。很多人處心積慮地想要將Web 2.0口號和許多方面結合在一起,實際上都是失敗的,在我打這篇文章的現在,不知道有多少商業公司又因為誤用Web2.0而導致被併購。Web 2.0只是一個觀念,並非是可以利用的工具。請注意Web 2.0的主要目標是在於建立Web應用程式間的通訊,對人則是能更快將資訊傳達到人身邊, 再來是提升Web介面的使用者親和力。有這些為底,開發者可以更將注意力集中在創意上,也因此2007年後能以創意,破壞式行銷(你要說藍海也行)開發出更直覺好用的軟體與服務,才能存活下來。
如果一個教師他真的要用Web 2.0觀念進行教學,也就是得讓學生自我學習了。例如讓學生建立起良好的教學通訊管道,會的可以教不會的(應用程式間通訊),老師能利用資訊技術更快掌握到學生學習狀況(更快地將資訊傳達到人身邊),或者能夠多和家長及學生訪談,改善教學方式,建立形象及親和力。不能否認...未來學生人數變少,教學會越來越是商業化的行為而不是神聖的工作了。
[...] 引用來源:http://kiwi.csie.chu.edu.tw/blog/archives/77 [...]
回覆刪除[...] 我在Web 2.0過去,現在與未來及介紹Ruby On Rails都有提到一些Web技術的演進,比較明顯的趨勢就是從靜態到動態頁面,而設計的方式也更程式化。而在http://atedev.wordpress.com/2007/01/09/Web2.0:過去,現在及未來/也有讀者在前言提到,技術並不是將一個名詞安上去就好。我相當贊同這句話,因此也在這篇文章中希望來做個總整理,以技術及歷史來看看Web是怎樣成長的。 [...]
回覆刪除