我们向我们敬佩的网页构建者提出了相同的问题:今年你从网站构建中学到了什么? 以下是 他们的回答.

我们要感谢我们 ❥ 赞助商 Automattic 使这个网站成为可能。他们制作了许多我们使用的优秀软件产品,比如 JetpackWooCommerceWordPress.com.

学习简化

当我第一次收到这个写作提示时,我的脑海里立即开始思考诸如“今年我学到了什么技术?”之类的东西。但这篇文章并不是真正关于技术的,因为我认为我在过去一年中从网站构建中学到的最重要的是简化。

今年,我明白了保持简单几乎总是最好的方法。实际上,我已经敲打这个鼓很久了,但这几年真的巩固了这种想法。我试图想出一个复杂的技术问题在今年出现的例子,最终的解决方案不是因为简化而产生的,但我却一无所获。当然,想法几乎总是从过于复杂开始的,但我越来越明白放慢速度并细化想法是最好的方法。

Brendan Dawes 创作了这件很棒的艺术作品,巧合的是,我墙上也有一份它的复制品。我认为它完美地阐释了我的工作流程,并作为不断提醒我细化和简化的一个常识。

我经营着 Piccalilli,并在今年发布了我的第一门课程。我也真的很想自发布这些内容。当然,保持真正简单会让我在一个现有的平台上发布这门课程,但我有一些红线。第一个是,我必须拥有所有东西,因为如果一个提供商或平台变成混蛋,那么我就会陷入困境。

另一个红线是,我的内容必须是书面的,而不是视频,这再次使拥有自己的内容变得很重要,因为某些平台可能会在你脚下拔掉地毯。一个很好的例子是Medium不断变化的内容访问规则和不一致的付费墙行为。

最后,所有红线中最重要的红线是:内容必须完全可访问并且易于访问。你可能会认为它们是一回事,但并不完全相同:易于访问意味着如果你从我这里购买内容,你当然会尽可能少地摩擦来获得它。


这很好地把我带回到保持简单。为了使我的宝贵学生能够轻松访问内容,我需要简化他们访问内容的方法,同时将没有购买内容的人排除在外。我的第一个想法——自然地——是采用一些极其智能的复杂架构,因为这就是我们作为开发者所做的,对吧?今年与往年不同的是,我强迫自己简化和细化,因为我不想在编写代码上花费太多时间和精力——尤其是那些我知道将来会困扰我的代码。

所以,再次,考虑到这些红线,最大的问题是,目前,我的网站运行在一个静态网站生成器上——当然是 Eleventy——并且我需要简化以及这个条件让我得出显而易见的结论:使用平台。

简而言之,我使用 Service Workers 为人们提供访问内容的权限。我的网站在 Netlify 上构建了两次。一次是你在 piccalil.li 上看到的内容。但还有一个秘密网站,所有内容都被公开(它实际上并非如此,它就像诺克斯堡)所有内容都可用。当你购买课程时,我的小 API 会跑到那个网站上找到所有相关内容。然后它会将这些内容推送到你那里。然后,平台接管,因为我使用了内置的 CacheResponse API。我为课程中的每个课程创建了一个 Response,然后将其放入 Cache 中。这意味着,无论何时你访问一个课程,你都会得到之前隐藏在你面前的那个版本。除此之外的额外好处是,内容也支持离线优先。方便吧。

当然,这个解决方案依赖于 JavaScript,但实际上并没有太多——尤其是当你将其与产生大量 JavaScript 输出的简单项目(比如 Gatsby 等)进行比较时。

使用平台超级低维护,因为,你知道,它都内置在浏览器中,所以它不会让我整夜担心,担心如果一个 流氓开发者删除了一个包,它会突然崩溃。我也可以把一些星系大脑的东西组合在一起,但这有很大的风险会产生技术债务,并至少违反我的红线之一:使内容完全可访问并且易于访问。平台再次获胜。

如果我将一大堆 JavaScript 推送到一个低功耗设备和/或一个缓慢的连接,那么内容很可能无法到达,或者即使到达,也很可能无法解析。这会疏远很多人,这会违反我的红线。当然,使用这项技术构建网站可以保持我的简单,因为是我写的,但利用平台可以为所有人保持简单——尤其是我,当我需要维护它的时候。我很喜欢这样,很多。