这篇内容回顾了 1990 年代中期,网景(Netscape)和微软(Microsoft)为定义“网络应用程序”而展开的激烈竞争。网景提出了以浏览器为核心的跨平台方案 Netscape ONE,强调使用 HTML、Java 和 JavaScript。微软则主推与 Windows 系统深度集成的 Windows DNA 架构,核心技术是 ActiveX。两家公司的技术路线冲突导致了严重的浏览器兼容性问题,最终催生了旨在推动统一标准的 Web 标准项目(WaSP)。尽管网景最终失败,互联网泡沫破裂也让网络应用的发展一度停滞,但这些早期的探索为日后互联网与操作系统的融合奠定了基础。
“网络应用”的三十年之梦
将网页技术用于构建应用程序,甚至将整个操作系统变成一个巨大浏览器的想法,其历史几乎与万维网本身一样长。这个概念的核心优势在于其 开放和跨平台的属性 —— 编写一次代码,即可在所有操作系统上运行,无需担心兼容性问题。在互联网潜力被无限看好的 90 年代,浏览器成为兵家必争之地,谁能主导这一领域,谁就能掌握未来。
我花了大量时间来确保人们可以将任何东西放到网上,但我真的不知道人们真的会将所有东西都放上去。 —— Tim Burners-Lee,万维网(WWW)创始人
实现交互的基础技术
在 JavaScript 普及之前,一些早期技术为实现动态和交互式网页奠定了基础。
- 通用网关接口 (CGI): 1993 年出现,它是一种标准协议,定义了 Web 服务器如何与外部应用程序进行数据交互。可以将其理解为“Web 服务器的 API”,它使得为网页编写交互式程序成为可能。最初,许多 CGI 程序都是用 Perl 这种脚本语言编写的,用于处理表单、留言簿和搜索等功能。
- JavaScript 的诞生: 1995 年,网景公司的 Brendan Eich 发明了 JavaScript。它的出现解决了两个关键问题:
- 客户端验证: 可以在不与服务器交互的情况下,对用户输入进行简单的验证,提升了网页响应速度。
- 动态交互: 为网页添加了超越静态文字和图像的动态效果与功能。
JavaScript 最初是为了蹭 Sun 公司 Java 语言的热度而命名,但它最终成为了构建网络应用不可或缺的核心技术。
网景的方案:以网络为中心
作为浏览器市场的早期领导者,网景的野心不止于浏览器,而是要构建一个以网络为中心的平台,并认为操作系统将变得无足轻重。
未来,在网景面前,Windows 将被简化为一堆设计拙劣的设备驱动程序的集合。 —— 马克·安德森,网景联合创始人
1996 年,网景正式提出了 Netscape ONE (Open Network Environment) 的应用环境,其核心理念是利用开放的互联网标准开发“跨平台软件 (Crossware)”,这些软件可以在任何支持标准的硬件和操作系统上运行。
- 核心技术:
- HTML: 被重新定义为适用于各类应用的“通用桌面环境”。
- Java 和 JavaScript: Java 的“一次编写,到处运行”特性与网景的目标不谋而合。网景还推出了 LiveConnect 框架,允许将 Java、JavaScript 和插件嵌入到 HTML 中。
- JavaBeans 和 CORBA: 用于实现跨平台的组件化架构和应用程序间的通信。
网景的目标是让开发者能够构建 “可以在浏览器上部署的跨平台应用程序”,其关键词是 跨平台 和 互操作性。
微软的反击:与 Windows 深度集成
面对网景的挑战,微软迅速推出了自己的方案,其核心策略是将互联网技术与 Windows 操作系统进行深度绑定。
我们的目标是让屏幕上出现的所有内容都通过浏览器呈现。浏览器将成为系统的核心。 —— 比尔·盖茨
微软的方案主要围绕以下技术展开:
- ActiveX: 1996 年发布,功能与 JavaScript 类似,允许开发者在网页中插入多媒体等动态内容,但更侧重于与 Windows 系统集成。
- JScript: 微软对 JavaScript 的实现,同时还引入了基于 Visual Basic 的 VBScript。
- Windows DNA (分布式互联网应用程序): 1997 年提出,这是微软对抗 Netscape ONE 的完整架构。它使用 组件对象模型 (COM) 而非 CORBA 来集成 Web 和客户端/服务器应用。
- HTA (HTML Application): 1999 年随 IE5 推出的一种文件格式。它允许一个 HTML 文件像本地 .exe 程序一样运行,拥有完整的系统访问权限,但 仅支持 Windows 平台 并依赖 IE 内核。
总的来说,网景追求的是一个独立于操作系统的、基于浏览器的跨平台生态;而微软则希望将互联网能力融入 Windows,巩固其操作系统的霸主地位。
现实的冲突与标准的诞生
尽管两家公司都描绘了宏伟的蓝图,但现实却充满了挑战,开发者很快就陷入了兼容性的噩梦。
网景的困境:
- “跨平台”成本高昂: 为多个操作系统(尤其是不同版本的 Unix)提供支持和测试耗费了大量资源,导致项目延期。
- 对 Java 感到失望: Java 在当时的性能、稳定性和兼容性远未达到“一次编写,到处运行”的承诺,网景最终放弃了用 Java 重写浏览器的计划。
微软的“伪跨平台”: 尽管口头承诺,但微软的 ActiveX 技术实际上严重依赖 Windows,甚至在不同版本的 Windows 之间都存在兼容性问题。
为了胜过对方,他们不断引入新的元素和新的网页操作方式;最终,他们的 4.0 版本几乎完全不兼容。 —— Web 标准化项目(WaSP)简介
两家公司为了竞争,不断推出互不兼容的专有技术(如网景的 JSSS 对抗微软的 CSS),导致开发者需要为不同浏览器编写不同代码,“一次编写,到处运行”的梦想变成了“一次编写,到处调试”的现实。
为了解决这场混乱,Web 标准项目 (Web Standards Project, WaSP) 于 1998 年成立。这个由独立开发者组成的组织向浏览器厂商施压,要求他们全面支持由 W3C 联盟制定的统一标准,如 HTML DOM 和 CSS。WaSP 的努力最终推动了 Web 标准化的进程。
梦碎,但未消
1998 年是转折之年。IE 浏览器的市场份额超越了网景,同年网景被美国在线 (AOL) 收购。被收购前,网景开源了其浏览器代码,成立了 Mozilla 组织,为未来的 Firefox 浏览器埋下了种子。
微软赢得了第一次浏览器大战,IE6 在 2001 年占据了近 90% 的市场份额。然而,胜利后的微软却放慢了创新的脚步,将重心重新放回 Windows,IE 浏览器长达六年没有重大更新。
与此同时,2000 年的 互联网泡沫破裂 让人们对网络的热情迅速降温。由于技术不成熟、市场环境变化以及巨头战略转移,第一代“网络应用程序”的梦想陷入了停滞。然而,网景提出的跨平台和开放网络理念,以及这场竞争中诞生的技术和标准,都为未来 Web 2.0 时代的到来和新一轮网络应用的发展奠定了重要的基础。