头版:好,坏和丑陋

2020-11-21 20:00:25

请不要使用FrontPage进行现代Web开发!它充满了安全漏洞和过时的标准。这样做的目的不是使您信服。最新版本发布于大约二十年前!

Microsoft FrontPage。仅提及该名称,就可以使大多数(如果不是全部)经验丰富的Web开发人员web吟。您说:“ FrontPage完全来自GeoCities的黑暗时代。” “它所感动的一切都被可怕的输出和专有的废话毁了!”是的,是的。

但是... FrontPage是一个概念。梦想着曾经发生过的事情,以及通往曾经存在过的窗口。让当时的普通家庭用户创建网站,表达创造力并在风暴中征服世界,而这一切都没有被迫学习HTML或CSS或JavaScript ...在这方面,FrontPage势不可挡。

让我们讨论一下为什么Microsoft FrontPage在短时间内成为Internet的最终内容创建工具的原因,以及为什么后来它从宽限期掉下来。

在谈论善良和丑陋之前,我们需要谈论电话和商务会议。因为那是1994年,那时互联网还真的很新。到那时,大多数Internet聊天都发生在Usenet组(想像Reddit之类)或BBS系统(想像老AOL之类;示例如下图)上。如果您需要商务用品(例如股票等),则必须登录拥有所需内容的人的BBS。这有点痛苦。

输入Randy Forgaard和Charles H. Ferguson。著名的计算机行业顾问弗格森(Ferguson)与麻省理工学院(MIT)毕业生福尔加德(Forgaard)联系(通过电话,如果您想知道的话),讨论了创办一家新的基于互联网的公司。

他的想法是,许多公司,例如道琼斯(Dow Jones),彭博(Bloomberg),苹果(Apple)等,都在花费数百万美元来构建自己的,完全不兼容的拨入Internet服务。因此,他们应该创建一个标准化的,完全开放的服务器/客户端组合以替换所有独立的工作。希望这将减少这些公司的发展成本,并通过让企业希望拥有Interent的存在来提供增长市场。

两人决定成立自己的公司Vermeer Technologies,Inc。一个月后,仍处于计划阶段,他们从CERN那里吸引了全新的万维网的风。它是分散的,开放的,并且比他们计划的还要强大。这几乎是完美的。唯一的问题是,如果您只是一些低级的广告经理或任何人,创建网站就很痛苦。网络需要网站的创作工具。

因此,以某种方式,他们设法雇用了许多专业的编码员,而没有任何薪水以在FrontPage上工作。 (也许是早期的创业文化?)显然,它奏效了,因为FrontPage在1995年10月推迟了一周发布(仅!)。那时,万维网正在爆炸式增长,每月站点增加20%。 FrontPage也成功爆炸,获得了许多奖项和正面评价。实际上,它真是太棒了,以至于微软最终将它们买了下来。据他们说,这不仅感觉像是本机Office应用程序,而且对于他们正在进行的计划变得更加以Internet为中心是完美的。

多年来,FrontPage已集成到Office套件中,并成为Microsoft生产力产品的旗舰产品。到Office 2000为止,FrontPage的Office集成量超出了您应该动摇的范围;完善Office用户界面,并允许在整个套件中进行导入和导出。还有...其他东西,但让我们暂时保持乐观。

我将介绍FrontPage 2002,因为这是我拥有的版本,也是我经验最丰富的版本。

接口...(在我看来)是有史以来任何程序的最佳接口之一。没有夸张。我认为只有时代的其他Microsoft应用程序(如PowerPoint和Visio)才能名列前茅。我明白为什么它会获奖。

与其他任何Microsoft Office XP程序一样,右侧的侧边栏包含常见任务。当然,您可能想要做的是建立一个新站点。

FrontPage等效于“项目”的称为“网站”。这些网站包含该网站的文件(所有HTML,CSS,图像等)和首选项(例如要与之同步的Web服务器或要使用的兼容设置)。

首先选择一个新的“ Empty Web”。弹出弹出一堆模板,包括“空Web”模板。有点奇怪,但可以肯定。

如果要选择模板,它将为您提供一个预先填充的空白网站,准备好您的文字和图片。它消除了一些布局工作和设计创意,但这毕竟是模板的目的。 (尽管,建议您不要使用这些。它们从Web标准的角度来看是相当糟糕的设计。您可以看到它几乎不适合我的窗口。在智能手机上想象一下。)

无论如何,一旦打开空白网页,您将一无所获! (这就是您要的,不是吗?)不用担心。真的,如果您考虑一下,立即开始编写页面会很愚蠢。您会看到,FrontPage对项目采用了面向项目的方法。尽管您可以轻松坐下来开始敲打东西,但这实际上不是FrontPage希望您采取的方式。

这可能是我最喜欢的FrontPage功能:导航编辑器。在这里,您可以创建空白页并将它们按逻辑层次结构链接在一起。这非常类似于您在设计网站时通常会在纸上进行的过程。

使用此层次结构,您可以在所有正确链接的页面中自动创建导航栏。例如,如果您决定制作一个新的顶层页面,则站点上的每个页面都会更新为具有该页面的功能。 (要在此站点上复制该功能,我必须在自定义Flask服务器上使用一些非常棘手的模板脚本。我非常喜欢这样的东西。)

此功能也很不错,因为它迫使您考虑您的站点。您不能像Microsoft Word那样坐下来,跳出一些页面。您需要一个连贯的计划。在开始之前,您需要与客户/团队/自我坐下来,然后问“您要在网站上显示什么?”对于大多数人来说,很明显,您需要一个网站。每个人都有一个网站。不太明显的是网站上需要显示什么。 FrontPage的Web编辑器使您可以在提交任何内容之前先试用层次结构和布局。

令人感兴趣的一件事是,Word,PowerPoint和Access全部(模糊地)都遵循类似的模型。 Word具有“大纲”编辑器,PowerPoint具有“幻灯片浏览器”模式(如上图所示,显示了我11岁时制作的交互式游戏),Access是一种典型的数据库程序,需要先声明表才能对其进行操作。

更有意思的是,除了Access(很少有人使用,主要是由于它的成本和相对稀有性)之外,Access从来不需要您先制定计划。我见过的大多数使用Word的人都只是直接输入文字,或者处理带有轮廓的另一个文档。但是选项在那里!可以在文档中画出轮廓并充实它们。同样,PowerPoint也是如此。

Web设计中的另一个常见任务是定义一个“模板”页面,您可以在其中填充所有内容。例如,您现在正在阅读的该网站上的每个页面都有相同的页眉和页脚,并且每篇文章的顶部都有相同的缩略图。这些都是使用模板功能编写的。

作为Office产品的FrontPage支持模板。公认的实现是超级麻烦的,但是就在那里。您可以将页面包含在其他页面中,设置起来有些棘手。 (FYI,Word,Excel和PowerPoint也会做模板。这是它们鲜为人知的功能之一,恕我直言。)

另一个真正整洁的功能:报告。就像IDE中的编译器一样,FrontPage会为您的站点生成警告,错误和统计信息。乍一看,我可以查看所有断开的链接,孤立的页面,超大的图像等。这是一个了不起的功能,而现代Web开发软件则没有。

与报告一样,您可以一目了然地看到什么链接到什么。这很像软件开发IDE中的调用图。我可以快速看到从任何页面(此处显示为Sonic R颜色修复文章)和任何子页面链接的每个站点。

最后一个功能,尽管在2020年几乎没有用。在任务视图中,您可以列出需要完成的任务列表。跟踪所需要做的事已经很不错了。从某种意义上说,它很像GitHub或GitLab的问题跟踪器。

但是,如果使用FrontPage Web Extensions连接到服务器(我将介绍到...),则可以与其他人共享此任务列表。您可以(再次像问题跟踪程序一样)提出要由他人完成的任务,并处理别人提出的任务。对于Web开发来说,这是一个非常不错的功能,但是如今,通常由GitHub或GitLab等源代码控制提供程序来处理。

当然,还有网页编辑器。这几乎与Microsoft Word完全一样,并带有一些网络风味的香料。您键入单词,它们就会出现在页面中。您将这些单词设为蓝色,它们就是蓝色。也就是说,当您编辑这样的元素时,它将插入HTML 3.2样式的标签,而不是尝试将其与CSS规则匹配。有很多解决方法,但是您必须非常勤奋。不过,这主要是由于FrontPage是其时代的产物。

FrontPage是一个有关计划,执行和检查的程序。使用导航编辑器。您计划站点的内容。您草绘了布局。然后,您考虑布局是否符合要求。或报告。创建内容,检查报告。或任务。计划需要执行的操作,然后执行此操作,然后检查任务是否完成。那就是让FrontPage脱颖而出并发光的原因。

同样,为了进行记录,可以使用FrontPage创建干净的,有些现代的代码。 (因此,我的意思是“使用CSS”和“不需要IE”,而不涉及HTML5或CSS3。)您需要做两件事。

您需要做的第一件事是将FrontPage的功能设置为现代所需要的。为此,请打开任何页面,然后转到工具→页面选项→兼容性。然后使表单如下所示:

这样做会删除Internet Explorer特定的代码,过时的Web技术以及对FrontPage Server Extensions(不再运行的依赖)的依赖。请记住,这确实禁用了FrontPage的许多功能,但是坦率地说,这样做可能会更好。

您需要做的第二件事是比较复杂。几乎不需要创建工具栏中的格式选项,而需要创建样式表。这样做可以提高跨设备的兼容性,并在将来简化站点范围内的更改。

要创建样式表,请转到文件→新建。打开页面模板,然后转到样式表选项卡。选择“普通样式表”。然后按确定。

现在,您应该有一个空白文档,其中所有格式设置选项均已禁用。转到格式→样式,然后在“列表:”下选择“用户定义的样式”

在这里,按“新建”。当要求输入名称时,键入元素的名称或您希望将样式应用到的类的名称。 (这是一个标准的CSS选择器,因此所有这些规则都适用。)从那里,使用左下方的菜单修改样式。重复直到完成所有样式。

要在页面中使用样式表,请转至该页面,然后转到格式→样式表链接。单击“添加”,选择样式表,然后按“确定”。您的页面应设置样式! (但是,出于某些原因,内置的“预览”模式不会显示它们。)

要给一个元素一个类,请选择一小段文本,然后在工具栏中查找第一个下拉菜单。 (应显示“段落”,“标题1”等。)选择您想要的类别。您的选择现在应该具有该类的样式。

我绝对会承认这是不必要的混淆,尤其是考虑到CSS早在1996年的Internet Explorer 3中就已由Microsoft支持,但是此时和标记尚未被弃用。

还记得我曾经说过微软收购威猛(Vermeer)的原因,因为这对他们正在进行的以互联网为中心的计划很完美。让我们谈更多历史。

发行Vermeer FrontPage时,它支持这些称为WebBots的“插件”。 WebBots背后的想法很简单:将它们拖动到页面上,您会立即获得动态内容,例如搜索页面,注册,目录等。这些“ WebBots”作为注释保存在FrontPage生成的HTML中。在“标准” Web服务器上,这些Bot不会执行任何操作。但是,如果您在Vermeer(以及后来的Microsoft)的Personal Web Server上运行它,WebBots就会栩栩如生。为了保持WWW的开放性,威猛(Vermeer)当时为所有流行的Web服务器(例如NCSA,CERN和Apache)发布了FrontPage服务器扩展。

在继续之前,让我们谈谈Internet Explorer和Microsoft。简而言之,微软决心赢得互联网。大约在1996年左右,Internet Explorer 3出现了。它做得还不错,大约有20%的市场份额,但它仍然在很大程度上输给Netscape Navigator。因此,为了增加采用率,Microsoft在Internet Explorer 4中包含了Windows桌面更新。

此更新所做的或多或少是用Internet Explorer胆量取代了很大一部分Windows界面和API。它被广告宣传为“您想要的互联网!”和“ Windows资源管理器的全新功能!”,它还充当了推动IE应用的前沿。

即使您禁用了桌面更新,某些程序仍然要求系统上安装IE4。为什么? IE4所做的一件事情就是提供了一个便捷的API,可以向任何Windows应用程序添加嵌入式网页。它还为您的程序提供了诸如HTML帮助之类的功能和更常见的控件。其背后的逻辑是提供一个统一的API和一致的功能集,以向任何Windows应用程序添加Internet功能。

不幸的是,他们这样做的方式使使用非IE浏览器(主要是Netscape Navigator)感到陌生。当您可以使用外观和行为类似于Windows资源管理器和Windows帮助以及操作系统其余部分的程序时,为什么还要使用奇怪的外部程序。另外,许多新的计算机所有者甚至都没有听说过Netscape,因此确实没有理由进行调查。 (奇怪的是,在可用性测试中,人们发现Netscape比IE更好!)

此外,为了加快Netscape的死亡,Internet Explorer添加了一些独特的功能。其中最知名的是IE3中添加的ActiveX控件。 ActiveX控件是放在Web服务器上并由Web浏览器下载以获取丰富动态内容的程序。问题是,ActiveX控件只能在Internet Explorer上运行,并且通常针对Windows 9x进行编程。这将很大一部分Internet锁定在Microsoft Windows上运行的Internet Explorer。还有VML(矢量图形),各种CSS属性,VBScript(讨厌的JavaScript?Visual Basic怎么样?)等。所有这些最终都累积到了2001年针对Microsoft的反托拉斯诉讼中

我的意思是什么? Microsoft FrontPage广泛使用了这些Microsoft技术。如果需要,可以使所有脚本都在VBScript上运行,因此可以在Internet Explorer上运行。您可以通过AutoShapes绘制矢量图形,并且只能在Internet Explorer中对其进行矢量化。 (尽管,公平地说,SVG [唯一的替代方法]直到2001年才最终确定。)它可以嵌入Microsoft Office生成的网页,而这些网页只能在Internet Explorer中正确显示。它可能包括仅与Windows Media Player一起使用的视频。

当然,您必须竭尽全力去做所有这些事情。问题是,但是,其中许多功能通常没有Netscape替代品,如果需要兼容性,会使该程序的功能受到损害。但是,等等,还有更多!

大多数WebBots需要FrontPage扩展。尽管UNIX服务器版本仍然存在并且仍在更新中,但它们并不是很好。 Apache版本有一个巨大的安全漏洞。显然,正如FrontPage Server Extensions 2002安装文档(几乎不承认UNIX)一样,Microsoft尽了最大的努力将它们推到底层。 (实际上,要立即获取服务器扩展,您必须转到一些奇怪的第三方网站(由官方Microsoft网站认可!)并购买它。要花钱。为什么。)

另外,最重要的是,有些功能需要Microsoft的IIS Web服务器。其中最大的一项是数据库集成。与数据库连接的页面使用ASP(Microsoft专有技术)提供服务。而且,如果您要处理动态内容的任何类型的用户交互,则数据库不是可选的。另外,最重要的是,它支持的唯一非Microsoft数据库是Oracle。另外,最重要的是,FrontPage中有一个一键式选项,可以创建与任何Microsoft Excel工作簿或Access数据库的数据库连接。另外,除此以外,某些协作功能仅在安装了Microsoft SharePoint服务器的情况下才起作用。

FrontPage虽然是一个了不起的产品,但只不过是微软工具箱中的一个典当而已。所有这些都起作用。非常。百思买的所有地方在2000年都有FrontPage网站,还有很多其他网站。哎呀,他们甚至设法让GeoCities,AngelFire,Tripod和Talk City来运行Frontpage服务器扩展。 FrontPage席卷了互联网。到2002年,Internet Explorer达到了96%的市场份额(与1997年相比,大约是18%)。

您知道所有这一切的最好之处是什么?由于在公司创建Internet网站和公司Intranet时(尤其是在Y2K惨败期间),Microsoft的技术如此杰出,因此它们陷于困境。卡住了很长时间。内部公司站点由于基于Microsoft服务器技术,多年来通常需要某种形式的Internet Explorer。由于某种原因,日本政府于2016年转向了基于ActiveX的技术。就消费者而言,我们仍停留在尝试从Windows程序,Office文档和使用Visual Studio进行程序开发过渡的过程中。在每个人都拥有第一台PC的时候,它们是如此流行。

您可能无法在Internet Explorer上查看此内容的唯一原因是由于使用了一个软件:Mozilla Firefox。这是自Netscape以来第一个流行的Web浏览器,它提供了IE所没有的功能,例如选项卡式浏览和下载管理器。 (也有Opera,但您必须为此付费。)显然,人们确实想要Firefox。

Firefox的兴起使Microsoft服务器用于公共Internet的使用根本不值得花费几美元的费用,导致基于Linux的免费服务器软件的采用日益增加。达到目的是推动越来越无用的IIS,Windows NT Server和MS SQL Server三重奏,以及它的HTML输出变得越来越过时(这是推测; Microsoft尚未给出正式理由),因此FrontPage不赞成