2024版,资深BAT前端架构师联袂出品,突破技术瓶颈,挑战前端P7。
本阶段我们将深入讲解脚手架的实现原理和开发流程,并带同学们一起开发大厂级别imooc-cli脚手架,完成项目创建和组件创建的两种功能。通过这阶段的学习大家将深入了解脚手架的实现原理,获得大量脚手架开发过程中的最佳实践。
本阶段按照大厂标准流程完成开发,从最开始的项目需求分析,技术文档撰写,到基础知识的串讲和深入,到编辑器的第一部分的编码,最后到业务组件库的编码,打包以及发布,站在架构师的视角,完成一个完整的研发过程。
第8周
前端基础技术回顾和巡礼
在课程正式开始之前,扎实的基础知识是本课程的必备条件。这一周,让我们一起来温习 - typescript,vue3,ant-desing-vue 以及 webpack 和 rollup 的基础知识。
第10周
编辑器基本布局,及业务组件库初步开发
本周从编辑器开始开发,完成编辑器的基本布局,并且分析组件属性和修改组件属性的对应关系,创建业务组件库的第一个组件,并且完成最简单的编辑器交互,最后提出了业务组件实时实现编辑更新的解决方案。
第11周
掌握测试基本工具,给组件库添加单元测试
本周从什么是测试入手,简介了测试的基本概念,介绍通用测试工具 Jest 和 Vue 测试框架 vue-test-utils,然后使用这两种工具完成LText组件的单元测试。
第13周
业务组件库打包、发布,添加 CI/CD
本周继续丰富业务组件库的功能,将组件库剥离成单独的代码库,使用 rollup 打包成多种 JS 模块形式,发布到 NPM,最后还使用 travis 完成了 CI/CD 流程。
本阶段主要有两大任务:第一,搭建开发环境;第二,开发 B 端和编辑器的 server 端。包括:技术选型,搭建 CI/CD 流程,设计和开发基本的 API ,对接需要的第三方云服务器。
第14周
后端技术选型以及基础知识巩固
在项目开始之前,我们需要根据需求分析完成技术选型,以及基础的夯实。本周深入浅出的介绍了后端框架以及数据库从选型,基础再到深入,最后得出最佳实践的过程。
第15周
用户系统设计与实现
正式开始项目,本周我们从实现三种用户登录的实现方式入手,在学习的过程中,引出并学习 Redis,鉴权,Cookie-Session 以及 JWT 和 Oauth2 前后端分离开发的实现方式。
第16周
文件上传(本地 + OSS 云服务)
继续深入项目,这周着重三大块内容,Stream 的学习,HTTP 中文件处理(本地以及云服务),SSR 实现 H5 作品展示,最后使用 Casl 完成 RBAC 用户权限控制。
第17周
部署 以及 CI/CD
项目开发结束,进入部署环境,从传统的部署到 Docker 容器化部署,Nginx 转发配置,以及使用 Github Actions 完成 CI/CD 自动部署。
本阶段通过一系列自定义组件和第三方库的使用,完成编辑器的交互,之后引入后端接口完成前后端的整体功能。最后对项目进行必不可少的深度性能优化。真正掌握前端复杂项目的编码和抽象能力,进一步丰富自己的前端架构能力。
第18周
编辑器组件图层面板功能开发
本周继续进行属性编辑面板的功能,完成属性的分组功能,完成图层面板的显示 隐藏 锁定 排序等功能。最后完成背景设置面板的功能,在这个过程中,学习一系列第三方库的使用。
第21周
整合开发 B 端其他页面的各种功能
这周来完成其他页面的分析和编码工作,在这个过程中我们最重要的是掌握几个重要的第三方库以的用法及它们的原理,以及通过一个比较复杂的钩子函数加强 vue3 composition API 的应用。
第23周
学习使用Nuxt创建管理系统:基础学习
本周是 2024 年最新更新的内容,学习使用 Vue 最新的 SSR 框架 Nuxt 来创建一个管理系统,本周专注于 Nuxt3 以及 Nitro 的基础以及进阶知识同时完成管理系统身份认证的开发。
第24周
学习使用Nuxt创建管理系统:实战进阶
本周是2024年最新更新的内容,学习使用 Vue最新的SSR框架Nuxt来创建一个管理系统,本周专注于典型的管理系统开发场景:表格数据的复杂交互处理,复杂多表单的渲染交互处理以及最终的部署上线。
本阶段有两个任务。第一,开发除了 B 端和编辑器服务端之外的其他服务端项目,例如 H5 端,统计服务,后台管理;第二,将服务端发布上线,然后进行线上运维监控。经过这个阶段,服务端就可以在线上稳定安全的运行了。
本阶段完成脚手架的发布模块,包括 git flow 自动化、基于 WebSocket 开发的云构建模块、基于阿里云 OSS+CDN 开发的自动化发布服务、前端组件平台等等。大家将真正达到 P7 级别的架构能力和开发能力。
第30周
脚手架发布模块架构设计和核心流程开发
完成项目开发后,需要进行前端发布,脚手架的@imooc-cli/publish子项目将完成项目和组件的标准发布流程,本周将完成publish包的架构设计和核心流程开发
第31周
脚手架发布模块git自动化流程开发
本周将完成项目发布过程中的 git flow 流程开发,遵循标准的 git flow 流程,学会可快速改造和优化日常开发中的 git 处理流程,巩固 git 的各种使用技巧和方法。
第32周
脚手架发布模块云构建系统开发
git flow流程完成后,我们将进入脚手架中最重要也是难度最高的一个环节,即云构建系统开发,本周我们通过egg.js+WebSocket+Redis最终实现完成云构建模块开发。
本阶段主要介绍架构师必备的一些软技能,包括项目管理,研发流程规范,多人协作开发,团队管理,有效沟通等。让学员在开发、架构技术增长的同时,也有相应的软技能匹配,增强整体竞争力,达到企业对架构师要求的各方面能力。