我的 2020 年被我花费在分析关于 CSS 在现实世界中使用情况的数据上的大量时间所占据,这些数据来自 HTTP 档案的 Web 年鉴 CSS 章。结果让我大开眼界。可以说是一个警钟。我们花费了太多时间在尖端技术的泡沫中,以至于我们失去了对网页真正构建方式的联系。大多数网页更倾向于使用老旧的、稳定的技术,而不是新的炫酷技术。
CSS-in-JS?仅 2% 的网站 使用它。
React?仅 4% 使用它。
Service Workers?不到 1% 使用它。
Houdini?实际上 0% 使用它。
没有人再使用 jQuery 了,对吧?错了。它出现在所有网站的 83% 上!每个人都使用 Jamstack 而不是臃肿的 CMS,对吧,对吧?错了。静态网站生成器在不到 1% 的网站中使用,WordPress 驱动着三分之一的网页。
我们发现很多代码都可以追溯到十年前。当新技术最终被广泛使用并出现在这些统计数据中时,它通常是因为主要驱动力是一个流行的库或框架。实际上,我们(标准人员、浏览器实现者等)正在为工具作者构建技术,而他们才是真正为普通网页开发者构建技术的人。这是一个相当大的视角转变,不是吗?
这种数据对那些被迫学习每一个新功能和 API 否则会感到一文不值的人来说是一种安慰剂。
谢谢。这很令人欣慰。
这就是为什么 IE 如此难以杀死,即使我们认为没有人使用它。作为互联网早期就进入科技行业的人,我们忘记了非技术人员的感受。
& WP 使用 jQuery,我在 WP、perl、react 等上运营业务……
我仍然需要时间来迁移我的网站,最近我开始使用 WP 作为带有 react 的无头后端。
这对我来说一点也不奇怪。当每天都要“跟上专业文献”时,阅读你、Chris Coyier、Šime Vidas 等等的文章,对于经验丰富的开发者来说,很容易在不断涌现的“新”网页技术中迷失。例如,Coyier 非常喜欢他的 Jamstack、Eleventy 等等。当然,别误会我的意思!因为你们需要每天想出新的东西来写。
但我们不要忘记,像我这样的开发者,他们处于专业人士的顶层之下,关心的是老式的 CMS 和“昨日的技术”,而这些技术仍然为网页上的大多数网站提供动力。
完全同意!我在非盈利领域工作,从头到尾都是 WordPress,包括 Kinsta、Cloudflare、Wordfence 和 LetsEncrypt。对于 Pantheon 上的可怜虫们,我使用 GIT 和 Terminal,它有一长串“有问题”的插件。我喜欢 Wix 的新编辑器 X,但不包括 Wix 本身…… 即使对于普通用户来说,WP 也太难了。这些组织,无论他们是否知道,仍然需要一个网站管理员。
这条评论在这里非常到位。我们许多开发者经常忘记的是,虽然我们对新技术和更好的做事方式感到惊叹,但我们的客户是最终用户,是普通人,他们根本不在乎你是否使用了 React、JAMStack 或 Svelte,或者 Laravel 或 .Net。
他们关心的是网站看起来不错,并能为他们的商业客户服务。
我倾向于忽略那些吹嘘一种编程语言或框架优于另一种语言的文章。老实说,如果你愿意,你可以用沙子构建你的网站,只要它设计良好,运行良好,并且可以轻松流畅地进行编辑。
Angular、React 和 Web Components…… 我在过去四年中使用它们来创建 Web 应用程序。
我没有将它们用于网站。但是,我很想尝试使用 next.js 作为静态网站生成器。
确实如此。
此外,大多数稳定的服务器/服务都是基于 PHP 或 dot net 的…… 即使是 node js 也少得多。有一个非常简单的解释……
当你需要从花园里摘一朵花时…… 你会用手,而不是坦克。
用 Angular 构建网页在各个方面都很糟糕。
使用框架编写 Sql 查询是愚蠢的…… 使用 SQL。
我见过太多项目被命名为项目,因为没有人知道客户的基本需求,他们用自己所知的东西来解决客户的愿望,而不是客户需要的。
框架用于简单的 sql 查询……
框架用于创建简单的表格并将你的值放入其中……
框架用于完成简单的 Js 需求…… 例如在 Dom 中添加按钮或元素。
Jquery 很棒,它使 JS 变得超级简单。
TypeScript 让你知道你不了解 JS 和 Dom。
学习 HTML,它很容易。
学习 Css,它是 HTML 的结尾,而不是一个不同的东西!!!!
学习 JS Vanilla,因为它今天非常容易。
想要更多吗?!
学习 PHP 或 NODE.JS 来控制你的前端后端。
最重要的是…… 要理解,每个方面都有很多东西……
前端 - 没有任何 Angular/React 或这些糟糕的框架会让你理解后端,也不会帮助你构建一个。
后端 - 没有任何 Angular/React 或这些糟糕的框架会让你理解前端,也不会帮助你构建一个。
要在纸上画一个圆圈,使用铅笔和纸。
练习,之后你可以使用钢笔。
在没有学会使用铅笔之前就使用钢笔可能也可以…… 但你将不会学会
铅笔的所有能力……
作为现实世界中的网页开发者(现实世界的网页开发者?),我可以确认那些给我发工资的人的优先事项是:它是否有效,我们 15 年前写的代码是否仍然有效,以及我们能在星期五之前完成这 3 个新功能吗?我的日常工作中并没有使用尖端技术。当某项技术变得足够稳定/支持到可以开始使用时,我非常感谢那些花时间思考、编写和制作演示的人。如果在谷歌搜索中出现的所有内容都是一个规范文档,我们可能永远不会实现任何新的东西。未来现实世界的网页感谢你。
这很棒。对于一篇简短的文章,它表达了很多意思。我认为,只有 4% 的网页运行在 React 上,但令人着迷的是,根据现有的招聘信息,你可能会认为这个比例是 96%。
前端招聘信息经常是关于尖端技术,而许多公司可以使用专门用于支持当前/遗留技术的人员。
这也可能是因为许多招聘信息是关于内部业务应用程序开发,或者 B2B 云/本地应用程序,这些应用程序通常不会直接出现在搜索引擎结果中。
这些应用程序通常是使用重量级框架的正确用例。我在前端开发领域工作了 11 年,使用过多个库和框架(JQuery、ExtJs、backbone.js、angularJs、React、Angular),并且从未考虑过 SEO,因为产品没有列在搜索引擎中。
在网页背后还有一个隐藏的网页。
作为一名喜欢阅读(并理解其中一些)新内容,但在实际应用中使用 PHP、MySQL 和 vanilla JS 的人,这对我来说简直是天籁之音。
鲁德派万岁。
Houdini 对我来说一直是一个梦想。
或者某种欺骗?
这些结果一点也不令人惊讶。
我还没有见过静态网站生成器的任何一个引人注目的现实世界用例,而 workers 通常属于“很酷,但没有必要”的范畴。当然,大多数开发网站喜欢谈论 Jamstack,但它在商业/企业中的缺乏采用表明,它可能不是许多开发者认为的惊人新事物。
同时,WordPress 和 jQuery 仍然易于学习并且高度可扩展,继续受到新老开发者的欢迎。
静态网站生成器的引人注目的现实世界用例?它是手动创建网站最简单的方法。我不确定你如何避免看到这个相当重要的用例。
哈哈,如果用这种方式看统计数据是正确的就好了。就好像有一天,外星物种来访问地球,观察了整个地球人口,然后宣布地球上只有两种性别。
如果我们如此依赖统计数据,那么作为开发人员,我们真正应该关注的是互联网上排名前500位的网站,它们占据了大部分的收入,并与这些技术栈保持同步。
没有必要用最前沿的框架来过度复杂化项目,我们应该使用适合任务的工具。
大多数企业,尤其是那些刚刚起步的企业,不会付给你5万美元来用Laravel、Vue.js或下个月出现的任何框架为他们构建一个定制的网站。
“就好像有一天,外星物种来访问地球,观察了整个地球人口,然后宣布地球上只有两种性别。”
他们对超过99%的人类来说是正确的。这不是一个最好的例子。;)
我学习和使用新的技术工具来进行有趣的副项目。但在工作中,我的雇主期望稳定性、广泛的支持、可维护性和快速交付——jQuery非常适合这些。:)
作为一个毫不掩饰的WP/JQ用户,我喜欢这个。像我这样的开发人员为需要完成工作的客户完成工作,客户一般不在乎你用什么技术创建它,只要满足了业务需求就行了。
我相信你提到的这种视角缺失主要是因为 web 开发社区论坛和会议上充斥着大多数拥有特定目标工作的企业开发人员。作为一个自由职业者,当我需要在项目中引入其他人支持时,我几乎总是选择另一个自由职业者。这主要是因为他们往往拥有灵活性以及“让我们完成它”的心态,而不是不断地试图将新技术塞进项目中。
除了所有这些,对于网站来说,尤其是任何目的的小型企业网站来说,易于开发的连续性非常重要。如果一家公司花了很多钱购买了一个网站,而开发人员或代理商由于某种原因不再参与,那么祝你好运找到一个真正可用、价格合理且可靠的开发人员或代理商来按项目收费来开发你的CSS-in-JS/React/Houdini/流行框架网站。
我更喜欢基于解决方案的方法。没有必要用最前沿的框架来过度复杂化项目,除非它们真正需要。
这些统计数据很有趣,大约一年前我曾争论说我兼职教授的培训机构应该停止教授mongo,转而教授mySql,原因就是这个。
如果根据网站流量来跟踪,看看数字是否会发生变化会很有趣。React、PWAs 和静态生成器可能会有更大的影响……在大规模情况下,它们的设计就是为了发挥优势。
这里提出了一些很好的观点,尤其是与 WordPress 的使用相关的观点。
在我从事网站工作的经验中,它总是回到一套对项目有效的工具。其中之一是能完成工作的页面构建器。众所周知,这些工具往往不是许多人所追求的潮流。
鉴于此,我经常被建议去学习一些新的花哨框架。一开始很有趣,但很快就会变得乏味。通常在这个阶段,我会偷偷地去看看提出这个建议的人的工作,我发现他们的结果非常基础。感觉所有的脑力都花在了代码的实现上,而没有多少精力留给设计。
不要误会我的意思,我相信在熟练的人手中,这些框架会创造出艺术作品。
我在 WordPress 中使用的块编辑器上也看到了这种开发人员/框架倦怠现象。块编辑器本身虽然有争议,但实际上变得非常有用且令人愉悦。问题在于,人们关注的重点是全站编辑,而当其他方面被忽视时,这不是正确的优先级。例如,数据输入用例,在后端,您希望显示一个简单的表单来获取数据,这些数据会插到前端模板中。您不想向用户呈现一个用于内容创建的自由格式机制,即块编辑器。这样做只会分散用户/客户的注意力。现在,只需在 WordPress 核心进行简单的更新,就可以轻松地在帖子类型上实现禁用块编辑器界面并保留自定义字段的元框选项。
块编辑器的另一个错误是它允许第三方供应商创建任何可以想象到的瑞士军刀块。人们已经观察到,这会导致安装膨胀,并且意外删除这些块会导致孤儿代码,而下一位开发人员/用户必须对其进行解读。
也许让块编辑器提供一组用于元素和布局的标准块,并提供一个 API,让第三方可以挂钩自己的铃铛和口哨以及设置 UI,这更有利于最佳实践。所有页面构建器都将符合此标准。关闭或更改页面构建器/主题,至少您的内容和布局将保持在合理的状态。这能把事情做成。
我们在块编辑器团队中看到的现象是,人们对他们使用的代码非常热情,但对最终用例关注不够。
回到数据输入,考虑到 WooCommerce 仍然存在于经典空间中,而经典空间很快就会被淘汰,人们不禁要问 Automattic 对 WooCommerce 的计划是什么。
@Keith Kritselis 补充了一点,创建者应该将其纳入统计数据:网站流量。
这就是基于解决方案的方法的闭环,所有其他评论者都提到了这一点。大型网站/应用程序需要大型团队的支持,而大型团队需要的技术与街角的咖啡馆需要的技术不同。
我喜欢 jQuery,它为进入 JS 开发提供了一种绝妙的方式,并且简化了许多任务。
是的,原生 JS 可能更快,并且可以消除膨胀,但在我的经验中,业务应用程序的性能问题源于服务器端代码。如果我必须选择在哪里集中精力以提高性能,那么绝对不是用原生 JS 替换 jQuery。
我们不仅要关注应用程序的性能,还要关注开发人员的性能。
验证这一点很有意思,但这并不奇怪。问题是你是否关心“网站”作为你的指标基础,或者更切实可行的价值指标,例如网站流量或产生的收入。
我敢打赌,全球 4% 的“农民”使用机器人和自动化,但他们生产了世界上 99% 的食物。
React 仅被 4% 的网站使用,但这些网站占市场流量的比例是多少?他们是否能够更容易地执行新想法,因为他们使用的是 React 而不是 jQuery?
Alex,你的观点也成立。我曾经尝试过 React,但并不需要理解它的工作原理,因为我网站上的页面构建器在幕后使用了它;对我来说,React 是一个封装的实体。
这有点像 Matt Mullenweg 的说法,我们需要深入学习 javascript 才能使用 WordPress。对于平台上的很多用户来说,这有点言过其实。我涉猎 JS 和 jQuery,但都是按需学习,在需要时学习。对于我为预算有限的客户构建的网站来说,这已经足够了。
wordpress 占据了公共网络的 30%。公共应用程序的 83% 使用了 jQuery。同一技术被反复使用很多次(这是好事)。
然而,SPA 更多地用于身份验证和登录。
虽然这可能会使一些数字相对化,但你的观点非常明确。
我也有过同样的第一印象,但实际上,我们需要更深入地研究这些统计数据。
1. 它统计了所有网站,而不是过去一年创建的网站。
2. 像亚马逊、Facebook、谷歌等产生收入的公司,会将其页面从存档机器人分析中排除。
3. 这些公司为前端人员的工作付费。统计数据中大多数网站都是免费完成的。因此,不同的市场需要不同的工具,在解读时要谨慎。
我真的以为世界比这更先进呢 ;-)
WordPress 83%?WTH。我已经使用静态网站生成器很长时间了。刚从 Middleman 切换到 Gatsby(永远不会回头)。长期以来也一直在使用无头 CMS。拥有一个性能良好的、封装良好的网站,真是太令人开心了。
但公平地说,掌握 Gatsby/React 比在 WordPress 中点击一些菜单要难得多。所以这可能是数字如此之高的原因。
marc
“没有人再使用 jQuery 了,对吧?错。它出现在所有网站的 83% 上!”
“出现”和“使用”是两码事。:)
jQuery 已死。尸体还在那里。
很棒的文章和上面的评论!很高兴知道我的直觉和经验与许多经验丰富的 web 开发人员的评论以及统计数据相吻合。
在回顾了 Web Almanac 上所有 2020 年网站数据后,很明显,进入这个行业的新人并没有像他们声称的那样通过新的脚本框架和工具集来改进 Web。
这些静态页面 JavaScript 包现在塞进我们手机浏览器的脚本,平均接近 500+ 千字节,在它们的小 CPU 上的线程时间高达 800-8,000 毫秒,这太疯狂了! 所以每个应用程序都需要兆字节的脚本才能打印一些文本? 目前的趋势也一直是现代化、压缩、预处理和填充基本 css 和 html,它们的占用空间已经很小了,但随后会下载兆字节和兆字节的 ECMAScripts 脚本? 这充其量似乎违反直觉!
20 年前 Web 的核心是远离重量级客户端应用程序,这些应用程序具有厚重的脚本依赖项和苛刻的 CPU 周期,并加入轻量级服务器模型,其中一小块 HTML 被发送到浏览器并缓存。 内容曾经是王道,而不是脚本。
在过去的 10 年里,孩子们在移动设备上使用 JavaScript 倒退回了旧的桌面模式! 难怪没有广泛采用。 我预测未来也不会。 看看这些数据,我们都应该意识到,旧的将再次成为新的。 简单的服务器发送微小的 HTML 和 CSS 页面不仅带宽低,而且速度极快,它已经存在了将近 30 年,而且没有任何问题! 为什么给可怜的移动用户注入兆字节的脚本。 我真的认为 2020 年的数据告诉我们,企业中的程序员以及那些仍然坚持使用 WordPress 和旧框架的人,并没有因为速度问题而苦恼,他们不需要新的 Web 工具或模型,也没有开发上的困难。 是的,JQuery、PHP 和 .NET 仍然有效且可靠。 原来的万维网没有改变。 HTML、CSS 和服务器仍然驱动着大部分在线内容。 可悲的是,这证明了我们多年前就知道的,“JavaScript 仍然是邪恶的”。 而且这是来自 Angular 专家的话。
这些新的重量级客户端框架有它们的位置,不要误会我的意思。 在内部网上,它们在我使用它们的地方已经证明了其有用性。 但它们并不比一个公司今天用来交付包含数百万用户消费信息的普通 HTML 页面的旧的开发解决方案更好。
我真诚地希望这里试图通过开发所有这些脚本化的开源空中楼阁解决方案来重塑轮子的年轻人能够理解,在你们开始玩 JavaScript 之前,网络从未崩溃过! 你们只是缺乏纪律(或指导)去理解它以前是如何运作的,然后你们就挖了自己的兔子洞。 但请继续挖!