由于我们所处的生态系统发展迅速,我们更倾向于花时间尝试相对较新的发明并在互联网上进行讨论。IT行业的发展热度由来已久,前端开发无疑占据着举足轻重的地位。新年伊始,相信前端开发将成为2020年技术领域最热门的话题之一。以往前端开发者只需要懂一点HTML、CSS或jQuery就可以创建交互式网站.当今的发展需要更广泛且不断变化的技能集,需要掌握工具、库和框架,以及对个人教育的持续投资。近年来,出现了新的软件库和框架,例如ReactJS、VueJS和Svelte,它们利用JavaScript快速支持主要的Web应用程序。本文旨在为前端开发人员在2020年应该关注哪些方面来提高技能提供一些指导,无论你是刚接触编程还是有一定经验。1.代码编辑器/IDE和2019年一样,2020年微软的VSCode将成为大多数前端工程师的首选编辑器。它拥有几乎与IDE相同的功能,例如代码补全和高亮显示,并且可以无限扩展通过扩展市场。特别是它的市场使VSCode脱颖而出。以下是成为前端开发人员的一些很棒的扩展:JavaScript(ES6)代码片段npmPrettierCSSPeekVeturESLintLiveSassCompilerDebuggerforChromeLiveServerBeautify这些都是很酷的例子。在VSCode中还有很多有待发现,如果您还没有使用过它,我建议您尝试一下。2.测试不应该产生未经测试的代码。虽然不对个人项目进行任何测试似乎更方便,但在商业和公司环境中工作时,测试是必须的。因此,对于任何开发人员来说,在他们的开发工作中尽可能多地进行测试是一个好主意。测试用例可以区分如下:单元测试单独测试单个组件或功能。集成测试测试组件之间的交互。端到端测试测试浏览器中功能齐全的用户流程。测试方法有很多,例如手动测试和快照测试。如果你想晋升为高级开发人员或打算在具有一定开发水平的大型企业工作,你应该努力提高你的测试技能。3.Softskills软技能的学习往往被忽视,但对开发者来说却极其重要。虽然它有助于理解技术方面,但知道如何作为一个团队进行沟通同样重要。如果你决定从事技术职业或计划晋升,你应该培养以下软技能:同理心沟通团队合作平易近人且乐于助人耐心开放的思维解决问题责任创造力时间管理永远记住:对高级开发人员来说最重要的事情结果是更多的高级开发人员。4.JAMstackJAMstack一词代表JavaScript(运行在客户端——如React、Vue或VanillaJS)、API(服务器端处理被抽象化,它通过JavaScript访问HTTPS)、标记(模块化标记即是在部署时预先构建))三。这是一种构建具有更好性能的网站和应用程序的方法——降低扩展成本、提高安全性和更好的开发体验。尽管这些术语本身并不新鲜,但它们都有一个共同点——不依赖网络服务器。因此,如果一个单体应用程序依赖于Ruby或Node.js后端,或者依赖于使用服务器端CMS(例如Drupal或WordPress)构建的网站,那么它就不是使用JAMstack构建的。如果你想使用JAMstack,这里有一些好的做法:整个项目由CDN服务由于不需要服务器,整个项目可以由CDN服务,解锁无与伦比的速度和性能。一切都存在于Git中。每个人都应该能够从Git存储库复制整个项目,而无需数据库或复杂的设置。自动构建您可以完美地进行自动构建,因为所有标记都是预先构建的——例如,webhooks或云服务的使用。原子部署为了避免在大型项目中重新部署数百或数千个文件而导致状态不一致,原子部署会等到所有文件都上传后再进行更改。即时缓存失效当网站运行时,必须确保CDN能够处理即时缓存破坏,以便更改可见。Netlify、Zeit等知名主机都支持JAMstack应用,大公司使用它们为用户提供极佳的体验。作为一名前端开发者,2020年肯定有什么事情要搞清楚。如果你想了解更多关于JAMstacks的信息,这里有一些很好的资源:JAMstackJAMstackWTF“JAMstack的新手?入门所需的一切”5.静态站点生成器StaticSiteGenerator结合了服务器端渲染(对SEO很重要)和初始加载时间非常重要)和单页应用程序。如今,即使不需要服务器端渲染,许多项目也会选择SSG,因为像Next或Nuxt这样的解决方案具有方便的功能,例如Markdown编辑器支持、模块捆绑和集成测试运行器。如果你认真对待前端开发,你应该仔细看看以下项目并尝试获得一些实践经验:Next(基于React)Nuxt(基于Vue)Gatsby(基于React)Gridsome(Vue-based)还有很多,但这些可能会在2020年更流行。如果你想了解更多,你可以查看这些资源:Next.jsNuxt.jsGatsbyGridsome6。ProgressiveWebApps(PWA)ProgressiveWebApps(PWA)绝对会是2020年最火的东西,越来越多的公司选择PWA来替代原生应用,为用户提供丰富的移动体验。PWA可靠(即时下载、无需网络连接)、快速(流畅的动画、对用户交互的快速响应)和高度吸引人(原生应用程序感觉、出色的用户体验)。他们使用serviceworkers提供离线功能,使用web-app清单文件提供全屏体验。构建渐进式Web应用程序的原因如下:可以从浏览器添加到用户的主屏幕即使没有网络连接也能工作支持网络推送通知,这会增加用户参与度使用Google的Lighthouse功能如果您想了解有关PWA的更多信息有关更多信息,请随时查看这些额外资源:渐进式Web应用程序“您的第一个渐进式Web应用程序”7.框架2020年,我们可能会看到Facebook的ReactJS和社区驱动的VueJS之间的摊牌。目前,React在GitHub上有140,000颗星(用户评分),而Vue则更多,达到153,000颗星,而Angular只有53,000颗星。2019年React(蓝线)、Vue(红线)、Angular(黄线)和Svelte(绿线)的搜索量支持这一假设——Vue的搜索量略高于React。相比之下,Angular在搜索量上赶不上,Svelte在这个比较中根本没有立足之地。所以在2020年,使用JavaScript框架或者想使用它的前端开发者应该考虑将React和Vue作为首选。如果您从事大型企业项目,Angular是一个有效的选择。如果你想深入了解这些框架,以下资源非常好:ReactVue.js8。GraphQLGraphQL是当下最热门的话题之一,它绝对是2020年需要学习或改进的技能。尽管REST通过提供无状态服务器等不错的概念,已被理所当然地视为设计WebAPI的标准。但是,在跟上不断变化的客户端访问方面,越来越多的人认为RESTfulAPI不够灵活。GraphQL由Facebook开发,旨在解决开发人员在使用RestfulAPI时面临的问题。开发人员通过从RESTAPI提取数据来收集数据RESTAPI为特定目的创建多个端点,例如/users/端点或/tours//location端点。GraphQL的用法将有所不同。开发人员根据他们的数据请求向GraphQL服务器发送查询。然后服务器将返回一个包含所有相应数据的JSON对象。使用GraphQL的另一个优点是它使用了强类型系统。GraphQL上的所有内容都是通过GraphQL架构定义语言(SDL)进行架构定义的。创建模式后,前端和后端开发人员可以彼此独立工作,因为他们都知道定义的数据结构。9.干净的代码能够编写干净的代码是一项重要的技能,也是许多企业急需的技能。如果你想从开发人员职位晋升为高级开发人员,你应该认真学习干净代码的概念。干净的代码应该优雅且易于阅读。需要注意的是要有重点。所有测试都使用干净的代码运行。它们不包含重复项,还应尽量减少类、方法和函数等实体的使用。干净的代码开发人员应该执行以下操作:为变量、类、方法和函数创建有意义的名称函数应该简短并且参数尽可能少。根本不需要评论——代码应该会说话。有关干净代码的更多信息,请查看RobertC。马丁的书和帖子。10.Git毫无疑问,Git是当今Web开发中版本控制的标准。了解Git的基本概念和工作流程对于每个前端开发人员来说非常重要,这有助于确保他们在各种规模的团队中的生产力。以下是您应该知道的一些流行的Git命令:gitconfiggitinitgitclonegitstatusgitaddgitcommitgitpushgitpullgitbranch了解这些命令总是有助于提高效率。但是前端工程师也应该学习Git背后的基本概念。以上是小新整理的2020年前端开发者应该努力学习、提升或掌握的10件重要事情。
