前端开发并非需要解决的问题

Avatar of Robin Rendle
Robin Rendle

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200美元免费额度!

HTML 和 CSS 通常被视为负担。

这是我在过去与合作过的工程师和设计师身上观察到的感受,也是更广泛的网络社区中更为明显的观点。您可以在 Medium 文章和独立博客中听到这种观点,无论是在 关于 CSS 的讨论、网络性能还是设计工具中。

这种观点认为前端开发是一个需要解决的问题:“如果我们拥有正确的工具和框架,那么我们可能永远都不需要再编写一行 HTML 或 CSS 代码了!” 哦,天哪,那该是多么美好的梦想啊,对吧?

好吧,实际上并非如此。我当然不认为前端开发本身就是一个问题。

这种感觉背后的原因是什么?嗯,设计师希望拥有能够让他们绘制图片并导出批量的 CSS 和 HTML 文件的工具,就像 Dreamweaver 当年承诺的那样。另一方面,工程师不想为可访问性、网络性能或焦点状态等众多问题而烦恼。边缘情况太多,设备太多,浏览器太多,让人难以应对。工作量实在太大。

因此,作为一名设计师/开发人员,我能够理解这些感受,但当我阅读到有人与 Bootstrap 或设计系统、框架或 CSS-in-JS 解决方案(甚至像 Sketch 或 Figma 这样的设计工具)的关系时,我仍然会感到有点恼火。看起来,我们将前端开发视为一种负担,或者说,我们希望通过工具层来抽象它,从而完全避免它。

我们应该将前端开发视为一项独特的技能,对任何项目的成功都至关重要。

我相信这就是为什么像 Bootstrap 这样的框架和工具如此受欢迎的原因;不一定是它们是一组有用的组件,而是一个纠正固有问题的世界性解决方案。而当我开始在多个前端应用程序的简历中看到“Bootstrap”时,我立即会认为,我们在设计和开发方面的方法将会存在差异。

然而,Bootstrap 并不是一项技能——前端开发才是。

这并不是我仅仅在故作老学究……我希望如此。我真心希望能够有工具帮助我们做出更好的决策,帮助我们以推动网络发展的方式构建更易访问、更快速、更漂亮的网站。也就是说,我相信围绕这些工具建立的社区鼓励了一种忽视前端技能和标准的设计和开发方式。

如果最终会被其他工具和语言转译,学习原生 HTML、CSS 和 JavaScript 有什么意义呢?

不要误会我的意思——我并不认为 Bootstrap、CSS-in-JS、CSS Modules 或花哨的设计工具有什么问题。但围绕这些工具的局限性来构建我们的职业生涯却是一场小小的悲剧。前端开发之所以复杂,是因为设计本身就很复杂。将我们的口语转译成 HTML 和 CSS 需要技巧和细致入微,而且永远如此。这不会通过工具来解决,而是需要长期不懈地努力。

我认为 HTML 和 CSS 值得获得更好的待遇,而不是被处理、编译并输出到浏览器中,无论这是通过某些构建过程、应用程序导出还是我们半懂半不懂的庞大框架库。HTML 和 CSS 是两种值得我们细心关注和重视的语言。编写它们是一项技能。

我知道我在这里站在一个隐喻的讲台上,也许我有点戏剧化,但前端开发并非需要解决的问题。它是网络的基石,而且在不久的将来不会消失。

是吗?