ViolaWWW

✍ dations ◷ 2025-09-30 12:30:58 #互联网的历史,1991年软件,1992年软件

ViolaWWW是万维网(WWW)第一个流行的浏览器,目前已停止开发。其首次在1991/1992年的UNIX操作系统上发布,并成为受万维网发源组织CERN所推荐的浏览器,但其最常用浏览器的地位最终被Mosaic浏览器取代。

Viola由魏培源在1991年开发,他也是加州伯克利大学的eXperimental Computing Facility(英语:eXperimental Computing Facility)(XCF)研究小组成员之一。Viola是一个基于UNIX平台的编程语言,其名称为可视化交互的面向对象语言及应用(Visually Interactive Object-oriented Language and Application)的首字母缩写。

魏培源对于图形软件的兴趣始于1989年他接触到的HyperCard,魏培源说:“当时HyperCard非常引人注目,这是一款众人皆知的超链接程序,但只能在Mac上运作...而当时我甚至连Mac都没有”。魏培源使用X终端(英语:X terminal)于1990年创造了第一个版本的Viola语言:“我拿到了一本HyperCard手册看了一下,基本上把这些概念完成了......”

毕业后魏培源与XCF及创业伙伴一起继续开发Viola。随后其接受了奥莱利公司的投资,这是一家美国电子出版公司。奥莱利公司使用了其软件以显示旗下网站全球网络导航器。魏培源的主要工作是创建一个适用于互联网的Viola版本:

X Window是一个基于UNIX的操作系统,其内建了TCP/IP协议,所以支持互联网是很合乎常理的,问题是如何通过互联网传输他的Viola页面,他处于网络超文本独立发明的边缘。在他看到蒂姆关于万维网的邮件时他解释说,URL非常非常聪明,这正是我所需要的。他向蒂姆发了一封邮件说他正在考虑为X Window编写一个浏览器。蒂姆在12月9日的www-talk上回复说:听起来不错。四天后,魏培源在www-talk说,他做了一个浏览器。

ViolaWWW创建于1992年,是第一个添加扩展功能的浏览器,如嵌入式脚本对象、样式表和表。早期版本在CERN获得了诸多好评。Ed Kroll还在其1992年很流行的文章中强调了该浏览器。

随着ViolaWWW的开发,开始与HyperCard越来越相似:

它有一个收藏夹功能让你可以追踪自己喜欢的页面,还有前进和后退按钮及历史记录功能可以保存你访问过的网站。随着时间的推移它有了显示表格和图形的功能,到了1993年5月它甚至开始可以直接运行程序。

ViolaWWW基于Viola工具箱,该工具箱是用于开发与支持视觉交互式媒体应用的工具。Viola在X Window下运行,早在1992年就可以用来创建远超HTML 3.0(当时最新版本的HTML)的复杂超媒体应用,包括小程序及其他可交互的内容。

Viola是第一个拥有如下功能的浏览器:

<INSERT SRC="a_quote.html">
<object type="text/html" data="a_quote.html"><p>如果浏览器不支持对象,本文字将会显示</p></object>
  • 一个简单的样式表机制用于指定文档中的样式信息,例如字体,颜色,对齐方式。早在1998年CSS样式表开发之前已经在Viola中实现了。
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) {  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为万维网打开了大门,但由于其局限性,包括它只能在X Window系统上运行,意味着它无法与将万维网带入主流的Mosaic竞争。除此之外,Mosaic更容易安装在大多数人使用的电脑上。虽然最初为UNIX开发,但很快被移植到Microsoft Windows,这是一个ViolaWWW从未运行过的平台。

相关

  • 弗雷格弗里德里希·路德维希·戈特洛布·弗雷格(德语:Friedrich Ludwig Gottlob Frege,宽式IPA:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","S
  • 新闻新闻,在中国古代又称新文,近代有时泛指报纸,在日语及韩语汉字中则只有报纸一义。通常指新闻机构发布的最近发生事件的消息报道。据程栋新著《第二代新闻学》,新闻的定义分两层:认
  • 6-磷酸葡萄糖酸内酯酶6-磷酸葡萄糖酸内酯酶(英语:6-Phosphogluconolactonase)是戊糖磷酸途径过程中的一个酶。它将6-磷酸葡糖酸内酯转变为6-磷酸葡萄糖酸。6-磷酸葡糖酸内酯6-磷酸葡萄糖酸脂酶(胆盐
  • 亚美尼亚大屠杀亚美尼亚种族大屠杀(英语:Armenian Genocide;亚美尼亚语:Հայոց Ցեղասպանութիւն;土耳其语:Ermeni Soykırımı),指奥斯曼土耳其政府于1915年至1917年间,对其辖境
  • 排碧期排碧期(Paibian)是寒武纪的第八个阶段,年代大约位于497–494百万年前。
  • 魩仔鱼魩仔鱼,一般可分为淡水鱼魩仔鱼与海水鱼魩仔鱼两类。根据台湾大学王友慈博士指出,魩仔鱼非指一种鱼类,而是指鳀鱼类和沙丁鱼类的鱼苗的总称,若捞捕作业不正确有可能捞到数十至一
  • 周打蚬汤蛤肉汤(英语:Clam chowder)是一种巧达浓汤,主要材料为蚬,配料为马铃薯、洋葱等。蛤肉汤主要分为“新英格兰蛤肉汤”及“曼哈顿蛤肉汤”,前者以鲜奶油为汤底,后者则以番茄为汤底。
  • 王爷千岁信仰传统宗教仪式:神明秘密社会:王爷千岁信仰属于人鬼崇拜之类,是台湾及福建闽南地区最为盛行的民间信仰之一,也是台湾民间信仰的一大特色,统称为“千岁”、“王爷”。许多源流不详的
  • 亨利二世 (法兰西)亨利二世(法语:Henri II,1519年3月31日-1559年7月10日),法国瓦卢瓦王朝国王(1547年—1559年在位)和布列塔尼公爵。弗朗索瓦一世次子,母为法兰西的克洛德。生于巴黎西郊的圣日耳曼昂莱
  • 薛德丽薛德丽(英语:Nadia Schadlow),是一名美国官员、国防事务顾问,曾经在2018年短暂担任副国家安全顾问。她从康乃尔大学取得政治与苏联研究学位,并且从约翰·霍普金斯大学保罗·尼采高