深入探究顶级 Web 开发者的痛点

关于开发者最痛点的一系列数据分析,通过多次对话进行收集。

几个月前,Paul Kinlan 发布了有关 2021 年开发者面临的最大痛点的文章,我们有必要在开篇时先介绍一下过去 2 个季度的最新动态。排名有点变动,但排名并未改变。

挑战 2021 年第 1 季度 2021 年第 2 季度 2021 年第 3 季度 2021 年第 4 季度
及时了解网络平台或网络标准的变化。 27% 26% 27% 22%
及时了解大量新的和现有的工具或框架。 26% 26% 25% 21%
让设计或体验在各个浏览器中保持一致。 26% 28% 24% 21%
跨浏览器进行测试。 23% 24% 20% 20%
了解并实施安全措施。 23% 25% 20% 19%

正如 Paul 的博文中所述,我们需要解决这些痛点。为此,我和我的同事 Kadir Topal 采访了超过 18 位开发者。我们的目标是调查并开始探究解决开发者常见痛点的路径。

开发者讨论

免责声明这些洞见是根据与开发者的少量对话得出的。在使用“全部”或“部分”时,它指的是受访开发者,而不是整个社区。需要开展更多研究,才能在更大范围内推算这些数据洞见。

这些对话很好地提醒了我们的 Web 开发者社区多么令人惊叹和多元,我在此感谢所有与我们交流的开发者。其中一些开发者已有超过 25 年的从业经验,还有一些开发者则是在 2020 年才开始使用。一些开发者从正式的计算机科学学位开始其职业生涯,而另一些开发者则独立开始职业生涯。有些开发者通过阅读浏览器的版本说明来积极寻找新功能并及时了解最新动态,而有些开发者则通过同事和朋友了解新事物。有些人认为复杂是工作的一部分,喜欢接受挑战,而另一些人则只想完成工作。在考虑如何解决这些痛点时,我们必须在头脑中保持这种多样性!

所有开发者都有一个共同点,那就是他们都使用 CMS 或框架来完成工作。Wordpress、React、Bootstrap、Angular 和 Tailwind 都提到了,没有开发者在生产环境中使用原版 Web 平台。在开始项目时选择框架是一项挑战,开发者经常会考虑非技术要求。例如,聘请开发该框架的开发者是否容易。如果解决方案中不包含框架和 CMS,我们无法改善开发者的痛点。

谈到网络平台,大多数开发者都将平台视为他们开发应用的基础。这不仅包括网络平台的经典定义,还包括 CMS、框架、工具和 polyfill。在许多情况下,及时掌握最新动态是最大的困难所在。这改变了我们对该问题的解读。现在,我们知道需要更新调查问卷,将其细分为更加清晰明确的不同部分。

另一个产生歧义的领域是网络标准的定义。当被问及符合标准的相关示例时,许多开发者指出很难遵循最佳实践。这是我们需要在调查问卷中明确说明的另一个方面。

开发者在实现特定用例和模式时寻找最佳实践。博文和 StackOverflow 上提到了最佳实践来源,但开发者经常想知道他们阅读的信息是否确实是最佳实践,以及是否使用最新的功能和 API。他们希望通过更官方的来源来阅读这些内容。

要及时掌握支持新用例的功能和 API,会成为一个较小的问题。开发者在平台功能、API 和变更方面面临的挑战会越来越大,从而导致最佳实践发生变化。

大多数开发者都认为,兼容性是最大的挑战之一。通过 Compat 2021Interop 2022 等努力,情况正在改善,但很明显,开发者尚未将其视为已解决的问题。

大多数开发者都会以某种方式使用 polyfill。不过,在许多情况下,使用对开发者是透明的,因为 polyfill 可以通过 Babel 或框架等工具自动添加。对于自行管理 polyfill 的用户来说,弄清楚 polyfill 是否“良好”可能会是一个问题。开发者提到,将 NPM 上的安装量和 polyfill 的创建者用作信号。几位开发者提到,他们正在努力移除 polyfill,但之前由于不再支持 IE 11,而变得不必要的 polyfill。

框架会带来碎片化问题。我们曾收到一些报告,其中指出:开发者被困于某个旧版框架中,因此能够使用的功能会受到限制,但迁移到同一框架的较新版本可能会成本高昂且难以证明。

总结

现代 Web 开发有许多动态元素,包括标准、浏览器、库、polyfill、CMS、框架、最佳实践和工具。这种多元性是 Web 的一大优势,但是目前还是需要由每个开发者单独理解每个部分的内容以及它们之间的兼容性。

我想知道有没有办法让开发者更清楚地了解各个部分之间是如何相互关联的,并在各部分之间更加一致,同时又不影响多样性。这是一个复杂的大问题,很难同时做到。但从何处入手呢?

如果您有看法和意见,想要分享。我也想和你聊聊。我将设置可以直接预约对话的方式,但与此同时,我的私信会在 Twitter 上开放。欢迎与我们联系,我们可以抽出时间聊一聊!