ViolaWWW
ViolaWWW是第一個支援萬維網(WWW)指令碼和樣式表的瀏覽器,目前已停止開發。其首次在1991/1992年的UNIX作業系統上發佈,並成為受萬維網發源組織CERN所推薦的瀏覽器[1],但其最常用瀏覽器的地位最終被Mosaic瀏覽器取代。
開發者 | 魏培源[1] |
---|---|
首次發佈 | 1992年3月9日 |
程式語言 | Viola[1][2] |
平台 | UNIX |
類型 | 網頁瀏覽器 |
網站 | viola.org |
Viola語言
編輯Viola由魏培源在1991年開發,他也是加州伯克利大學的eXperimental Computing Facility(XCF)研究小組成員之一[1][3]。Viola是一個基於UNIX平台的程式語言,其名稱為視覺化互動的物件導向語言及應用(Visually Interactive Object-oriented Language and Application)的首字母縮寫[4]。
魏培源對於圖形軟件的興趣始於1989年他接觸到的HyperCard,魏培源說:「當時HyperCard非常引人注目,這是一款眾人皆知的超連結程式,但只能在Mac上運作...而當時我甚至連Mac都沒有」。魏培源使用X終端於1990年創造了第一個版本的Viola語言:「我拿到了一本HyperCard手冊看了一下,基本上把這些概念完成了......」[4]
ViolaWWW歷史
編輯畢業後魏培源與XCF及創業夥伴一起繼續開發Viola[4][5]。隨後其接受了O'Reilly公司的投資,這是一家美國電子出版公司。O'Reilly公司使用了其軟件以顯示旗下網站全球網絡導航器[6]。魏培源的主要工作是建立一個適用於互聯網的Viola版本:
X Window是一個基於UNIX的作業系統,其內建了TCP/IP協定,所以支援互聯網是很合乎常理的,問題是如何透過互聯網傳輸他的Viola頁面,他處於網絡超文字獨立發明的邊緣。在他看到添關於萬維網的郵件時他解釋說,URL非常非常聰明,這正是我所需要的。他向添發了一封郵件說他正在考慮為X Window編寫一個瀏覽器 。添在12月9日的www-talk上回覆說:聽起來不錯。四天後,魏培源在www-talk說,他做了一個瀏覽器。
——Gillies和Cailliau[4]
ViolaWWW創建於1992年,是第一個加入擴充功能的瀏覽器,如嵌入式指令碼對象、樣式表和表。早期版本在CERN獲得了諸多好評[4]。Ed Kroll還在其1992年很流行的文章全互聯網用戶目錄與指南中強調了該瀏覽器。
隨着ViolaWWW的開發,開始與HyperCard越來越相似:
它有一個書籤功能讓你可以追蹤自己喜歡的頁面,還有下一頁和上一頁按鈕及歷史記錄功能可以儲存你訪問過的網站。隨着時間的推移它有了顯示表格和圖形的功能,到了1993年5月它甚至開始可以直接執行程式。
——Gillies和Cailliau[4]
ViolaWWW基於Viola工具箱,該工具箱是用於開發與支援視覺互動式媒體應用的工具。Viola在X Window下執行,早在1992年就可以用來建立遠超HTML 3.0(當時最新版本的HTML)的複雜超媒體應用,包括小程式及其他可互動的內容[7]。
首創
編輯Viola是第一個擁有如下功能的瀏覽器[8]:
- 客戶端檔案插入,內嵌式框架及類Javascript輸出
Viola式內嵌框架 | 指定對象 |
---|---|
<INSERT SRC="a_quote.html"> |
<object type="text/html" data="a_quote.html"> <p>如果浏览器不支持对象,本文字将会显示</p> </object> |
Viola式樣式表 | CSS樣式表 |
---|---|
(BODY,INPUT,P FGColor=black BGColor=grey70 BDColor=grey70 align=left (H1 FGColor=white BGColor=red BDColor=black align=center |
body, input, p {
color: black;
background-color: #707070;
text-align: left;
}
h1 {
color: white;
background-color: red;
border: solid 1px black;
text-align: center;
}
|
- 一個側邊欄用於顯示網頁中的元資訊,如網頁內部導航連結等。類似但不那麼複雜的側邊欄功能也出現在一些現代瀏覽器中。
- 一個HTML文件可以呼叫的手稿語言,讓網頁文件可以嵌入高度可互動的指令碼及小程式,其可以被視為JavaScript和嵌入對象的先驅。
ViolaWWW實現語法 | JavaScript實現語法 | |
---|---|---|
指令碼 | \class {txtDisp} \name {showTime} \script { switch (arg[0]) { case "tick": set("content"), date()); after(1000, self(), "tick"); return; break; case "init": after(1000, self(), "tick"); break; } usual(); } \width {100} \height {50} \ |
function showTimeInDoc() {
var theTime = document.getElementById('theTime');
var date = new Date();
theTime.innerHTML = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
setTimeout(showTimeInDoc, 1000);
}
|
將指令碼插入網頁 | <HTML> <HEAD> </HEAD> <BODY> <P>And, the time now is: <LINK REL="viola" HREF="showTime.v"> </BODY> </HTML> |
<html>
<head>
<script type="text/javascript" src="showTime.js"></script>
</head>
<body onload="showTimeInDoc()">
<p id="theTime"> </p>
</body>
</html>
|
與Mosaic競爭
編輯雖然ViolaWWW開啟通往萬維網的大門[8],但由於只能侷限在X Window系統上執行,意味着它無法 將萬維網帶入主流的Mosaic瀏覽器競爭[9]。除此之外,Mosaic更容易安裝在大多數人使用的電腦上[8]。最初只為UNIX開發的Mosaic,很快被移植到Microsoft Windows這個ViolaWWW從未運行過的平台[10]。
參考文獻
編輯- ^ 1.0 1.1 1.2 1.3 Tim Berners-Lee. What were the first WWW browsers?. World Wide Web Consortium. [2010-06-15]. (原始內容存檔於2018-10-03).
- ^ See Viola in a Nutshell (頁面存檔備份,存於互聯網檔案館) for details.
- ^ Pei-Yuan Wei. ViolaWWW Hypertext Browser. [28 July 2010]. (原始內容存檔於2021-06-22).
- ^ 4.0 4.1 4.2 4.3 4.4 4.5 James Gillies; R. Cailliau. How the Web was born: the story of the World Wide Web. Oxford University Press. 2000: 213–217. ISBN 978-0-19-286207-5.
- ^ WWW people. World Wide Web Consortium. [28 July 2010]. (原始內容存檔於2017-07-13).
- ^ O'Reilly, Tim. Why Kindle Should Be An Open Book. Forbes. 23 February 2009 [2016-01-14]. (原始內容存檔於2016-03-03).
- ^ 存档副本 (PDF). [2016-01-14]. (原始內容存檔 (PDF)於2012-02-15).
- ^ 8.0 8.1 8.2 Berners-Lee, Tim. A Brief History of the Web. World Wide Web Consortium. 9 August 1997 [c.1993] [17 August 2010]. (原始內容存檔於2010-12-29).
- ^ Mosaic -- The First Global Web Browser. [2010-07-28]. (原始內容存檔於2007-07-02).
- ^ Freedman, Alan. Computer Desktop Encyclopedia, 9th Edition. New York: Osborne, 2001, p. 629