在 2020 年(及以后)成为一名前端开发人员意味着什么
已发表: 2023-04-21您有没有想过前端开发人员的前端部分到底意味着什么? 我曾经问过 Eric Meyer(他做网站的时间几乎与网站出现的时间一样长)他是否知道这个词在很早的时候是什么意思,他说知道。 所以,这不是一个全新的头衔或职位,但多年来它的范围肯定发生了变化。
“前端”本质上是指网络浏览器。 我认为自己是一名前端开发人员,老实说,如果您称我为 Web 浏览器开发人员,我也不会讨厌。 但是,这可能不会流行起来(听起来有点像您构建网络浏览器)。 作为前端开发人员,您与 Web 浏览器密切合作并编写在其中运行的代码,特别是 HTML、CSS、JavaScript 和 Web 浏览器使用的少数其他语言(例如,媒体格式,如 SVG)。 或者,也许更常见的解释是,代码最终被处理成浏览器可以理解的语言。 那是您作为前端开发人员的领地!
浏览器不是单独存在的,它们运行在各种各样的设备上。 我们通过响应式设计的时代了解到这一点。 最重要的是:用户在这些设备上使用这些浏览器。 没有人比前端开发人员更接近用户。 因此,前端开发人员为使用可在各种设备上运行的浏览器的人们编写代码。
处理这个庞大的用户、设备和浏览器环境本身就是一项工作! 我认为你不是每天都从哲学上思考你的职位,这很好; 我们只是在这里和你的祖父克里斯一起做一些反思。
如果您刚刚从编码训练营毕业,并且您的网站建设经验有些狭窄且新鲜,那么如果您将前端开发视为“React 东西”而将后端开发视为“Node”,那是可以原谅的东西”或“Python 东西”,这是当今最热门的口味。 你也没有错。 React 一般用作前端框架(字面意思是在浏览器中运行的 JavaScript)。 Node 和 Python 是不真正在 Web 浏览器中运行的语言示例; 它们被构建为在网络服务器(呃,计算机)上运行。
在这个领域停留一段时间,你会看到这些库、语言、构建过程,甚至关于如何最好地构建网站的整个哲学都像缓慢的潮汐一样来来去去。
你可能会看到一些老前辈不时挥舞着拳头,大喊我们应该从过去的错误中吸取教训。 你还可以看到一些特别喧闹的年轻人挥舞着同样高的拳头,宣布过去是无关紧要的背景,不再是有用的话题。
可能他们都是对的。 只要没有人讨厌,这就是流程的一部分。
情况有变。 我发现今天的许多网站确实比过去的网站更复杂。 特别是大的。 社交网络和媒体播放器。 旅游预订网站。 电子商务店面。 工程工具。 这些网站开始规模很大,而且只会越来越大。 他们是自己的经济体,有庞大的团队支持他们。 这种复杂性是网络技术变革的一个原因,也是新旧学校之间摩擦的一个原因(如果我们可以这么简单地描述的话)。
许多从事技术工作的人本质上是为一个大网站工作。 因此,我们最常收到这些人的来信。 这些人构建工具。 他们写博客文章,他们继续播客,他们发表演讲。 他们帮助改变技术本身,以满足他们的需求。
一直以来,“前端”仍然只是浏览器。 浏览器语言、HTML、CSS 和 JavaScript 仍然是核心技术。 这些语言在进化,浏览器本身也在进化,但速度更慢。 他们所做的与硅谷最喜欢的口号完全相反:快速行动,打破陈规。 他们移动缓慢,很少破坏任何东西。
身为前端开发者,还是关心在那些设备上使用那些浏览器的用户。 他们的经验就是我们的工作。 希望工具可以帮助我们做到这一点。
那么作为前端开发者你在做什么呢?
- 您正在执行设计,使其在任何屏幕上看起来都不错
- 您正在将语义应用于内容
- 您正在抽象地构建 UI,以便您可以有效地重复使用部件和样式
- 您正在考虑在浏览器中呈现的内容的可访问性
- 您关心站点的性能,这意味着您要处理浏览器使用的资源大小和数量。
那些事情一直都是真的,而且永远都是,因为它们基本上是浏览器级别的问题,而这就是前端。
发生变化的是浏览器能够处理越来越多的工作。 总的来说,有各种各样的原因,比如浏览器 API 变得更强大,图书馆变得更漂亮,计算机变得更好。 多年来,将工作从服务器卸载到浏览器变得越来越有意义(单页应用程序!)。 尽管观察钟摆向后摆动(预渲染站点!)并找到中间地带(JAMstack!)很有趣。
现在的前端开发可能还包括:
- 构建整个网站,从最小的组件到整个页面,直至 URL 级别
- 从API中获取自己的数据并根据需要操作数据以进行显示
- 自行处理网站状态
- 通过用户交互和输入来改变/改变数据,并将数据保存在状态中并通过 API 返回服务器
这些都是现在在浏览器中就可以完成的事情,让这位老开发者大开眼界。 当你认为它是你已经要做的所有事情的重中之重时,那真是一大堆责任。
虽然这些年干草堆的工作往往会增加,但我们作为前端开发人员的指路明灯并没有发生太大变化。 我们的核心职责仍然是照顾在设备上使用网络浏览器的用户。 所以我们必须获取一些数据。 太好了,我们这样做是为了构建一个快速、语义化、可访问的页面来满足我们用户的需求。 所以我们需要建立一个设计系统。 太棒了,我们这样做是为了为我们的用户构建一个易于理解的界面,让他们能够不断发展,而不会造成不一致的混乱。 所以我们要学习一些新的不熟悉的技术。 好吧,我们的工作是保持警惕并确保新事物最终会出现,以便为用户改善我们的网站。
祝你好运!