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).
- ^ 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
外部链接
[编辑]