![](http://mona.osgoodschlattersurgery.com/storage/16593/fundamentals-of-front-end.jpg)
由于技术的进步和Javascript的强大功能, 它已经从一个纯粹的基于ui的增强变成了一个网页, 到驱动服务器通过Node(和Deno),甚至成为构建和运行web应用程序所需的唯一工具.
这在前端领域创造了一套广泛的技能. 我们过去只处理HTML, (然后)CSS和JavaScript来构建网页, 现在我们可以编写服务器代码了, 原生移动和桌面应用程序, 好的老式网站. 但是现在,也有许多不同类型的网站. 是SPA吗?? An MPA? 它是服务器渲染的吗?? Client-rendered? 增量、静态呈现?
不同框架的影响
大型JavaScript框架的出现促进了前端技术的转变, 主要的参与者, React, 是否对我们今天的代码编写方式产生了重大影响.
我们现在可以编写真正可维护的代码了, DRY (Don 't Repeat Yourself)和可测试代码相对容易. 更不用说Node/npm生态系统了,它允许你从数以百万计的包中抽取一个来帮助你做你需要做的事情.
然而,这些框架和包可能会带来以下问题:
- 它们被维护了吗??
- 它们会持续多久?
- 如果他们不再保持最新,你如何继续?
当涉及到前端时, 理解使用这些框架可能产生的影响是这门手艺不可或缺的一部分.
React
React有一个特殊的学习曲线. 如果您了解JavaScript,基础知识可能非常简单, 但如果这是你学到的第一件事, 这种知识差距会带来问题. 不知道Javascript的基础知识,不知道它是如何工作的,也不知道它是如何与DOM(网页)交互的。, 你不能真正知道你在用React或任何其他框架做什么.
同样,React通常是为web构建东西的首选工具. 但它真的总是需要吗?
了解所有的选项
在Code, 我们已经研究了几个框架,并基于用例创建了一层框架. 在一个简单的博客上使用React是多余的,因为它带来了一定的开销, 包括你得到了多少代码(因此需要下载才能看到这个页面), 表演, 安装时间和培训. 许多其他更小、更简单的框架在这方面也做得很好. 或者甚至根本不使用框架. 这取决于你想做什么.
这就是为什么掌握前端工程的基础知识对我们Code非常重要的原因. 如果你可以构建一个巨大的React应用程序,它可以无缝地工作,但性能不高, 没有考虑可访问性或语义,并且对使用它的人来说不是直观的, 你还没有涵盖前端工程师最重要的方面. 这些就是我们要寻找的东西.
训练营并不总是解决问题的办法
训练营很擅长教你各种各样的东西, 但它们无法覆盖前端的范围和广度. 除非你从一开始就学习HTML,然后慢慢学习. 但这些都不是我们现在发现人们上的课程.
React仍然是这个行业的流行语, 而Bootcamps的目标是让你尽快到达终点, 教你在React中编写代码所需的内容. 但一次又一次,我们看到人们错过了最基本的:
- The HTML
- 为正确的事物使用正确的标记所获得的语义
- 普通的旧CSS
- 在深入框架之前,介绍香草JavaScript和使用它的基础知识
- 性能(这是一个大问题,因为如果你不理解这些基本原理,React很容易构建性能差的应用程序)
- 可访问性(这也是一个重要因素,因为如果你的一部分用户不能使用它,那么构建它就没有意义了)
学习框架的另一个问题是,它们不会永远持续下去. 没有JavaScript的基础知识, 当这个框架不再被使用时, 你基本上回到了起点,不得不学习另一个框架. Sure, 总有一个学习曲线, 但是当你理解为什么你要用你使用它们的方式做事时,学习起来就容易多了.
我们有什么建议吗??
在Code, 我们最喜欢的电脑爱好者喜欢学习和成长,可以在团队中工作,以提高自己和周围的人. 我们总是倾向于雇佣那些不是100%了解某个框架,但有学习热情的人, 从一开始, 所有重要的事情都是为了把自己和客户的工作做到最好.
这就是我们要找的人. 这包括对我们高层的招聘. 我们仍然要求同样的东西,执行同样的步骤, 无论我们要找的是初级员工还是开发主管.
对于训练营的毕业生来说,当他们花了这么长时间学习后,很难回到起点——这些课程并不便宜——但要真正成为一名优秀的前端工程师, 你需要这样做.
有些课程教授基础知识, 但我们经常被“流行词”和“大事件”所困扰,而这些词大多缺乏寿命, 有一个陡峭的学习曲线,不一定是必需的.
一旦你掌握了基础知识,参加训练营学习一些具体的东西当然也不错. At Code, 我们为计算机爱好者提供培训预算,让他们在自己的领域成长为专业人士所需的任何东西上花费. 这包括培训课程,我们充分鼓励他们这样做.
学习基础知识. 从HTML开始,最重要的是,从语义开始. 语义包括可访问性的基础,HTML本身可以做很多事情. 然后在上面添加CSS并使用JavaScript进行增强. 你会惊讶地发现,你可以用这些技能做很多事情.
…
热衷于构建响应式, 可访问的, 性能, 移动优先的数字客户体验? 查看我们在工程领域的开放职位 here.