ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Web前端架构师

2021-06-10 07:02:30  阅读:228  来源: 互联网

标签:Web 項目 前端 設計 完成 組件 架构师 脚手架 開發


## Web前端架构师 超清原画 完整无密 网盘下载 点击下载:[Web前端架构师](http://www.51xuebc.com/thread-288-1-1.html) 超大复杂项目+高端技术+大厂规范+全局架构思维 系统培养大厂P7技术专家/中小厂前端Leader 6~8个月,让3年+前端完成质的飞跃 章節目錄: 階段一:课程設計及前端創建脚手架開發 第1周 需求分析和架構設計:做什麼,如何做? 開工之前,先來看看我們到底要做一個什麼項目,有哪些功能。然後站在上帝視角,從整體的架構層面,該如何設計該項目。 课程安排: 1、需求分析,到底要做一個什麼產品 2、項目設計,多個項目之間的關係 3、數據模型設計,各項目之間的數據流轉過程 4、後台管理需求,管理員要管控什麼内容 5、統計需求,知道被訪問了多少次 第2周 脚手架架構設計和框架搭建 萬丈高樓平地起,講解大廠級別的脚手架是如何設計的,從頭開始绘製架構設計圖,並完成脚手架的框架搭建。 课程安排: 1、掌握脚手架的實現原理 2、掌握脚手架管理工具Lerna和常用操作 3、基於Lerna構建脚手架項目 4、圖解脚手架架構設計 5、脚手架工程體係設計a 6、深入阅讀Lerna源码,剖析require.resolve原理 第3周 脚手架核心流程開發 本周將完成脚手架内核@imooc-cli/core子項目設計,並開發脚手架的執行準備階段和命令注册階段。 课程安排: 1、脚手架核心子項目core包架構設計 2、掌握脚手架node運行版本限製 3、掌握脚手架root自動降級 4、掌握npmlog實現自定義脚手架日誌 5、掌握脚手架用戶主目錄檢查 6、掌握脚手架入參解析和環境變量配置 7、運用npm API實現脚手架自動更新 8、掌握脚手架命令注册原理 9、運用commander简化脚手架命令注册 10、node支持ES模塊化標準的兩種方法 第4周 脚手架命令注册和執行過程開發 本周將完成脚手架内核@imooc-cli/core子項目的執行命令階段,我們將採用分離式架構設計、緩存結構設計大幅提升脚手架的下载速度和執行性能。 课程安排: 1、掌握脚手架執行命令原理 2、掌握高性能脚手架架構思路和具體方法 3、封裝通用的npm包管理類Package 4、掌握API方式完成npm包下载和自動更新 5、掌握脚手架緩存結構設計 6、掌握Node多進程的四種實現方案 7、深度解析Node多進程child_process庫源码 第5周 脚手架創建項目流程設計和開發 本周將開發脚手架創建項目的@imooc-cli/init子項目,完成init包的準備階段和下载模板階段開發。 课程安排: 1、脚手架項目創建能力架構設計 2、深入理解命令行交互原理和inquirer的應用 3、掌握服務端框架egg.js的開發方法 4、掌握雲mongodb和egg接入mongodb方法 5、運用egg.js+mongodb構建項目模板API 6、掌握正則表達式並完成項目名稱自動格式化 7、掌握spinner實現命令行loading效果 8、完成標準項目模板開發 9、完成項目模板的緩存和下载功能 第6周 脚手架項目和組件初始化開發 init包將完成項目和組件的初始化過程,本周將完成init包的安裝模板階段。 课程安排: 1、掌握脚手架標準安裝模式和自定義安裝模式實現原理 2、掌握ejs模板的實現原理和開發方法 3、基於ejs模板完成項目模板動態化 4、完成標準組件模板開發 5、完成項目或組件項目標準安裝流程開發 6、完成自定義項目模板初始化流程開發 7、ejs源码解析——徹底搞懂ejs模板編译和渲染原理 8、require源码解析——徹底搞懂Node.js模塊加载原理 階段二:B端項目分析和設計,編輯器初步編码,業務組件庫的搭建 第7周 B端項目需求分析 和 架構設計 對於一個復雜前端項目,在編码之前,分析過程可谓是“磨刀不誤砍柴工”,本周我們來給大家講解怎樣一步步抽丝剥繭,從需求到難點,再到係統整體設計。 课程安排: 1、整體需求分析初步 和 細化:編輯器需求分析 2、編輯器開發的難點分析 和 難點可能使用解決方案 3、整體架構設計 第8周 前端基礎技術回顧和巡禮 在课程正式開始之前,紮實的基礎知識是本课程的必備條件。這一周,讓我們一起來溫習 - typescript,vue3,ant-desing-vue 以及 webpack 和 rollup 的基礎知識。 课程安排: 1、Typescript - 進入類型的世界 2、vue3 以及 新版全家桶 vuex,vue-router 3、ant-design-vue - 完美支持 vue3 的組件庫 4、webpack 和 rollup - 現代打包工具雙雄 第9周 項目整體搭建 萬事開頭難,本周我們使用技術儲備中简介的知識,來搭建項目的大體結構和框架,包括 項目創建,代码結構,基礎路由,基本佈局和 基本的全局數據結構。 课程安排: 1、使用 imooc-cli 創建項目 2、規定代码規範和項目結構 ,安裝編輯器辅助插件 3、使用 vue-router 添加基礎路由結構 4、使用 ant-design-vue 搭建基礎佈局 5、使用 vuex 創建項目的基本數據結構 第10周 編輯器基本佈局,及業務組件庫初步開發 本周從編輯器開始開發,完成編輯器的基本佈局,並且分析組件屬性和修改組件屬性的對應關係,創建業務組件庫的第一個組件,並且完成最简單的編輯器交互,最後提出了業務組件實時實現編輯更新的解決方案。 课程安排: 1、創建編輯器的基本佈局 2、分析畫佈組成元素的組件屬性 3、創建第一個組件 LText 4、屬性和編輯組件的實現方案 第11周 掌握測試基本工具,給組件庫添加單元測試 本周從什麼是測試入手,简介了測試的基本概念,介紹通用測試工具 Jest 和 Vue 測試框架 vue-test-utils,然後使用這兩種工具完成LText組件的單元測試。 课程安排: 1、Jest 简介和基本用法 2、vue-test-utils 的基本用法 3、爲 Ltext 添加測試用例 第12周 通用上傳組件開發以及使用 本周主要從業務組件 LImage 入手,從易到難使用 TDD 開發一個復雜的通用上傳組件,之後將組件用於左側組件列表中,完成圖片組件的功能。 课程安排: 1、爲通用上傳組件寫需求。 2、從易到難渐進式使用 TDD 的混合方式開發一個復雜的上傳組件。 3、將組件用於左側組件列表用於創建 LImage 組件。 4、衍生出來的一係列擴展知識:比如 Vue3 組件的類型,Vue3 通信的幾種方法,以及 Element Plus Upload 組件的源码分析等。 第13周 業務組件庫打包、發佈,添加 CI/CD 本周繼續豐富業務組件庫的功能,將組件庫剥離成單獨的代码庫,使用 rollup 打包成多種 JS 模塊形式,發佈到 NPM,最後還使用 travis 完成了 CI/CD 流程。 课程安排: 1、創建單獨的組件庫代码庫 2、添加剩餘的業務組件 3、使用 rollup 打包生成多種 JS 模塊 4、發佈至 npm 和 使用 husky 完成發佈前測試 5、使用 travis 完成組件庫 CI/CD 功能 階段三:從 0 搭建編輯器服務端 第14周 服務端技術選型:磨刀不誤砍柴工 本周介紹做服務端必備的技能、框架、工具和服務,以及爲何選择他們。 這些都是做服務端開發的基礎知識,必須全部掌握,否則接下來開發會遇到很大障礙。 课程安排: 1、爲何選择 koa2 框架,而不是 express egg nest.js 2、三大常用數據庫 Mysql Mongodb Redis 3、使用 JWT 做登錄驗證,放棄 Session 4、用 jest 做單元測試和接口測試 5、pm2 和 nginx 能保證服務端高效穩定運行 第15周 服務端 CI/CD :github自動化 CI/CD 是软件開發的必備流程,它可以實現自動發佈到測試機,自動部署測試環境。本周我們使用 github actions 和 docker 這兩大利器,從 0 實現 CI/CD 流程。 课程安排: 1、github actions 一颗的 CI/CD 新星 2、docker 讓妳一键擁有各種软件環境,如 Mysql 3、docker-compose 快速搭建測試環境 4、提交代码,自動發佈到測試機 5、提交代码,自動觸發單元測試 第16周 編輯器服務端基礎 API 開發 本周正式開發業務開發。開發之前要做技術方案設計(接口設計,數據庫設計),初始化項目環境和 CI/CD 流程。然後完成所有業務功能開發,同時進行單元測試和接口測試。 课程安排: 1、接口設計,捋一捋需要提供哪些 API 2、數據庫設計,如何存儲更加合理 3、初始化項目環境,連接數據庫,跑通 CI/CD 流程 4、各個模塊的代码介紹,不會一行一行帶著寫代码的 5、單元測試和接口測試,邊開發邊測試,才能保證穩定性 第17周 編輯器服務端調用第三方服務 真正線上項目才需要這些功能,還要花錢購買第三方服務,一般课程不常見到。這些功能很實用,很大眾,學完即可照搬到實際項目中。 课程安排: 1、用短信驗證码實現登錄 2、内容安全檢查,屏蔽所有黃色、血腥、政治敏感内容 3、上傳圖片到阿里雲 OSS 階段四:完善B端所有功能,前後端結合和性能優化 第18周 編輯器組件圖層面板功能開發 本周繼續進行屬性編輯面板的功能,完成屬性的分組功能,完成圖層面板的顯示 隱藏 鎖定 排序等功能。最後完成背景設置面板的功能,在這個過程中,學習一係列第三方庫的使用。 课程安排: 1、使用 cropper.js 開發 image processer 組件 2、同屬性分組並且開發 EditGroup 組件 3、開發圖層面板 並且 使用 vue-draggable-next 完成排序功能 4、背景設置面板開發 第19周 讓元素動起來 - 編輯器畫佈交互功能開發 本周是集中火力在編輯器交互功能上,完成元素的拖動定位,拖動改變大小,快捷键支持,重做,回滚,右键菜單等一係列功能的開發。 课程安排: 1、拖動定位功能開發 2、拖動改變大小功能開發 3、使用 hotkeys js 開發快捷键功能 4、實現 Undo Redo 功能 5、添加右键菜單功能 第20周 前後端結合 - 編輯器整合後端接口 本周開始接入後端開發,實現作品的預览,保存,自動保存,發佈和渠道編輯等一係列功能。 课程安排: 1、預览功能開發 2、保存和自動保存功能 3、使用 html2canvas 生成截圖並發佈作品 4、使用 qrcodejs2 生成二維码並實現渠道編輯功能 第21周 整合開發B端其他頁面的各種功能 完成了重頭戲編輯器,這周來完成其他頁面的分析和編码工作,從分析後端接口開始,完成一係列 Vue 應用的通用難點,包括鑒權,全局狀態,業務開發 和 使用 Echarts 生成統計圖表。 课程安排: 1、各頁面功能分析 2、使用 Postman 分析 Restful 接口 3、登錄頁面和單頁面應用鑒權的通用處理 4、全局狀態(異步Loading,成功,失敗)的通用處理 5、首頁和我的作品頁面開發 6、使用 echarts 生成統計圖表 第22周 優化大型項目的各項性能問題 本周來到了大型項目必不可少的環節 - 性能優化。包括 vue 性能的常見優化方案,數據結構的優化以及 webpack 打包分析和優化實施方案的整個過程。 课程安排: 1、vue 應用性能優化的常見方案 2、全局狀態數據結構的優化 3、webpack 打包分析和優化 階段五:完善服務端,發佈上線 第23周 基於Vue3 ***渲染作品H5頁。 編輯器可以創建、保存和發佈作品,但發佈後的作品如何查看?本周就來搞定。我們不僅要把 H5 頁渲染出來,考慮 H5 前端的各項工作,還要打包、發佈静態文件到 OSS 。 课程安排: 1、技術方案設計,如何才能渲染出頁面 2、初始化項目,跑通 CI/CD 流程 3、Vue3 *** 渲染頁面,基於 lego-components 組件庫 4、webpack 打包文件,發佈到 OSS 5、h5 前端功能,如事件跳轉、url 參數處理 6、h5 響應式,讓頁面適配所有手機屏幕 7、微信分享,前後端配合使用微信 jssdk 第24周 自研統計服務,使作品能實現分渠道統計 自定義事件統計,是一個線上產品必備的統計功能。目前市面上沒有合適的第三方服務,幹脆我們就自研一個。包括收集日誌、分析日誌、Open API 功能。 课程安排: 1、技術方案設計,看如何實現一個統計服務 2、nginx 服務收集統計日誌 3、定時拆分日誌文件,按天拆分 4、定時分析日誌,離線計算統計結果,存入數據庫 5、提供 Open API ,獲取統計結果 6、定時清理過期日誌文件,讓硬盤無壓力 第25周 後台管理:讓所有數據都在我們的掌控之中 一個完善的線上產品,後台管理是必備的模塊。我們可以查看網站内容數據,管理用戶、作品和模板,推薦優質内容,屏蔽垃圾數據。 课程安排: 1、需求分析,到底需要查看和管理哪些數據? 2、技術方案設計,如何實現這些功能 3、umijs 脚手架,創建 React 前端項目,跑通 CI/CD 4、使用 React Hooks 開發前端頁面 5、開發服務端接口,跑通 CI/CD 6、作業:寫各個係統的單元測試和接口測試 第26周 發佈到阿里雲服務器,支持快速回滚 既然是真實的線上產品,就需要購買各種雲服務,配置服務器和數據庫,然後正式發佈到線上環境,一旦遇到問題還要能快速回滚。 课程安排: 1、配置雲服務器,安裝必備软件 2、配置雲數據庫,創建账戶,開通 IP 白名單 3、流程設計,基於 git tag 和 github actions 實現發佈和回滚 4、nginx 配置和二級域名轉發 5、線上日誌拆分,nginx 日誌和 pm2 日誌 第27周 運維監控和報警 一個完善的線上產品,必須有完善的運維體係,才能保證穩定運行。包括服務器監控,報警,以及網络安全預防。 课程安排: 1、服務器監控,實時檢測 CPU 内存 硬盤的健康狀況 2、心跳檢測,對接口自動定時“體檢” 3、統一異常處理,出問題 catch 住,不崩溃 4、報警,有問題第一時間發送郵件和短信 5、萬一出問題或内存泄露,自動重啟服務 6、安全預防,防刷、防爬、防網络攻擊 階段六:前端發佈脚手架開發 第28周 脚手架發佈模塊架構設計和核心流程開發 完成項目開發後,需要進行前端發佈,脚手架的@imooc-cli/publish子項目將完成項目和組件的標準發佈流程,本周將完成publish包的架構設計和核心流程開發 课程安排: 1、掌握項目/組件標準發佈流程架構設計和流程圖绘製 2、掌握自動化git流程架構設計和實現細節 3、掌握雲構建實現原理和實現細節 4、掌握項目/組件發佈原理和實現細節 5、完成public子項目創建和主流程開發 第29周 脚手架發佈模塊git自動化流程開發 本周將完成項目發佈過程中的git flow流程開發,遵循標準的git flow流程,學會可快速改造和優化日常開發中的git處理流程,鞏固git的各種使用技巧和方法。 课程安排: 1、掌握git操作方法和git flow流程 2、封裝通用的git處理類Git 3、掌握git處理過程中的緩存結構設計 4、掌握git處理過程中的各種異常流程 5、完成Github & Gitee Open API接入 6、Git類準備階段開發,完成各種git配置初始化 7、Git類初始化階段開發,完成git倉庫初始化、remote自動關聯、強製合8、並遠程代码等功能 9、Git類分支自動比對功能開發,完成代码衝突檢查、stash區自動檢查、10、自動同步master分支等功能 11、完成Git類代码自動提交功能開發 第30周 脚手架發佈模塊雲構建係統開發 git flow流程完成後,我們將進入脚手架中最重要也是難度最高的一個環節,即雲構建係統開發,本周我們通過egg.js+WebSocket+Redis最終實現完成雲構建模塊開發。 课程安排: 1、封裝通用的雲構建類CloudBuild 2、掌握WebSocket通信協議和開發方法 3、應用egg-socket.io插件快速接入WebSocket服務 4、掌握Redis緩存數據庫的應用 5、應用egg-redis插件快速接入Redis服務 6、完成CloudBuild準備和預發佈階段開發,完成發佈前配置和各類檢查 7、掌握服務端CloudBuild處理流程和實現逻輯 8、服務端CloudBuildTask類封裝,完成預處理、源码下载、雲構建等流程開發 9、大作業:CloudBuild構建和依賴安裝指令動態化功能設計和實現 第31周 脚手架發佈模塊雲發佈功能開發 脚手架雲構建模塊開發完成後,本周將繼續完成項目的雲發佈流程開發。 课程安排: 1、掌握前端雲發佈逻輯實現 2、掌握oss入門使用方法 3、完成服務端oss API接入 4、掌握oss域名绑定+cdn接入 5、掌握項目預發佈和正式發佈流程 6、掌握項目回滚等異常流程處理 7、完成發佈後自動打tag和開發分支删除功能 8、完成發佈流程整體開發和聯調 9、大作業:項目回滚+多版本發佈功能架構設計和具體實現 第32周 脚手架組件發佈功能開發 項目發佈流程已經調通,本周將完成組件發佈流程開發,組件發佈流程和項目不同,主要差異在於:組件需要發佈到npm和組件信息需要落庫,所以需要不同的處理方式。 课程安排: 1、完成組件git flow流程開發 2、掌握組件構建和發佈流程設計 3、掌握組件預览功能設計 4、完成組件構建和發佈流程開發 5、完成組件預览功能開發 6、掌握RDS開通和使用方法 7、掌握egg.js+mysql的開發方法 8、完成組件相關API的開發方法 9、完成組件發佈全流程聯調 10、完成脚手架整體發佈和上線 第33周 組件平台開發 本周將基於umi完成組件庫前端部分創建,同時結合react hook開發組件庫的前端頁面,並將組件庫發佈上線。 课程安排: 1、掌握umi項目的開發方法 2、掌握react hook的開發方法 3、完成antd組件庫集成 4、完成組件列表頁開發 5、完成組件詳情頁開發 6、完成組件平台上線 第34周 項目單元測試用例設計和開發 講解如何開發單元測試用例,並開發測試代码。 课程安排: 1、掌握脚手架單元測試庫mocha 2、掌握測試用例設計技巧 3、完成脚手架單元測試用例設計 4、完成init庫測試用例開發和調試 5、完成publish庫測試用例開發和調試 階段七:架構師領導力培養 第35周 大廠如何管理多人協作的研發項目 本周帶領大家進入大廠文化 ,了解大廠如何做項目管理,多人協作的管理,以及團隊人員的管理,课程内容復盤,未來技術的發展分析。 课程安排: 1、软件研發流程概述,先有一個整體的認識 2、敏感項目研發流程,以及常用工具 3、製定項目計劃,包括範圍 WBS,時間,質量,風險,溝通 4、計劃監控,保證計劃順利執行 5、項目功能迭代和 bug 修復 6、多人協作、工作分配和跟蹤 7、大廠績效考核標準 8、大廠人員面試標準 9、大廠數值匯報方法和技巧 10、大廠標準的工作交流方式 11、整個课程内容復盤 12、未來的技術展望

标签:Web,項目,前端,設計,完成,組件,架构师,脚手架,開發
来源: https://blog.51cto.com/u_15200877/2887842

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有