2021年WEB全栈开发技术栈

2021年WEB全栈开发技术栈

随着新工具和技术的发展,开发人员的技术格局一直在变化。在进行了大量面试和阅读了多数的职业描述后,总结了一下 JavaScript 开发人员应该掌握的现代技术栈,或许你使用的是 VUE,或者是ReactAngularSvelte等。

在面对无数的工具的时候,选择就变成是个技术活,合理的组合可以提高项目开发效率,让团队合作更加友好。本文将从个人的经验出发介绍2021年全栈开发的技术栈,作为自己学习的目标,但这不唯一。

项目管理

  • Notion:用于整体项目管理、文档、注释和维基
  • Clubhouse / Monday:用于管理开发过程,这两个都可以合并到 CI/CD 工作流中,可以构建自动化使其自动完成,而更改则反映在暂存和生产CI/CD分支中
  • Slack / Discord:用于团队之间的沟通

设计

  • Figma : Figma 是一种跨平台设计工具,内置共享和协作功能
  • Photoshop / Canva : Photoshop 是平面设计工作的行业标准,而 Canva 是一款出色的图像编辑工具

后端

  • Node.js:流行的现代后端框架
  • PostgreSQL : 流行的 SQL 数据库
  • MongoDB : 流行的 NoSQL 数据库,通用、基于文档的分布式数据库,帮助现代应用程序开发人员迎接云时代的到来。
  • HarperDB :流行的混合 NoSQL/SQL 数据库

前端

  • NextJS / Create React App / Redux
    • NextJS 用于生成静态网站
    • Create React App 创建单页 React 应用程序的方式
    • Redux 是 JavaScript 应用程序的可预测状态容器,用于编写行为一致、在不同环境(客户端、服务器和本机)中运行且易于测试的应用程序
  • Tailwind :有助于编写CSS,因为它是一个现代流行的框架,避免从头开始编写自己的自定义CSS,从而加快开发工作流程
  • CSS/SASS / styled-components:css预处理器,可以作为一个不同的选项来使用,为React中的组件提供更多定制选项
  • Storybook:这是创建组件的主要构建过程,允许模块化,Storybook 组件是在动态库中独立创建的,可以在整个业务中更新和共享
  • JestEnzymeReact 测试库Cypress :TDD 在将代码和组件发送到生产环境和 Cypress 进行端到端测试之前对其进行单元测试
  • Sanity / Strapi:Sanity和Strapi是 headless CMS,并使用GUI(可选工具)发布内容。
  • Vercel / Netlify / AWS : CI/CD 提供商与 GitHub 相结合,可以在开发更改时轻松审查和驱动更新

移动端

  • React Native / Redux :用于创建跨平台移动应用程序的 React Native 和用于状态管理的 Redux
  • Flutter/Dart : Flutter 和 Dart 用于创建跨平台移动应用程序