2021 年现代全栈开发人员技术栈
虚拟继承如何解决“菱形”(多重继承)歧义?
随着新工具和技术的不断推出,开发者的技术格局也在不断变化。在经历了大量的面试和阅读了求职网站上无数的职位描述之后,我认为这是 2021 年 JavaScript 开发者理想的现代技术栈。我选择的框架是 React,但你也可以将其替换为 Vue、Angular 或 Svelte。
市面上有无数的工具,所以我只会介绍一些组合起来既可用于个人项目也可用于公司项目的工具。当然,市面上还有很多其他的项目管理工具,例如 Jira、Confluence、Trello 和 Asana 等等。这些工具的选择基于用户的使用体验和偏好,您可以根据自己的喜好进行细微调整和个性化修改。
集中精力于一套完善的工具要简单得多,而不是被过多的选择所淹没,这让有抱负的开发人员很难选择一个起点。
项目管理
- Notion - 用于整体项目管理、文档、注释和 wiki
- Clubhouse / Monday - 使用 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 进行状态管理
- Tailwind - Tailwind 用于编写 CSS,它是一个现代流行的框架,基本上可以让你避免从头开始编写自己的自定义 CSS,从而加快开发工作流程
- CSS/SASS / styled-components - 这可以作为 Tailwind 的另一个选项,为你提供 React 中组件的更多自定义选项
- Storybook - 这是创建组件的主要构建过程,因为它允许模块化。Storybook 的组件在动态库中独立创建,可以在整个企业范围内更新和共享。
- Jest和Enzyme、React 测试库和Cypress - TDD 在将代码和组件发送到生产之前使用单元测试,并使用 Cypress 进行端到端测试
- Sanity / Strapi - Sanity 和 Strapi 是无头 CMS,用于使用 GUI(可选工具)发布内容
- Vercel / Netlify / AWS - CI/CD 提供商与 GitHub 相结合,可以轻松审查和推广开发过程中的变更
移动的
- React Native / Redux - React Native 用于创建跨平台移动应用程序,Redux 用于状态管理
- Flutter/Dart - Flutter 和 Dart 用于创建跨平台移动应用程序