体系课
下载APP
5688.00 6680 优惠价

7天可退款

服务
系统学习
35周
教学服务
21个月
教学模式
学练一体化
课程证书
通过得证书

课程大纲及学习周期安排

坚持学习的路上,我们为你画好成长路标

阶段一:课程设计及前端创建脚手架开发

  • 第1周
  • 第2周
  • 第3周
  • 第4周
  • 第5周
  • 第6周
需求分析和架构设计:做什么,如何做?

开工之前,先来看看我们到底要做一个什么项目,有哪些功能。然后站在上帝视角,从整体的架构层面,该如何设计该项目。

课程安排
  1. 1、需求分析-了解软件开发生命周期
  2. 2、技术整体架构
  3. 3、研发流程优化背后的思考
  4. 4、为什么要优化前端研发流程
  5. 5、前端监控体系+测试体系分享
脚手架架构设计和框架搭建

万丈高楼平地起,讲解大厂级别的脚手架是如何设计的,从头开始绘制架构设计图,并完成脚手架的框架搭建。

课程安排
  1. 1、掌握脚手架的实现原理
  2. 2、掌握脚手架管理工具Lerna和常用操作
  3. 3、基于Lerna构建脚手架项目
  4. 4、图解脚手架架构设计
  5. 5、脚手架工程体系设计
  6. 6、深入阅读Lerna源码,剖析require.resolve原理
脚手架核心流程开发

本周将完成脚手架内核@imooc-cli/core子项目设计,并开发脚手架的执行准备阶段和命令注册阶段。

课程安排
  1. 1、脚手架核心子项目core包架构设计
  2. 2、掌握脚手架node运行版本限制
  3. 3、掌握脚手架root自动降级
  4. 4、掌握npmlog实现自定义脚手架日志
  5. 5、掌握脚手架用户主目录检查
  6. 6、掌握脚手架入参解析和环境变量配置
  7. 7、运用npm API实现脚手架自动更新
  8. 8、掌握脚手架命令注册原理
  9. 9、运用commander简化脚手架命令注册
  10. 10、node支持ES模块化标准的两种方法
脚手架命令注册和执行过程开发

本周将完成脚手架内核@imooc-cli/core子项目的执行命令阶段,我们将采用分离式架构设计、缓存结构设计大幅提升脚手架的下载速度和执行性能。

课程安排
  1. 1、掌握脚手架执行命令原理
  2. 2、掌握高性能脚手架架构思路和具体方法
  3. 3、封装通用的npm包管理类Package
  4. 4、掌握API方式完成npm包下载和自动更新
  5. 5、掌握脚手架缓存结构设计
  6. 6、掌握Node多进程的四种实现方案
  7. 7、深度解析Node多进程child_process库源码
脚手架创建项目流程设计和开发

本周将开发脚手架创建项目的@imooc-cli/init子项目,完成init包的准备阶段和下载模板阶段开发。

课程安排
  1. 1、脚手架项目创建能力架构设计
  2. 2、深入理解命令行交互原理和inquirer的应用
  3. 3、掌握服务端框架egg.js的开发方法
  4. 4、掌握云mongodb和egg接入mongodb方法
  5. 5、运用egg.js+mongodb构建项目模板API
  6. 6、掌握正则表达式并完成项目名称自动格式化
  7. 7、掌握spinner实现命令行loading效果
  8. 8、完成标准项目模板开发
  9. 9、完成项目模板的缓存和下载功能
脚手架项目和组件初始化开发

init包将完成项目和组件的初始化过程,本周将完成init包的安装模板阶段。

课程安排
  1. 1、掌握脚手架标准安装模式和自定义安装模式实现原理
  2. 2、掌握ejs模板的实现原理和开发方法
  3. 3、基于ejs模板完成项目模板动态化
  4. 4、完成标准组件模板开发
  5. 5、完成项目或组件项目标准安装流程开发
  6. 6、完成自定义项目模板初始化流程开发
  7. 7、ejs源码解析——彻底搞懂ejs模板编译和渲染原理
  8. 8、require源码解析——彻底搞懂Node.js模块加载原理

阶段二:B端项目分析和设计,编辑器初步编码,业务组件库的搭建

  • 第7周
  • 第8周
  • 第9周
  • 第10周
  • 第11周
  • 第12周
  • 第13周
B端项目需求分析 和 架构设计

对于一个复杂前端项目,在编码之前,分析过程可谓是“磨刀不误砍柴工”,本周我们来给大家讲解怎样一步步抽丝剥茧,从需求到难点,再到系统整体设计。

课程安排
  1. 1、整体需求分析初步 和 细化:编辑器需求分析
  2. 2、编辑器开发的难点分析 和 难点可能使用解决方案
  3. 3、整体架构设计
前端基础技术回顾和巡礼

在课程正式开始之前,扎实的基础知识是本课程的必备条件。这一周,让我们一起来温习 - typescript,vue3,ant-desing-vue 以及 webpack 和 rollup 的基础知识。

课程安排
  1. 1、Typescript - 进入类型的世界
  2. 2、vue3 以及 新版全家桶 vuex,vue-router
  3. 3、ant-design-vue - 完美支持 vue3 的组件库
  4. 4、webpack 和 rollup - 现代打包工具双雄
项目整体搭建

万事开头难,本周我们使用技术储备中简介的知识,来搭建项目的大体结构和框架,包括 项目创建,代码结构,基础路由,基本布局和 基本的全局数据结构。

课程安排
  1. 1、使用 imooc-cli 创建项目
  2. 2、规定代码规范和项目结构 ,安装编辑器辅助插件
  3. 3、使用 vue-router 添加基础路由结构
  4. 4、使用 ant-design-vue 搭建基础布局
  5. 5、使用 vuex 创建项目的基本数据结构
编辑器基本布局,及业务组件库初步开发

本周从编辑器开始开发,完成编辑器的基本布局,并且分析组件属性和修改组件属性的对应关系,创建业务组件库的第一个组件,并且完成最简单的编辑器交互,最后提出了业务组件实时实现编辑更新的解决方案。

课程安排
  1. 1、创建编辑器的基本布局
  2. 2、分析画布组成元素的组件属性
  3. 3、创建第一个组件 LText
  4. 4、属性和编辑组件的实现方案
掌握测试基本工具,给组件库添加单元测试

本周从什么是测试入手,简介了测试的基本概念,介绍通用测试工具 Jest 和 Vue 测试框架 vue-test-utils,然后使用这两种工具完成LText组件的单元测试。

课程安排
  1. 1、Jest 简介和基本用法
  2. 2、vue-test-utils 的基本用法
  3. 3、为 Ltext 添加测试用例
通用上传组件开发以及使用

本周主要从业务组件 LImage 入手,从易到难使用 TDD 开发一个复杂的通用上传组件,之后将组件用于左侧组件列表中,完成图片组件的功能。

课程安排
  1. 1、为通用上传组件写需求。
  2. 2、从易到难渐进式使用 TDD 的混合方式开发一个复杂的上传组件。
  3. 3、将组件用于左侧组件列表用于创建 LImage 组件。
  4. 4、衍生出来的一系列扩展知识:比如 Vue3 组件的类型,Vue3 通信的几种方法,以及 Element Plus Upload 组件的源码分析等。
业务组件库打包、发布,添加 CI/CD

本周继续丰富业务组件库的功能,将组件库剥离成单独的代码库,使用 rollup 打包成多种 JS 模块形式,发布到 NPM,最后还使用 travis 完成了 CI/CD 流程。

课程安排
  1. 1、创建单独的组件库代码库
  2. 2、添加剩余的业务组件
  3. 3、使用 rollup 打包生成多种 JS 模块
  4. 4、发布至 npm 和 使用 husky 完成发布前测试
  5. 5、使用 travis 完成组件库 CI/CD 功能

阶段三:从 0 搭建编辑器服务端

  • 第14周
  • 第15周
  • 第16周
  • 第17周
后端技术选型以及基础知识巩固

在项目开始之前,我们需要根据需求分析完成技术选型,以及基础的夯实。本周深入浅出的介绍了后端框架以及数据库从选型,基础再到深入,最后得出最佳实践的过程。

课程安排
  1. 1. 服务器端需求分析和技术选型
  2. 2. Egg.js + Typescript 开发 RESTful API
  3. 3. Mongodb 基础以及高级特性
  4. 4. Egg.js 进阶 - 插件机制以及源代码解读
用户系统设计与实现

正式开始项目,本周我们从实现三种用户登录的实现方式入手,在学习的过程中,引出并学习 Redis,鉴权,Cookie-Session 以及 JWT 和 Oauth2 前后端分离开发的实现方式。

课程安排
  1. 1. 用户系统三种方法实现 - 密码,短信(阿里云SMS) 以及 Oauth2
  2. 2. Redis 适用场景以及应用
  3. 3. 用户鉴权的解决方案汇总以及 JWT 的实现方案
  4. 4. 使用阿里云短信服务(SMS)实现手机登录
  5. 5. Oauth2 登录实现前后端分离的解决方案
文件上传(本地 + OSS 云服务)

继续深入项目,这周着重三大块内容,Stream 的学习,HTTP 中文件处理(本地以及云服务),SSR 实现 H5 作品展示,最后使用 Casl 完成 RBAC 用户权限控制。

课程安排
  1. 1. Stream 概念以及进阶使用
  2. 2. 本地文件上传以及图片处理
  3. 3. 云服务OSS完成文件上传以及处理
  4. 4. SSR 概念以及实现 H5 端作品的展示
  5. 5. RBAC 完成用户权限的细粒度控制
部署 以及 CI/CD

项目开发结束,进入部署环境,从传统的部署到 Docker 容器化部署,Nginx 转发配置,以及使用 Github Actions 完成 CI/CD 自动部署。

课程安排
  1. 1. 传统部署到虚拟化容器的发展
  2. 2. 使用 Docker 以及 docker-compose 完成部署
  3. 3. 使用 Github Actions 完成 CI/CD
  4. 4. 使用 Github Actions 和 Docker 完成自动部署

阶段四:完善B端所有功能,前后端结合和性能优化

  • 第18周
  • 第19周
  • 第20周
  • 第21周
  • 第22周
编辑器组件图层面板功能开发

本周继续进行属性编辑面板的功能,完成属性的分组功能,完成图层面板的显示 隐藏 锁定 排序等功能。最后完成背景设置面板的功能,在这个过程中,学习一系列第三方库的使用。

课程安排
  1. 1、使用 cropper.js 开发 image processer 组件
  2. 2、同属性分组并且开发 EditGroup 组件
  3. 3、开发图层面板 并且 使用 vue-draggable-next 完成排序功能
  4. 4、背景设置面板开发
让元素动起来 - 编辑器画布交互功能开发

本周是集中火力在编辑器交互功能上,完成元素的拖动定位,拖动改变大小,快捷键支持,重做,回滚,右键菜单等一系列功能的开发。

课程安排
  1. 1、拖动定位功能开发
  2. 2、拖动改变大小功能开发
  3. 3、使用 hotkeys js 开发快捷键功能
  4. 4、实现 Undo Redo 功能
  5. 5、添加右键菜单功能
前后端结合 - 编辑器整合后端接口

本周开始接入后端开发,实现作品的预览,保存,自动保存,发布和渠道编辑等一系列功能。

课程安排
  1. 1、预览功能开发
  2. 2、保存和自动保存功能
  3. 3、使用 html2canvas 生成截图并发布作品
  4. 4、使用 qrcodejs2 生成二维码并实现渠道编辑功能
整合开发 B 端其他页面的各种功能

这周来完成其他页面的分析和编码工作,在这个过程中我们最重要的是掌握几个重要的第三方库以的用法及它们的原理,以及通过一个比较复杂的钩子函数加强 vue3 composition API 的应用。

课程安排
  1. 1、使用HTML2Canvas 完成页面元素截图
  2. 2、使用 QRCode 生成二维码
  3. 3、使用 Clipboard.js 完成拷贝文字到剪贴板
  4. 4、编写 useLoadMore 钩子函数
  5. 5、使用 FileSaver.js 完成文件的下载
大型项目的编译,部署以及性能优化

这一周我们来完成一个大型项目开发完毕以后的过程,那就是将在本地运行的项目编译成符合线上要求的版本,将它部署上线,并且尽可能的完成性能优化。

课程安排
  1. 1、Vue Cli 编译的环境,过程和模式
  2. 2、Webpack 的基础回顾以及 Loader 和 Plugin 的原理
  3. 3、Webpack 打包的分析和优化手段
  4. 3、HTTP 传输的优化手段

阶段五:完善服务端,发布上线

  • 第23周
  • 第24周
  • 第25周
  • 第26周
  • 第27周
脚手架功能升级-上手大厂开发模式

本周讲解如何通过脚手架+页面模板实现代码的快速复用。

课程安排
  1. 1、掌握大厂代码复用方法轮和背后思考
  2. 2、掌握如何通过脚手架实现页面级别复用
  3. 3、掌握页面模板的开发方法
  4. 4、完成脚手架add命令的开发逻辑
  5. 5、解决页面模板安装过程中的依赖冲突问题
脚手架功能升级-代码复用能力开发

讲解如何通过脚手架+代码片段实现更复杂的代码复用功能。

课程安排
  1. 1、掌握大厂代码片段复用的实现原理
  2. 2、掌握代码片段的开发方法
  3. 3、掌握代码片段模板壳应用开发方法
  4. 4、掌握代码片段核心插入算法实现
  5. 5、掌握代码复用能力自定义安装功能
前端监控平台之JS 库开发

本周讲解如何通过JS库开发实现前端监控埋点处理

课程安排
  1. 1、掌握前端监控的阿里云arms接入方法与架构设计
  2. 2、掌握前端监控的百度统计接入方法
  3. 3、掌握前端JSSDK的实际开发应用
  4. 4、掌握前端监控埋点采集和上报的方法
  5. 5、掌握浏览器监听DOM的Observer的实际开发应用
前端监控平台之大数据开发

本周讲解监控埋点的存储方法,如何通过大数据获得埋点数据,并进行数据可视化展示。

课程安排
  1. 1. 掌握MaxCompute计算引擎开通方法
  2. 2. 掌握MaxCompute的数据处理方法
  3. 3. 掌握监控平台如何通过代码连接MaxCompute的两种方法
  4. 4. 掌握PythonSDK在监控平台的实际应用
  5. 5. 掌握在js文件通过子进程执行python文件的开发应用
前端监控平台之数据可视化开发

本周讲解监控平台常见流量指标和统计方法,完整实现埋点数据可视化流程。

课程安排
  1. 1. 掌握常见流量监控指标
  2. 2. 掌握如何完善前端埋点上报内容
  3. 3. 掌握MaxCompute和RDS实现数据集成方法
  4. 4. 掌握前端监控数据可视化功能的实现
  5. 5. 掌握前端埋点SDK性能优化方法:上报队列功能实现
  6. 6. 掌握服务端上报API性能优化方法:定时任务上报

阶段六:前端发布脚手架开发

  • 第28周
  • 第29周
  • 第30周
  • 第31周
  • 第32周
  • 第33周
  • 第34周
脚手架发布模块架构设计和核心流程开发

完成项目开发后,需要进行前端发布,脚手架的@imooc-cli/publish子项目将完成项目和组件的标准发布流程,本周将完成publish包的架构设计和核心流程开发

课程安排
  1. 1、掌握项目/组件标准发布流程架构设计和流程图绘制
  2. 2、掌握自动化git流程架构设计和实现细节
  3. 3、掌握云构建实现原理和实现细节
  4. 4、掌握项目/组件发布原理和实现细节
  5. 5、完成public子项目创建和主流程开发
脚手架发布模块git自动化流程开发

本周将完成项目发布过程中的git flow流程开发,遵循标准的git flow流程,学会可快速改造和优化日常开发中的git处理流程,巩固git的各种使用技巧和方法。

课程安排
  1. 1、掌握git操作方法和git flow流程
  2. 2、封装通用的git处理类Git
  3. 3、掌握git处理过程中的缓存结构设计
  4. 4、掌握git处理过程中的各种异常流程
  5. 5、完成Github & Gitee Open API接入
  6. 6、Git类准备阶段开发,完成各种git配置初始化
  7. 7、Git类初始化阶段开发,完成git仓库初始化、remote自动关联、强制合8、并远程代码等功能
  8. 9、Git类分支自动比对功能开发,完成代码冲突检查、stash区自动检查、10、自动同步master分支等功能
  9. 11、完成Git类代码自动提交功能开发
脚手架发布模块云构建系统开发

git flow流程完成后,我们将进入脚手架中最重要也是难度最高的一个环节,即云构建系统开发,本周我们通过egg.js+WebSocket+Redis最终实现完成云构建模块开发。

课程安排
  1. 1、封装通用的云构建类CloudBuild
  2. 2、掌握WebSocket通信协议和开发方法
  3. 3、应用egg-socket.io插件快速接入WebSocket服务
  4. 4、掌握Redis缓存数据库的应用
  5. 5、应用egg-redis插件快速接入Redis服务
  6. 6、完成CloudBuild准备和预发布阶段开发,完成发布前配置和各类检查
  7. 7、掌握服务端CloudBuild处理流程和实现逻辑
  8. 8、服务端CloudBuildTask类封装,完成预处理、源码下载、云构建等流程开发
  9. 9、大作业:CloudBuild构建和依赖安装指令动态化功能设计和实现
脚手架发布模块云发布功能开发

脚手架云构建模块开发完成后,本周将继续完成项目的云发布流程开发。

课程安排
  1. 1、掌握前端云发布逻辑实现
  2. 2、掌握oss入门使用方法
  3. 3、完成服务端oss API接入
  4. 4、掌握oss域名绑定+cdn接入
  5. 5、掌握项目预发布和正式发布流程
  6. 6、掌握项目回滚等异常流程处理
  7. 7、完成发布后自动打tag和开发分支删除功能
  8. 8、完成发布流程整体开发和联调
  9. 9、大作业:项目回滚+多版本发布功能架构设计和具体实现
脚手架组件发布功能开发

项目发布流程已经调通,本周将完成组件发布流程开发,组件发布流程和项目不同,主要差异在于:组件需要发布到npm和组件信息需要落库,所以需要不同的处理方式。

课程安排
  1. 1、完成组件git flow流程开发
  2. 2、掌握组件构建和发布流程设计
  3. 3、掌握组件预览功能设计
  4. 4、完成组件构建和发布流程开发
  5. 5、完成组件预览功能开发
  6. 6、掌握RDS开通和使用方法
  7. 7、掌握egg.js+mysql的开发方法
  8. 8、完成组件相关API的开发方法
  9. 9、完成组件发布全流程联调
  10. 10、完成脚手架整体发布和上线
组件平台开发

本周将基于umi完成组件库前端部分创建,同时结合react hook开发组件库的前端页面,并将组件库发布上线。

课程安排
  1. 1、掌握umi项目的开发方法
  2. 2、掌握react hook的开发方法
  3. 3、完成antd组件库集成
  4. 4、完成组件列表页开发
  5. 5、完成组件详情页开发
  6. 6、完成组件平台上线
项目单元测试用例设计和开发

讲解如何开发单元测试用例,并开发测试代码。

课程安排
  1. 1、掌握脚手架单元测试库mocha
  2. 2、掌握测试用例设计技巧
  3. 3、完成脚手架单元测试用例设计
  4. 4、完成init库测试用例开发和调试
  5. 5、完成publish库测试用例开发和调试

阶段七:架构师领导力培养

  • 第35周
大厂如何管理多人协作的研发项目

本周带领大家进入大厂文化 ,了解大厂如何做项目管理,多人协作的管理,以及团队人员的管理,课程内容复盘,未来技术的发展分析。

课程安排
  1. 1、软件研发流程概述,先有一个整体的认识
  2. 2、敏感项目研发流程,以及常用工具
  3. 3、制定项目计划,包括范围 WBS,时间,质量,风险,沟通
  4. 4、计划监控,保证计划顺利执行
  5. 5、项目功能迭代和 bug 修复
  6. 6、多人协作、工作分配和跟踪
  7. 7、大厂绩效考核标准
  8. 8、大厂人员面试标准
  9. 9、大厂数值汇报方法和技巧
  10. 10、大厂标准的工作交流方式
  11. 11、整个课程内容复盘
  12. 12、未来的技术展望

评价 好评

  • 目前学习到了第15周,先说一下学习收获,对我来说,架手构是我最大的收获(话说源码部分真的很难,我先跳过了),以前只是用过,从来没有想过可以自己来开发。第二是学会了后端的很多的知识点的注意事项,虽然在课程中,对于后端的知识没有手把手的一步一步带着敲,但我是有这方面的课程学习基础的,所以刚好,学到了很多的注意事项和思维方式,都是我以前没有注意到的内容,比如为什么测试在公司为什么执行不好,session、cookie、jwt的方式区别,mysql、和 mongodb的应用场景的不同,还有当以架构师思维对于小的内存泄露的态度...总之静下心来认真学习下收获还是很大的

  • 看了第一周的课程,讲了需求分析、架构设计、数据结构设计及项目文档输出,纠正了以前只重技术,鄙视业务的观念。认识到了架构师的职责和学习技术的目的:解决业务问题。建立起了一切为业务服务的思想。有一种以前稀里糊涂,现在豁然开朗的感觉:业务业务业务。所以这门课真的给我很深刻的体会。这是一门值得学习的课程!!

  • 课程干活很多,每一节都需要认真的思考和动手实践,在实际动手的过程中会碰到很多问题,不断地突破自己的舒适区,收货特别大。

预售规则

1. 定金支付成功后,可在“我的订单”-“未支付”栏查看所要支付尾款的订单。
2. 尾款支付开启后,请在规定时间内支付尾款,若超出尾款支付时间,订单将自动关闭。请关注短信、慕课网平台及慕课网微信号等渠道推送的提醒消息。
3. 定金可在课程原价基础上抵扣页面显示金额,具体数额及计算方式见详情页。
4. 定金可退,已支付定金但未在规定时间支付尾款的用户,请联系kf@imooc.com退定金。
5. 如您对预售活动有其它疑问,请联系客服:kf@imooc.com。