一系列有关开发者主要痛点的深入分析,这些分析是从大量一对一对话中收集的。
几个月前,Paul Kinlan 曾撰文介绍了 2021 年开发者面临的主要问题,因此,本文开头就先介绍一下过去 2 个季度的最新动态。数据有所变化,但排名没有变化。
挑战 | 2021 年第 1 季度 | 2021 年第 2 季度 | 2021 年第 3 季度 | 2021 年第 4 季度 |
---|---|---|---|---|
及时了解 Web 平台或 Web 标准的变化。 | 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,我们就无法解决开发者面临的问题。
说到 Web 平台,大多数开发者都认为平台是他们在其上进行开发的平台。这不仅包括 Web 平台的传统定义,还包括 CMS、框架、工具和 polyfill。在许多情况下,及时了解这些变化是最大的难题。这改变了我们对该问题的解读,我们现在知道需要更新调查问卷,将其拆分为不那么模糊的不同部分。
另一个模糊的方面是网络标准的定义。当被问及有关跟上标准的示例时,许多开发者指出,他们更难以跟上最佳实践。这是我们在调查问卷中需要澄清的另一个方面。
在实现特定用例和模式时,开发者会寻找最佳实践。博文和 StackOverflow 被提及为最佳实践的来源,但开发者常常会怀疑自己所读的信息是否确实是最佳实践,以及这些信息是否反映了最新的功能和 API。他们希望通过更官方的来源来了解这些信息。
跟上能够实现新用例的功能和 API 的步伐,则是小问题。开发者更难应对功能、API 和平台变更,这些变更会导致最佳实践发生变化。
大多数开发者都认为兼容性是最大的挑战之一。通过 Compat 2021 和 Interop 2022 等举措,情况有所改善,但显然,开发者还没有将其视为已解决的问题。
大多数开发者都会以某种方式使用 polyfill。不过,在许多情况下,polyfill 的使用对开发者来说是透明的,因为 Babel 等工具或框架可以自动添加 polyfill。对于自行管理 polyfill 的用户来说,确定 polyfill 是否“合适”可能是一个问题。开发者提到,他们会将 NPM 上的安装次数和 polyfill 的创建者作为信号。有几位开发者提到,他们已采取措施移除因停止支持 IE 11 而变得多余的 polyfill。
框架会引入碎片化问题。我们收到了一些报告,其中指出开发者“卡”在旧版框架中,因此无法使用某些功能,但迁移到同一框架的较新版本可能成本高昂且难以证明其合理性。
总结
现代 Web 开发涉及许多动态部分,包括标准、浏览器、库、polyfill、CMS、框架、最佳实践和工具。这种多样性是 Web 的一大优势,但目前,每个开发者都必须自行了解各个部分以及它们之间的兼容性。
我想知道是否有办法让开发者更清楚地了解所有内容是如何关联的,以及所有部分之间如何协调一致,而不必牺牲多样性。这是一个庞大而复杂的问题,很难一次性解决。但从何处着手呢?
如果您有想分享的观点和看法,我也非常乐意与您交谈。我会设置一种直接预约对话的方式,但在此期间,您可以在 Twitter 上向我发送私信。欢迎与我们联系,我们可以抽出时间聊聊!