2020年的万维网与仅仅五年前相去甚远,更不用说20年或更长时间了。21世纪初,当我的拨号调制解调器的第一声尖叫声平息下来,数据开始通过我的电话连接的铜线进入我的台式PC时,我突然之间拥有了世界上所有的信息-天哪,我真的知道了。有一种不和谐的颜色,尖叫的标题,和字幕滚动的文字。网站是风格、内容和形式的不可预测的混合体。你实际上需要一个指南针才能在他们中间导航。
随着GeoCities的死亡和Web1.0的大部分消失,许多狂热的早期在线生活一去不复返了。一些小的遗迹仍然存在:访问凌氏汽车(Ling‘s Cars)的网站,这是一家位于英格兰东北部我家附近的二手车经销商,你会发现一个网站故意怀旧地避开了当今的网站设计标准。凌志强的车应有尽有,千兆字节的高迪般的设计让人回想起一个更简单(但更极致)的时代。
但是凌志美的车是一个漂亮、凌乱的异类。今天在网上走走,你会看到一片标准化的-我敢说是无聊的-网站的海洋。圆形、扁平的按钮让位于大量的空白。下拉菜单消失了,取而代之的是便于移动的导航栏。汉堡按钮的激增速度快于麦当劳-数十亿的销量-而且一切都是模块化的。
网页设计顾问、CSS倡导者埃里克·迈耶(Eric Meyer)说,他著有多本关于CSS的畅销书,他说:“我们已经花了30年时间,仍在努力找出在什么情况下什么是最适合网络的。”目前的解决方案似乎是模块化设计,由诸如React这样的框架实现,Reaction是一个开源JavaScript库,允许站点动态呈现页面以响应用户输入和操作。模块化设计是由小型独立组件定义的,这些组件可以随时随地插入需要的站点,从而帮助站点快速扩展。它已经被像Facebook这样的大平台所普及,Facebook为数十亿用户处理无数的组件和功能。有时候,我想知道这是不是正确的答案,或者是一个被过度使用的好答案,我认为这在我们这个行业经常发生。最新的闪闪发光的东西出来了,然后,在你使用了几年后,你说,我应该偶尔使用这个,而不是一直使用。
Reaction是无处不在的,也是批评的避雷针,但正如迈耶所说,这只是一个更广泛的趋势的一个方面,即把所有东西都推到JavaScript中。如果您是JavaScript程序员,这是个好消息,但对用户来说可能有不利之处。我注意到反应驱动型网站在我的手机上往往非常耗电,因为有很多繁重的工作正在进行。
Reaction的广泛采用,以及更广泛的JavaScript,在一定程度上要归功于少数几家大牌科技公司的支持。随着社交平台逐渐主导我们的生活,它们也强行进入了设计界。自从2013年由软件工程师乔丹·沃克创建以来,Reaction一直由Facebook维护,它是Facebook和Instagram前端背后的推动力。这个框架引导人们做出的设计决策正迅速成为网上的常态:Dropbox、Netflix、Reddit和BBC都使用Reaction。
迈耶说:“我认为,很多人看着它就会想,‘如果一家价值万亿美元的公司在使用模块化,那么它一定有它的用武之地。’”即使这与他们如何成为一家万亿美元的公司没有任何关系。
一些人认为Facebook对Reaction的所有权是积极的。该公司可以在问题上投入的大量资源,无论多么微小,都可以让开发人员识别和解决否则可能被忽视的问题。当你在一家大型科技公司工作时,技术挑战往往比小公司更大。Facebook的前工程经理、Reaction的经理索菲·阿尔珀特解释说:“这让人们更容易发现某些规模问题,这些问题在较小的空间里可能也存在,但你可能感觉不到,也可能不会认为这是一个改进的机会。”她目前就职于硅谷公司Humu。(阿尔伯特也是增值基金的贡献者。)
其他人则担心Facebook的管理能力对大多数用户没有特别的帮助。例如,迈耶认为Reaction是一个最有用的框架,但它一直被Facebook视为解决Facebook问题的一种方式,我们中很少有人的网站存在Facebook那样的问题。
例如,Facebook是一堆拼凑成一个网站的小模块,而Reaction的设计就是让一切都变成一个小模块。这可能适合Facebook和Twitter,后者最近在2019年重新设计他们的网络应用程序时使用了Reaction,但大多数项目都不是这样的,“迈耶说。当我做网站时,我通常不需要极端的模块化。“。此外,模块化在某些情况下可能会耗尽资源,而且对于Meyer正在构建的网站来说-它往往不值得这样做。
然而,Meyer并不嫉妒那些都参与到模块性中来的人。如果你在一个一切都有反应的环境中工作,就会开始把你的注意力吸引到某个特定的方向上,“他说。反应会让某些事情变得容易,让其他事情变得困难。我们通常会走向容易的事情,而远离困难的事情。它会把你赶到某个特定的方向。
迈耶的一位朋友在一家为汽车经销商提供统包网站的公司工作。在那里,模块化的方法效果很好:经销商都希望在其他地方看到的网站版本略有不同,而且他们希望这些网站是直观和可靠的。因此,他们选择了基于反应的设计。
阿尔伯特并不认为这是Facebook的方式或途径,也不认为Reaction与这家科技巨头的联系意味着只有Facebook的需求才能得到满足。即使是在大型组织中,也总有一些人是第一次学习这个框架,从头开始,“她说。例如,虽然Facebook员工的大多数网络属性都有统一的软件包,但他们自己不必配置Reaction上的JavaScript捆绑,他们通过社区反馈了解到其他人这样做了,并实现了一个名为Create Reaction App的应用程序来提供帮助。
WordPress的开发者Matt Mullenweg说,模块化正在成为标准,尽管它不一定是新的--至少,不是基本的概念。我不知道你想追溯到什么时候,但我认为它真的来自CSS和将内容与样式分开的想法,“他说,并列举了雅虎的YUI Library和苹果甚至更早的设计指南等例子,作为我们现在将居住的勇敢的新模块化未来的典型例子。
今天,当我想到Web模块化时,令我兴奋的是,人们不仅将代码开源,而且还将设计开源。
Mullenweg选择在他的平台上部署模块化,目前估计有三分之一的网站在使用他的平台。但是,尽管WordPress现在采用了模块化设计,允许人们使用内容块(他们自己的模块化格式,可以从WordPress上移除并嵌入到其他地方)来创建帖子,但Mullenweg在模块化开发方面并不总是很容易
在过去的15年里,WordPress最大的变化是引入了新的编辑古腾伯格(Gutenberg)。2018年12月6日,团队发布了WordPress 5.0,并发布了Gutenberg,将每个帖子分解成模块化的内容块。但发布几乎没有发生,因为社区中的一场争议表明,为什么搭上科技潮流的顺风车有时会带来比实际价值更大的麻烦。
当用户开始提出担忧时,wordpress已经深入到了使用react开发古登堡的过程中--不是担心模块化设计(尽管有些人觉得wordpress向块的转变使其编辑器变得复杂),而是在react的许可中有一个小条款。Facebook当时的工程总监亚当·沃尔夫(Adam Wolff)写道,由于担心自己会成为专利诉讼的目标,Facebook插入了一项条款,规定用户不能起诉他们侵犯专利。WordPress用户对这一条款和签字放弃他们的权利持谨慎态度-Mullenweg不得不做出决定。
这是一个很大的责任,因为当我们发布新版本的WordPress时,每个人都会自动更新。我们已经选择了数百万人和公司加入这项专利条款,“他说。
Mullenweg没有明白这一条款的意义;他认为Facebook是在保护自己免受永远不会发生的事情的影响。他说:“这看起来像是律师无意中塞进了他们不需要的东西。”因此,大约在阿帕奇软件基金会将Facebook的专利条款列入禁止许可的名单的同时,Mullenweg开始通过反向渠道联系游说这家硅谷巨头。脸书站稳脚跟让他大吃一惊:将维持这一条款。
穆伦韦格被撕裂了。他可以接受专利条款,推出古腾堡最新版本,并不顾数百万人的抗议选择加入。或者,他和他的团队可以在不使用Reaction的情况下从头开始重写它,这一决定将使开发时间表增加6到12个月。
他选择了后者,并于2017年9月发表了一篇博客文章,解释了他的理由。我们无法想象这项专利条款会强加给我们的用户,“他说。
令穆伦韦格惊讶的是,一周后,Facebook改变了路线。我们将在麻省理工学院的许可下重新授权我们的开源项目Reaction、Jest、Flow和Immutable.js。“Wolff写道。Reaction是广泛的网络开源软件生态系统的基础,我们不想因为非技术原因而阻碍前进。
Facebook和开源社区之间关于Reaction的小规模冲突象征着人们对网络上无处不在的科技巨头的更广泛担忧:通过将对如此无处不在的东西的控制权交给一家超国家的科技公司,你就放弃了拥有话语权的能力
净收益是否大于风险?我会说,Reaction不需要资源。“迈耶承认。虽然很多开源项目都遵循着一条熟悉的轨迹--第一次宣布时激动人心,大张旗鼓,然后随着人们失去兴趣而迅速衰落和淡出,但Reaction并非如此。如果Facebook有问题,他们会投入资源解决问题,所以Reaction可以继续前进。
索菲·阿尔伯特亲眼目睹了这一点。虽然致力于Reaction的开发团队-通常是7人,从来不超过9人-与Facebook的庞大规模相比可能看起来微不足道,但这样的问题解决是很少有人能负担得起的奢侈品,尤其是绝大多数依赖志愿者贡献的开源项目。来自Facebook的机构支持,以及受薪长期合同的安全性,还有另一个好处:连续性。那些在这个项目上工作的人有时间和资源去深入研究更深层次的问题,并开发出比快速解决方案更多的东西。团队可以承担可能需要数年时间才能完成的较大项目,因为正是这个长期团队在追求如何(使)更容易构建用户界面这一单一目标。
这种长期思维在许多方面使RESPECT社区受益。最近推出的两个功能,并发模式和悬念,源于Alpert将时间投入到突破极限的项目的能力。现在判断这些想法是否会在这个行业流行起来还为时过早,“她说,但她怀疑这些想法是否会出现在一个由一群贡献者开发的图书馆里,而这些图书馆的资源要少得多。
那么更长期的影响是什么呢?这是试图找出创建网站和Web应用程序的最佳方式的又一步,“Meyer说,他认为除了HTTP和HTML之外,不会有明确的答案。这是我们作为一个行业尝试一种新方法并找出它最适合什么的又一个例子。
Meyer和Mullenweg一致认为,至少这不会是昙花一现。今天,网站与其他网站的不同之处不在于它们的底层架构,而在于它们的内容、设计和社论。Mullenweg补充说:我们已经进入了抽象的层次,这使得更丰富的用户体验和(允许)技术对人们的生活产生更大的影响。对我来说,Web模块化只是一个抽象层。我们如何将简单的东西抽象出来,这样我们就可以把时间花在有趣和新鲜的事情上?
帮助绘制Reaction崛起图表的阿尔伯特认为,短期内不会出现另一种选择。如果您坐下来说,‘我不想使用这些库或框架中的任何一个’,那么您很可能最终会[创建]一个您自己的库或框架。它只是不会那么深思熟虑,也不会有一个社区或广泛的文档围绕着它。
她鼓励其他人考虑Reaction和模块化的更广泛的影响。我认为,任何人都可以在为世界上最大的网站提供动力的相同技术之上构建自己的应用程序,这真的很棒。