ViolaWWW
ViolaWWW 3.3 | |
| 開發者 | 魏培源[1] |
|---|---|
| 首次發布 | 1992年3月9日 |
| 程式語言 | Viola[1][2] |
| 平台 | UNIX |
| 類型 | 網頁瀏覽器 |
| 網站 | viola.org |
ViolaWWW是第一個支援全球資訊網(WWW)指令碼和樣式表的瀏覽器,目前已停止開發。其首次在1991/1992年的UNIX作業系統上發布,並成為受全球資訊網發源地CERN所推薦的瀏覽器[1],然而,其最受歡迎瀏覽器的地位最終被Mosaic所取代。
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終端機,魏培源使用X終端於1990年創造了第一個版本的Viola語言:「我拿到了一本HyperCard手冊來參考,基本上就是採納了其中的概念並將其實現出來......」[4]。
ViolaWWW歷史
[編輯]畢業後魏培源與XCF及創業夥伴一起繼續開發Viola[4][5]。隨後其接受了歐萊禮公司的投資,這是一家美國電子出版公司。歐萊禮公司使用了其軟體以顯示旗下網站全球網路導航器[6]。魏培源的主要工作是建立一個適用於網際網路的Viola版本:
X Window是一個基於UNIX的作業系統,其內建了TCP/IP協定,所以支援網際網路是很合乎常理的,問題是如何透過網際網路傳輸他的Viola頁面,他當時已近乎獨立發明出網路超文字技術。就在那時,魏培源讀到了提姆關於全球資訊網的郵件,認為URL非常、非常聰明,這正是他所需要的,並向提姆發了一封郵件說他正在考慮為X Window編寫一個瀏覽器。提姆在1991年12月9日回覆www-talk的郵件中說:聽起來不錯。四天後,魏培源在www-talk上宣佈他已經做出了瀏覽器。
——Gillies和Cailliau[4]
ViolaWWW於1992年發布,是第一個加入擴充功能的瀏覽器,如嵌入式指令碼對象、樣式表和表格。早期版本在CERN獲得了諸多好評[4]。Ed Kroll在他1992年的暢銷著作《Whole Internet User's Guide and Catalog》中也重點介紹了該瀏覽器。隨著ViolaWWW的開發,開始與HyperCard越來越相似:
ViolaWWW有一個書籤功能讓你可以追蹤自己喜歡的頁面,還有下一頁和上一頁按鈕,以及歷史記錄功能可以儲存你訪問過的網站。隨著時間的推移,還加入了顯示表格和圖形功能,到了1993年5月,甚至可以直接執行程式。
——Gillies和Cailliau[4]
ViolaWWW基於Viola工具包開發,該工具包是用於開發與支援視覺互動式媒體應用的工具。Viola在X Window下執行,早在1992年就能用於建構複雜的超媒體應用程式,並具備小程式和其他互動式內容等功能 [7]。
雖然ViolaWWW奠定了全球資訊網的發展基礎[8],但由於僅能在X Window系統上執行,使其無法與隨後將網路推向主流的Mosaic瀏覽器競爭[9]。除此之外,Mosaic對於當時大多數人使用的電腦而言更易於安裝[8]。Mosaic最初是為UNIX系統開發,但很快就被移植到了Microsoft Windows平台[10],而ViolaWWW則從未在該平台上運行。
首創功能
[編輯]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>
|
參考文獻
[編輯]- ^ 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).
- ^ 歐萊禮, 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
外部連結
[編輯]