在 2020 年(及以后)成为前端开发人员意味着什么

已发表: 2019-12-19

你有没有想过前端开发者前端部分到底意味着什么? 我曾经问过 Eric Meyer(他建立网站的时间几乎和有网站的时间一样长)他是否知道这个词在早期是什么意思,他说是的。 所以,这不是一个全新的头衔或职位,但多年来它的范围肯定有所变化。

​​“前端”本质上是指网络浏览器。 我认为自己是一名前端开发人员,如果你称我为 Web 浏览器开发人员,我真的不会讨厌它。 但是,这可能不会流行(听起来有点像您构建 Web 浏览器)。 作为前端开发人员,您与 Web 浏览器密切合作并编写在其中运行的代码,特别是 HTML、CSS、JavaScript 和 Web 浏览器使用的少数其他语言(例如,像 SVG 这样的媒体格式)。 或者,也许更常见的解释是,最终被处理成浏览器可以理解的语言的代码。 那是您作为前端开发人员的领域!

浏览器不是单独存在的,它们运行在各种各样的设备上。 我们通过响应式设计时代了解到这一点。 最重要的是:用户在这些设备上使用这些浏览器。 没有人比前端开发人员更贴近用户。 因此,前端开发人员为使用在各种设备上运行的浏览器的人们编写代码。

7 只手拿着不同的移动设备(如手机、笔记本电脑和平板电脑)的图像。
图片来自Shuttershock

​​仅处理庞大的用户、设备和浏览器环境本身就是一项工作! 我认为你不是每天都从哲学上思考你的职位,这很好。 我们只是在这里和你的老爷爷克里斯做一点反思。

​​如果你刚刚从编码训练营毕业,并且你的网站建设经验有些狭窄和新奇,你可以原谅你将前端开发视为“React 的东西”而将后端开发视为“Node”东西”或“Python 的东西”,这些都是当今最热门的口味。 你也没有错。 React 通常用作前端框架(实际上是在浏览器中运行的 JavaScript)。 Node 和 Python 是不能在 Web 浏览器中真正运行的语言示例。 它们是为在 Web 服务器(呃,计算机)上运行而构建的。

​​在这个领域停留一段时间,你会看到这些库、语言、构建过程,甚至是关于如何最好地构建网站的整个哲学都像缓慢的潮流一样来来去去。

​​您可能会看到一些老前辈不时挥舞拳头,大喊我们应该从过去的错误中吸取教训。 您还可以看到一些特别喧闹的年轻人同样高高地挥舞着拳头,宣布过去是无关紧要的背景,不再是有用的话题。

一个孩子很傻,另一个孩子看起来很生气,正在挥舞他的拳头。
图片来自Shuttershock

​​​他们都是对的,大概吧。 只要没有人讨厌,这都是流程的一部分。

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​我发现今天的许多网站确实比过去的网站更复杂。 特别是大的。 社交网络和媒体播放器。 旅游预订网站。 电子商务店面。 工程工具。 这些网站开始很大,而且只会变得更大。 他们是独立的经济体,拥有庞大的团队支持他们。 这种复杂性是网络技术变革的一个原因,也是新旧学校之间摩擦的一个原因(如果我们可以简单地描绘它的话)。

​​许多从事技术工作的人基本上都在为一个大网站工作。 所以我们最常听到这些人的消息。 这些人构建工具。 他们写博客文章,他们继续播客,他们发表演讲。 他们帮助改变技术本身,以满足他们的需求。

​​​一直以来,“前端”仍然只是浏览器。 浏览器语言、HTML、CSS 和 JavaScript 仍然是发挥作用的核心技术。 这些语言在发展,浏览器本身也在发展,但速度更慢。 他们的做法与硅谷最喜欢的口号完全相反:快速行动,打破常规。 它们移动缓慢,很少破坏任何东西。

​​​作为前端开发人员,仍然关心在那些设备上使用那些浏览器的用户。 他们的经验就是我们的工作。 工具只是帮助我们做到这一点,希望如此。

​​那么作为前端开发人员,你在做什么?

  • ​​您正在执行设计,使其在任何屏幕上看起来都不错
  • ​​您正在将语义应用于内容
  • ​​您正在抽象地构建 UI,以便您可以有效地重用部件和样式
  • ​​您正在考虑浏览器中呈现的内容的可访问性
  • ​​您关心网站的性能,这意味着您正在处理浏览器正在使用的资源有多大和多少。

​​​​这些事情一直都是真的,而且永远都是,因为它们从根本上是浏览器级别的问题,而这就是前端。

​​​正在改变的是浏览器能够进行越来越多的工作。 这有各种各样的原因,比如浏览器 API 变得更强大、库变得更高级、计算机变得更好。 多年来,将工作从服务器卸载到浏览器变得越来越有意义(单页应用程序!)。 虽然观看钟摆向后摆动(预渲染站点!)并找到中间立场(JAMstack!)很有趣。

​​现在的前端开发可能还包括:

  • ​​构建整个网站,从最小的组件到整个页面直至 URL 级别
  • ​​从 API 中获取您自己的数据并根据需要操作数据以进行显示
  • ​​自行处理网站的状态
  • ​​通过用户交互和输入来改变/更改数据,并通过 API 将数据保持在状态并返回到服务器

​​​这些都是现在可以在浏览器中完成的事情,让这位老开发者睁大了眼睛。 当您认为这是您已经必须做的所有事情之上时,那真是一大堆责任。

几个不同的人在大干草堆中寻找的图像。
图片来自Shuttershock

​​虽然这些工作的大海捞针多年来一直在增长,但我们作为前端开发人员所拥有的指路明灯并没有太大变化。 我们的核心责任仍然是照顾在设备上使用网络浏览器的用户。 所以我们必须获取一些数据。 这很酷,我们这样做是为了构建一个快速、语义化、可访问的页面,以满足用户的需求。 所以我们需要建立一个设计系统。 这很酷,我们这样做是为了为我们的用户构建一个易于理解的界面,该界面能够在不造成不一致混乱的情况下不断发展。 所以我们必须学习一些新的不熟悉的技术。 好吧,我们的工作是密切关注并确保最终出现新事物以更好地为用户提供我们的网站。

祝你好运!

Chris Coyier 在办公桌前工作的照片。
照片来自飞轮内部摄影师 Kimberly Bailey

下一步:为什么 Chris Coyier 选择 Local 和 Flywheel 为其网站提供动力

了解 Chris 如何使用 Local 和 Flywheel 将他的网站提升到一个新的水平。 看看他最喜欢的功能是什么,他如何依靠 Flywheel 迁移他的网站(免费!)等等! 点击这里了解更多。