2021年WEB全栈开发技术栈
随着新工具和技术的发展,开发人员的技术格局一直在变化。在进行了大量面试和阅读了多数的职业描述后,总结了一下 JavaScript 开发人员应该掌握的现代技术栈,或许你使用的是 VUE
,或者是React
、Angular
或Svelte
等。
在面对无数的工具的时候,选择就变成是个技术活,合理的组合可以提高项目开发效率,让团队合作更加友好。本文将从个人的经验出发介绍2021年全栈开发的技术栈,作为自己学习的目标,但这不唯一。
项目管理
- Notion:用于整体项目管理、文档、注释和维基
- Clubhouse / Monday:用于管理开发过程,这两个都可以合并到
CI/CD
工作流中,可以构建自动化使其自动完成,而更改则反映在暂存和生产CI/CD
分支中 - Slack / Discord:用于团队之间的沟通
设计
后端
- 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 组件是在动态库中独立创建的,可以在整个业务中更新和共享
- Jest 和 Enzyme、React 测试库和 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 用于创建跨平台移动应用程序