为了将网页变为应用程序,我们付出了多少努力?(一)
本篇文章是关于 Windows 设计史 02 | “海王星”项目:“稳定”表象背后的求索 中“操作系统网页化”讨论的扩展。就把它当成我关于这部分内容的学习笔记好了。
由于作者本人知识水平有限,对一些概念的理解可能不是很到位,如有错漏之处还请大家多多包涵并及时指出。实在看不下去的可以直接到末尾看我列出的参考资料,那些资料应该会比我的这篇文章讲的更清楚。 免费在线影院xiaobaotv.video
引言
如今,「网络应用程序(Web App)」的概念已十分流行,一部分含义是:用网页编程语言(HTML、CSS、JS 等)构建应用程序,看起来就像是往程序里装了个「浏览器」; 爱壹帆电影 yfsp.app
或者再激进点,干脆将整个操作系统变成一个巨大的网络浏览器,抛开原有的桌面设计,至于桌面程序?网页不就是这个操作系统的「程序」吗?
关于前者,你或许能想到 Electron、Tauri 等等工具;而关于后者,你或许能想到谷歌的 ChromeOS(尤其是早期的 ChromeOS)。这些事物听起来都比较年轻,近年来关于“网络应用程序”也有很多讨论,那么这个概念本身又有多久的历史呢?十年?二十年?
我给出的答案是:三十年。几乎跟万维网和浏览器的历史差不多长。这是一个做了三十多年的「梦」。
背景
我花了大量时间来确保人们可以将任何东西放到网上,但我真的不知道人们真的会将所有东西都放上去。——Tim Burners-Lee,万维网(WWW)的创始人
大概从浏览器刚刚开始流行起,利用网页编程语言(HTML、CSS、JS 等)编写应用程序的想法就逐渐成型。原因也不难理解:互联网/万维网自带有开放、跨平台的属性,这样人畜无害的特性哪位程序员不爱?只要编写一次代码,就可以拿到各个操作系统和平台上使用,不用担心兼容、代码适配等等问题,一劳永逸。 jogodotigrinhodemo a5game.app
这种想法也是时代使然,互联网/万维网的魅力刚刚展现在世人面前,人们都对网络的的巨大潜力充满期待。这种期待甚至突破了正常范畴,演变为后世称为「互联网泡沫」的事件。在这种情形下,访问万维网的平台——网络浏览器就成了“兵家必争之地”,一旦哪家公司能在这一方面得到突破乃至占据主导,不单能得到程序员的青睐,对自己的股价也会有不小的贡献。
面对这种双赢的事业,自然是但凡能跟浏览器扯上关系的公司都力争实现的,而这其中出力最多的也是第一次浏览器大战的两大主角:网景(Netscape)和微软。
不过在介绍那些大公司的方案之前,我们先得看看实现「网络应用程序」的现实基础,这些基础来自于一些富有远见的程序员。
工欲善其事,必先利其器
起点:CGI 和 Perl
你可以连接到互联网的东西真的没有限制。——Rob McCool,通用网关接口(CGI)的创始人
无论怎么样宏伟的想法,没有实际技术的支撑终究只会成为一纸空谈。幸运的是,对于本文所要讲述的内容来说,所需的技术在浏览器刚刚诞生后的一段时间里就已确定。 iyifanyfsp.app demotigrinho a5game.app 爱一番yfsp.app
你或许觉得我想介绍的是 JavaScript。不,要比 JS 更早。首先登场的是一个名叫「通用网关接口(CGI)」的技术,于 1993 年由美国国家超级计算应用中心(NCSA)的 Rob McCool 发明。这项技术的定义十分简洁: nba比分 a5game.app
通用网关接口(CGI)是外部网关程序与信息服务器(例如 HTTP 服务器)进行交互的标准。
换句话说,CGI 告诉 Web 服务器如何与应用程序进行数据交互。用现代术语来说,CGI 可以看作是应用程序编程接口(API),一些文章将其称为是「Web 服务器的 API」。
或者可以这么概括 CGI 出现的历史意义:CGI 使得为 Web 编写交互式应用程序成为可能。
不过,CGI 只是一项协议,并非编程语言。CGI 规范中列出的支持语言包括 C/C++、Fortran 等等,但实际上,最初许多 CGI 应用程序都是用脚本语言 Perl 编写的。这些脚本常用于联系表单、留言簿、调查问卷或搜索框等需要用户输入的功能。许多知名的网站,比如雅虎、亚马逊等等最初都是依托 Perl 脚本发展起来的。
“通过超链接启动的 CGI 程序”示意图然而,形势总是瞬息万变。在服务器端,一种基于 CGI 的新型脚本语言 PHP 横空出世,并随着时间的推移,逐渐取代了 Perl CGI 脚本;
而在前端,Perl 脚本也有自己的问题:由于它需要与服务器交互,而当时的网速比较慢,一次数据的往返可能要耗费大量时间。因此,需要一个针对客户端的脚本语言,可以进行一些简单的数据验证工作(比如验证必填字段是否为空)。同时,随着互联网的发展,许多人都希望网站能显示更加复杂的内容。不单单只能显示文字、图像等静态内容,还能进行一些动态交互。两年后,解决方案诞生了:JavaScript。
改良剂:JavaScript
关于 JavaScript 的开发历程网上已有许多介绍,大家可以自行搜索,本文不详细展开。
1995 年,JavaScript(简称 JS)诞生了,发明者是网景公司的 Brendan Eich。JS 很好的解决了上一节提到的这两个问题:它既能代替 Perl 进行一些简单的数据验证,也能为网页添加更多功能。
为什么名称中要带上「Java」?1995 年,太阳微系统公司(Sun Microsystems,下简称 Sun)推出了 Java 编程语言。并许诺它能「一次编写,到处运行」(Write Once, Run Anywhere)。网景抓住机会,与 Sun 结成了联盟,宣布将在自己的浏览器中支持 Java。但 Java 对于网页来说过于复杂,网景便重新设计了一种新的脚本语言作为 Java 的「简化版本」,即「JavaScript」。连名称都要带上“Java”,蹭它的热度。 pragmaticplay a5game.app JogodoTigrinho a5game.app
不过在此之后,这种联盟将深刻影响网景为构建基于网络的应用程序所采取的方案。而 JavaScript 本身,在这项事业中也有着举足轻重的作用。「改良剂」最终成为了「催化剂」。
至此,什么都不缺了。 ifuntvyfsp.app
网景的试水
Netscape ONE 提供了一套丰富的工具和功能,用于创建新一代软件:以网络为中心的应用程序。 爱壹帆影视yfsp.app
HTML……现在不仅是网页邮件、群件的基础,也是功能齐全的商业应用程序的基础。 爱壹帆在线yfsp.app
——网景联合创始人马克·安德森(Marc Anderseen)
1996 年 10 月,马克·安德森在网景第二届互联网开发者大会上。作为开发出了 JavaScript 语言,以及在万维网和浏览器市场最早尝到甜头的网景公司,他并未止步于浏览器产品,而是有了更大的雄心:构建一个「以网络为中心」的平台,平台核心自然是自己的拳头产品:网景浏览器。至于操作系统?那是什么?马克·安德森更是口出狂言: 爱壹帆寻秦记yfsp.app fortunedragon demo a5game.app
未来,在网景面前,Windows 将被简化为一堆设计拙劣的设备驱动程序的集合。
而网景则被看作是“互联网领域的微软”。此时,网景的雄心壮志几乎与微软如出一辙。(微软的努力将在下一节讲述)
1996 年 8 月,网景发布了 Netscape Navigator 3.0 浏览器,宣称它具备「完全集成的视频、音频、3D 及互联网电话通信功能」,并将其视为有助于扩展 HTML 功能的「通用客户端」。也是在 8 月,网景提出了名为「Netscape ONE(Open Network Environment)」的应用环境,马克·安德森介绍说: slotdemo a5game.app
Netscape ONE 提供了一套丰富的工具和功能,用于创建新一代软件:以网络为中心的应用程序。 爱亦凡yfsp.app
网景认为,应用开发经历了三个阶段:最初是「以主机为中心」的,之后则转变为「以桌面为中心的客户端-服务器模式」,而现在,网景提出了「以网络为中心」的模式——利用互联网的平台无关技术和开放标准开发程序,它们可以在任何支持这些标准的硬件和软件平台上运行,而无需依赖特定的硬件或操作系统扩展。 爱壹帆电影 yfsp.app
网景认为,应用开发经历了三个阶段而在 Netscape ONE 的白皮书中,网景重新定义了 HTML: 海外华人视频网xiaobaotv.video
HTML:尽管最初设计为文本和图像的标准表示方式,但它正迅速发展成为一种通用的、跨平台的客户端界面,适用于在互联网和网络中心应用服务器上运行的各类应用。从应用开发的角度来看,HTML 以及互联网/内联网网页正逐渐成为所有应用运行的通用桌面环境。 pgdemo a5game.app
同年,网景更进一步,提出了「跨平台软件(Crossware)」的概念: pglucky88 a5game.app
跨平台软件指的是可跨网络和操作系统运行的按需应用程序,它完全基于 HTML、Java 和 JavaScript 等开放的互联网标准。 sugarrush1000demo a5game.app
这里值得注意的是 Java。为什么网景在构建自己的“跨平台软件”时选择了 Java?其一是网景与 Sun 的联盟,其二也来自 Java 语言「一次编写,到处运行」的特性(至少是这么宣传的),符合网景构建“跨平台软件”的目标。
Netscape ONE 应用架构1997 年,网景与 Sun 的「恋情」进一步升温。6 月,网景发布公告,表示将采用 Sun 的 JavaBeans 技术作为 Netscape ONE 的组件架构。这项技术可以将 Java 代码块插入到网络应用程序中。网景客户端部门高级副总裁里克·谢尔表示: plataformademo a5game.app
JavaBeans 是第一个跨平台、以互联网为中心的组件模型的例子。 sweetbonanza1000demo a5game.app
对网景来说,JavaBeans 不仅能将强大的桌面应用程序功能引入其浏览器,还能使开发人员能够访问浏览器之外的应用程序的数据和功能。 ifun yfsp.app
与之相配套,网景发布了一种名为 BeanConnect 的程序模型。它允许将多个 Java 对象嵌入到 HTML 页面中,并允许这些程序相互通信。网景公司将这项技术定位为 Java Applet 模型(只能局限于单个程序,无法进行程序间共享)的替代方案。 pragmatic a5game.app
除此之外,网景还引入了 CORBA(通用对象请求代理架构),这是一种旨在允许应用程序之间无缝通信的模型。
也是在 6 月,网景发布了 Netscape Navigator 4.0 浏览器。不过与前三代不同,这一版浏览器是作为 Netscape Communicator 套件的一部分发布的。套件里除了浏览器,还包含电子邮件、群件、在线会议等等软件。这标志着网景将自己的产品线延伸到了浏览器之外,也向“以网络为中心的应用程序”目标又迈进了一步。而对于开发者来说,更重要的或许是其中的 LiveConnect 框架,它允许将 Java、JavaScript 和插件等交互式技术插入到 HTML 中。 fortunetigerdemográtis a5game.app
Netscape Navigator 4.0 浏览器至此,我们来概括一下网景的战略目标:让开发者能够构建“可以在浏览器上部署的跨平台应用程序”。正如安德森所言:
结合 CORBA 和 IIOP ,现在可以开发和部署可移植的、可在任何平台上运行的、可互操作的基于服务的应用程序,这些应用程序可以彼此互操作,并利用各种后端系统和服务。”
而其中的关键词:「跨平台」和「互操作性」,为此后网络技术的定位奠定了标准。以后兴起的各种网络应用程序方案有很多也离不开这两个词。
不过,当「互联网领域的微软」如火如荼构建着自己的网络应用程序方案时,「真正的微软」一直在盯着他们。 jogosdemopg a5game.app
不甘示弱的微软
Windows = "Web"indows
微软的独特之处在于,他将互联网技术与 Windows 系统高度集成。——比尔·盖茨
比尔·盖茨在 1996 年 PDC 大会上。注意后面的横幅:“构建互联网应用程序”实际上,在网景推出 Netscape ONE 的 5 个月前,微软就着手构建自己的网络应用程序方案。
1996 年 3 月,微软专业开发者大会(PDC)召开。这届 PDC 也被称为「互联网 PDC」。会上,微软发布了名为「ActiveX」的技术。与 JS 的功能类似,这项技术可以让开发者在网页中插入多媒体等动态、可交互的内容。新闻稿中称:
ActiveX 技术构成了一个强大的框架,可用于使用软件组件、脚本和现有应用程序创建交互式内容。
几个月后,微软发布了引入 ActiveX 技术的 Internet Explorer 3.0。新闻稿中这么介绍:
Microsoft Internet Explorer 3.0 引入了全面的下一代架构,用于创建动态 Web 内容,将互联网功能从浏览器扩展到应用程序和操作系统。
微软在上面这段话中表达了与网景的 Netscape ONE 相似的战略,即超越网页,进军网络应用程序领域。
IE3 中,微软引入了与 JavaScript 相似的 JScript,并宣布 JScript 成为 ActiveX 技术套件的一部分。同时,为了照顾自家的编程语言,微软还引入了 VBScript(一种基于微软 Visual Basic 的脚本语言)。微软内部本来计划 IE3 只支持 VBScript,但考虑到 JS 的普及程度,还是提供了对 JS 的支持。
而与网景类似,微软也承诺了对跨平台的支持: fortuneoxdemográtis a5game.app 小寶影院xiaobaotv.video 爱壹帆国际版 yfsp.app
微软今天另行发布公告称,正与 Macromedia 公司合作,利用 Macromedia 在跨平台方面的丰富经验,在 Macintosh 电脑上实现 ActiveX 技术。此举进一步彰显了微软致力于与第三方合作,为所有核心互联网技术提供跨平台支持的承诺。 (然而,下一节中我会谈到,微软对跨平台的支持十分有限)
1997 年的 PDC 大会上,微软拿出了自己的「Netscape ONE」——Windows DNA(Distributed interNet Applications,分布式互联网应用程序):
微软开发了 Windows 分布式互联网应用程序架构 (DNA),旨在将 Web 与 n 层开发模型完全集成。 iyf yfsp.app
微软 Windows DNA 是首个将互联网、客户端/服务器和 PC 计算模型集成在一起的应用架构,它开创了一种新型的分布式计算解决方案。
与网景采用的 CORBA 不同,微软另采用了一套名为“组件对象模型(COM)”的技术: 寻秦记爱壹帆yfsp.app
Windows DNA 的核心在于通过组件对象模型(COM)将 Web 和客户端/服务器应用程序开发模型集成在一起。Windows DNA 架构使用一套通用的服务,包括组件、动态 HTML、Web 浏览器和服务器、脚本、事务、消息队列、安全、目录、数据库和数据访问、系统管理以及用户界面。这些服务通过 COM 以统一的方式公开,使应用程序能够轻松地利用它们。 tigrinho gratis a5game.app 电影小宝影院xiaobaotv.video
Windows DNA 涉及到的部分技术又过了两年,微软更进一步。1999 年发布的 Internet Explorer 5 中引入了一个名为“HTA”的新文件格式。微软在官方文档中是这么介绍的:
构建 HTML 应用程序(HTA)的能力使 Windows Internet Explorer 成为一个可行的 Windows 开发平台。……简而言之,HTA 具备 Internet Explorer 的所有功能——对象模型、性能、渲染能力和协议支持——而无需强制执行浏览器严格的安全模型和用户界面。 fortunetigerbônusgrátissemdepósito a5game.app
简单来说,HTA 文件可以将一个 HTML 网页文件变身为应用程序。微软写道, 小宝影院xiaobaotv.video
最终,HTA 的运行方式与任何用 C++ 或 Visual Basic 编写的可执行(.exe)文件相同。
大多数情况下,只要把你的 HTML 文件重命名为 HTA,你就能看到你的网页像程序一样运行。与前文提到的各种方案比起来,HTA 实在是简洁太多。唯一美中不足的是(尤其是放到现在):它只支持 Windows 平台。并且,它采用的是 IE 浏览器的内核(在当时这可以理解,不过现在已然过时)。
HTA 文件回到 1996 年,那年的 PDC 大会上,盖茨这样阐述了微软的互联网战略: slotpix a5game.app
我们的理念是,无论是使用本地数据还是远程数据,体验应当保持一致。因此,我们的目标是让屏幕上出现的所有内容都通过浏览器呈现。浏览器将成为系统的核心。过去被称为用户的部分——即 Windows 中负责对话交互的中枢——将转变为我们的 HTML 引擎;于是,扩展 HTML 将无处不在。 demo a5game.app pg a5game.app
(几年之后,微软将在 Windows 身上实践上文的这段话,详见下期)
至此,概括一下两家公司“网络应用程序”方案的区别:网景的方案中,“网络应用程序”应该能够“跨平台”运行(这其中其实也要求网景浏览器能够提供跨平台支持);而微软尽管承诺了“跨平台支持”,但在实际应用中还是以自己的 Windows 平台为主(Windows DNA 和 HTA 的出现更加说明了这一点),更加注重互联网与 Windows 的集成。但有一点似乎是一致的:两家公司优先考虑的都是自家的浏览器,都希望自家的浏览器能够拔得头筹,成为“网络应用程序”的主要开发平台。而两家浏览器所采用的技术又并不完全相同。 爱壹帆yfsp.app plataformademográtis a5game.app
摩擦不可避免地产生了。
直面现实
事实上,网景在实现其宣称的跨平台开发方面举步维艰。——《网景从跨平台软件开发中学到了什么》
1998年,网络正处于两大浏览器厂商——网景和微软——之间愈演愈烈的竞争之中。这两家公司轮番“改进”HTML,几乎到了让人崩溃的边缘。为了胜过对方,他们不断引入新的元素和新的网页操作方式;最终,他们的 4.0 版本几乎完全不兼容。 ——Web 标准化项目(Web Standards Project,WaSP)简介
1996 年 9 月的一期《时代》。标题是「谁将拥有网络」虽然上两节将网景和微软分开讲述,但在现实中,微软和网景从来都不是各走各路,恰恰相反,他们之间存在着激烈的竞争。同时,上文提到的许多都是「战略目标」「愿景」,而就在两家公司在演讲台上「画饼」的时候,现实的挑战给他们泼了一桶冷水。
对网景来说,「跨平台」的优势与前景听起来十分的诱人,但实践起来却遭遇了许多困境。
作为「跨平台」的坚定支持者,网景自己的产品理应也要提供跨平台支持。然而,要为多个平台提供支持就意味着要付出额外的精力和资源。资料显示,「测试大约七个不同的 Unix 版本所花费的资源至少是测试一个平台的两倍。」在开发 Netscape Communicator 4.0 时,由于 Macintosh 和 Unix 团队人手短缺,导致项目进度落后,以至于后来不得不为非 Windows 版本发布一个「小版本更新」。
其次,作为 Sun 的坚定盟友,网景也对 Java 提供了许多支持。而 Java 本身「跨平台」的特性也很符合网景的战略目标。最初的网景也对 Java 充满热情,甚至计划用 Java 重写网景浏览器(之前的网景浏览器基于 C 语言开发)。但到了 1997 年末 98 年初,网景的工程团队开始对 Java 感到极度失望。最终,到 1998 年中期,网景不再重视 Java,甚至计划用 C 和 C++ 取代现有的 Java 实现。 xiaobao xiaobaotv.video
安德森承认:
如果开发者想要创建可以在任何平台上运行并通过网络下载的网络应用,那么 Java 将会成功——前提是它能够实现这一点,而这本身就是一个庞大的工程难题。……Java 在性能、稳定性和兼容性方面尚未达到实现“一次编写,到处运行”承诺所需的水平。 pgslotgacor a5game.app
除了浏览器本身,网络技术也面临着跨平台问题: pgslot a5game.app
JavaScript 语言规范过于灵活,无法保证不同版本之间的兼容性。各个版本之间都存在 bug、缺陷和故障,这使得确保页面在所有用户上都能可靠运行变得极其困难。例如,在某些平台上,Netscape 2.01 的 document.write() 方法就存在问题。
而对于微软来说,尽管他也承诺提供「跨平台支持」,但实际仍以自家的 Windows 平台优先。讽刺的是,微软的 ActiveX 甚至不支持自家 Windows 的部分版本(比如 Windows 3.1)。《连线》杂志报道称: slot a5game.app
Internet Explorer 支持的每个平台上的 ActiveX 控件几乎都需要完全重写,这意味着 Mac、Win95、Win3.1 甚至不同版本的 WinNT 都需要不同的代码。但在与一位微软产品经理交谈后,我发现 Win3.1 版本不支持 ActiveX,原因是‘缺乏开发者的需求’。” 爱一帆 yfsp.app
而将 IE 浏览器与 Windows 集成的各种行为也引来了监管部门的注意。自 1998 年起,微软就陷入了长达数年的反垄断诉讼中,其中一个焦点就包括 IE 与 Windows 捆绑的行为,令微软焦头烂额。
以上讲的仅仅是两家公司分别面临的问题。那把两家公司放到一起呢?那么我们将面临更棘手的问题:兼容性。(即使到现在,这也是跨平台开发必须面对的问题) slots a5game.app
由于网景和微软存在竞争及其他各种原因,两家对于“网络应用程序”的技术实现也并不完全相同。Java 和 ActiveX、JavaScript 和 JScript/VBScript、CORBA 和 COM,甚至在设计领域,IE 支持 CSS,而网景则搞出了一个「JSSS」与 CSS 竞争……尽管两家公司也对对方的技术提供了支持,但兼容性问题仍然存在。而且两家公司对对方的技术也都并不看好。比如安德森在介绍 Netscape Communicator 4.0 的 LiveConnect 时表示:
在 Communicator 4.0 中,我们将提供对 JavaBeans 组件、OLE 、ActiveX、OpenDoc 和其他传统平台特定对象的全面支持。
安德森加重了「传统」一词,甚至在后面的演讲中直言不讳「我们仍然不建议您使用它们」,暗指微软的 OLE、ActiveX 技术不如网景的技术先进。 Cassinos a5game.app
而微软也不甘示弱,对网景采用的 JavaBeans 和 CORBA 不屑一顾。微软平台营销部门产品经理汤姆·约翰斯顿表示: aiyifan yfsp.app
我们认为,我们的技术比他们的更有价值。如果开发者希望以最少的工作量覆盖最多的桌面设备,那么微软的策略才是最佳选择。 demo a5game.app 华人影视xiaobaotv.video
既然两家公司对对方的方案是这种态度,那么很难说两家为兼容对方的技术所做的努力会有多么到位。比如,网景浏览器尽管支持微软 ActiveX 插件,但仍不支持 IE 的 VBScript;与之相对应,尽管发布日期相近,IE3 仅支持网景浏览器 2 采用的 JS 1.0,而不支持网景浏览器 3 采用的 JS 1.1。 iyftvyfsp.app 电影爱壹帆yfsp.app
与此同时,网络开发人员对两家公司空洞的承诺越来越感到失望。网景和微软尽管在口头上承诺实施标准,但却继续专注于开发自己的专有功能。两家公司「激战」,受苦的却是网页开发者,因为这意味着开发者需要针对不同的浏览器编写代码。说好的「一次编写,到处运行」呢? 足球比分 a5game.app
由于不同的浏览器网页标准不同,一些网页可能只会针对一种浏览器进行设计,并向用户推荐该浏览器不过幸运的是,1998 年,面对互联网技术的乱象,有人出手了。其中既有各种组织,也有普通人的力量。 爱壹帆免费版yfsp.app
1998 年 7 月,W3C 联盟发布了 HTML 文档对象模型(DOM)方案;
1998 年 8 月,一群独立的网络开发人员发起了 Web 标准项目(简称 WaSP): a5game a5game.app
网络标准项目(WaSP)呼吁浏览器制造商履行其在 1997 年 7 月做出的承诺,并敦促浏览器制造商在即将发布的新浏览器版本中全面支持万维网联盟 (W3C) 制定的标准,以及支持正在开发的新兴标准。
WaSP 指出,Netscape Navigator 4.5 和 Internet Explorer 5.0 的测试版「添加了更多专有增强功能,却没有提供对现有标准的完全支持」。并且这些即将推出的浏览器对 DOM 的支持「支离破碎」。最终,WaSP 警告称:
如果网景和微软坚持构建更多不兼容的浏览器,开发成本将继续飙升,数千万人将发现自己被拒之门外,网络将分裂成一座数字巴别塔。事实上,我们认为,这已经开始了。 ifvodyfsp.app
为了实现 Web 标准化,WaSP 进行了各种努力。其中的许多人都参与了 W3C 联盟主导的网络技术规范的制定中,比如 XML、CSS 等。甚至——让我最佩服的一点——还渗透进了敌人内部。WaSP 中有一位名叫 Tantek Çelik 的程序员,当时的他正在微软领导着 IE for Mac 的开发。而他也没有辜负组织的期望:最终的 IE for Mac 5.0 完全支持 CSS Level 1 规范。
尽管 WaSP 已于 2013 年宣布停止,但 Web 的标准化仍然没有结束。而对于“网络应用程序”来说,Web 标准化的必要性也显而易见,尤其是对于网景的“跨平台”目标来说。
梦碎,但未消 电影爱壹帆yfsp.app
随着数百万人的放弃,互联网可能只是一时狂热吧……——《每日邮报》,2000.12
1998 年确实是风云变幻的一年:
这一年,IE 浏览器的市场份额超过了网景浏览器;
也是在这一年,美国在线(AOL)宣布收购网景。 小寶影院电影xiaobaotv.video
而在被收购的几个月前,网景宣布,将 Netscape Communicator 4 开源,并成立非正式组织 Mozilla(这个名称来自于网景的吉祥物)。此后,作为网景的继承者,Mozilla 一直到今天,仍在互联网领域发挥着作用。
2001 年,微软发布了 IE6。也是在这年,IE 浏览器的市场份额达到了近 90%。网景则被彻底掩埋在历史的尘埃中,同样被掩埋的还有“Netscape ONE”,以及当年网景“以网络为中心”的战略。不过,网景当年关于“跨平台”“开发网络”的论述仍然影响着今日的互联网发展。正如马克·安德森所说: 小宝影院在线视频xiaobaotv.video
应用程序是否是在一个以网络为中心的世界中构建的?当然。它们是否需要不同级别的安全保障?是的。网络上的设备种类是否会更加丰富?当然。但基本的工程方面仍有许多工作要做…… 华人影视xiaobaotv.video
而微软尽管赢得了「浏览器大战」,击败了网景,但他自身的战略也发生了变化。2001 年,史蒂夫·鲍尔默成为微软 CEO。他认为 Windows 才是最重要的产品,减少了对 IE 浏览器的关注。别说构建新的「网络应用程序」方案,甚至 IE 浏览器在长达六年的时间里都没有大版本更新。同时,由于他希望 IE 只能在 Windows 上运行,IE的“跨平台”之路也就此告终。这对于“网络应用程序”的实现不是一件好事。鲍尔默的战略对 IE 浏览器的未来发展产生了深刻影响,甚至一部分程度上决定了 IE 的失败。 一帆视频yfsp.app
不过先前的“Windows DNA”仍然被微软继承了下来,并且为它换了个更响亮的名字:.Net。
微软 .Net Logo(2000–2010)而当我们将目光离开这两家公司,我们发现,外界的环境也悄然发生变化。2000 年,「互联网泡沫」破裂,人们对互联网的热情已然降温,甚至对它的未来持悲观态度。一些媒体甚至认为「互联网对许多用户来说可能只是昙花一现」。 小宝影院电影xiaobaotv.video 一帆yfsp.app
「随着数百万人的放弃,互联网可能只是一时狂热吧……」——《每日邮报》,2000.12总之,由于各种因素,「网络应用程序」的发展陷入了停滞。至少在之后的很长一段时间里,没有新的方案出现。微软忙着开发 Windows,网景已被 AOL 收购,而他的继承者 Mozilla 还在推销自己名为「火狐」的浏览器……
然而,就在几年之后,方兴未艾的移动平台传来了让人意想不到的消息,为「网络应用程序」带来了新的希望…… Caça-níqueis a5game.app
还是在 1998 年,就在浏览器产业面临诸多变数之时,在微软内部,一些程序员正在尝试一个更大胆的想法:整合 Windows 和互联网乃至超越,重新构建 Windows 的用户界面。对于此后类似的尝试来说,Windows 的这次尝试早了整整十几年。下期我们就从 Windows 的这次“变革”开始讲起。 爱壹帆电影yfsp.app
参考资料
(前六篇强烈推荐,详细记录了上世纪 90 年代网络技术的变迁、浏览器大战等内容,比本文讲的会更清楚) tigrinhodemo a5game.app
- 1993 年:CGI 脚本和早期服务器端 Web 编程 - CyberCultral
- 1995 年:JavaScript 的诞生 - CyberCultral
- 1996 年:网景为 Web 应用程序奠定了基础 - CyberCultral
- 1996 年:微软用 ActiveX 和 JScript 激活互联网 - CyberCultral
- 1997年:Netscape Crossware 与 Windows Web 的较量 - CyberCultral
- 1998 年:开放网络:Mozilla、W3C 的 DOM 和 WaSP - CyberCultral
- Netscape 组件得到了 JavaBeans - Cnet
- 微软 Windows 分布式互联网应用程序架构(DNA) - Microsoft Learn
- 微软发布面向下一代应用程序的全面架构 - Microsoft Source
- Web 标准项目主页
- 网景从跨平台软件开发中学到了什么 -《ACM 通讯》
- 本·斯里夫卡 - Slack 与 Teams 之前:Windows 服务