店铺推荐
【推荐语】
"1.选取了30个非常典型的前端基础建设和架构设计相关主题,内容新颖、重点突出、不落俗套。读者可以根据需求直接选择自己感兴趣的内容阅读。

2.一改市面上一些前端技术书以框架或包为中心的“重技巧却少思考”的现状,将前端开发实践理论化、系统化、范式化、路径化,读者可以从中学到一套行之有效的方法论!"
【作者】
"侯策 就职于某内容社区类互联网上市公司,具有多年海内外工作经验,曾先后就职于法国ENGIE集团、Google、百度等知名企业。 擅长前端工程化体系搭建及基础建设架构设计。深入了解前端各类技术框架和相关技术栈,具有丰富的高流量产品稳定性建设及性能和用户体验优化经验,在业务提效和质量保障方面亦有深厚积累,在跨端开发(包括小程序矩阵开发)、富文本编辑器、Node.js、React等技术方向有较强的业内影响力。在技术氛围打造、团队成员培养、技术体系建设、新技术落地、难点攻坚、历史包袱重构等方面均有丰富的实践经历。 著有《React状态管理与同构实践》《前端开发核心知识进阶:从夯实基础到突破瓶颈》等多部技术图书。"
【内容】
快速发展的红利、优胜劣汰的挑战、与生俱来的混乱、同混乱抗衡的规范……这些都是前端从业者无法逃避的现状。有人说,做好业务支撑是活在当下,而做好技术基建是活好未来。当业务量到达一定量级时,成为“规范制定者”,成为“思考者”,像“架构师”一样思考问题,才能最终成为“优胜者”。本书内容不是简单的思维模式输出,不是纯粹“阳春白雪”的理论,也不是社区搜索即得的 Webpack配置罗列和原理复述,而是从项目痛点中提取出的基础建设的意义,以及从个人发展瓶颈中总结出的工程化架构和底层设计原理。本书不仅能帮助开发者夯实基础,还能为开发者实现技术进阶提供帮助和启发。
【目录】
第一部分前端工程化管理工具
01安装机制及企业级部署私服原理2
npm内部机制与核心原理2
npm不接近指南6
npm多源镜像和企业级部署私服原理9
总结11
02Yarn安装理念及依赖管理困境破解12
Yarn的安装机制和背后思想14
破解依赖管理困境17
总结21
03CI环境下的npm优化及工程化问题解析22
CI环境下的npm优化22
更多工程化相关问题解析23
很好实操建议30
总结31
04主流构建工具的设计考量32
从ToolingReport中,我们能学到什么32
总结36
05Vite实现:源码分析与工程构建37
Vite的“横空出世”37
Vite实现原理解读38
总结50
第二部分现代化前端开发和架构生态
06谈谈core-js及polyfill理念52
core-js工程一览52
如何复用一个polyfill54
寻找很好的polyfill方案59
总结62
07梳理混乱的Babel,拒绝编译报错63
Babel是什么63
BabelMonorepo架构包解析64
Babel工程生态架构设计和分层理念75
总结78
08前端工具链:统一标准化的babel-preset79
从公共库处理的问题,谈如何做好“扫雷人”79
应用项目构建和公共库构建的差异81
一个企业级公共库的设计原则81
制定一个统一标准化的babel-preset82
总结91
09从0到1构建一个符合标准的公共库92
实战打造一个公共库92
打造公共库,支持标签引入代码96
打造公共库,支持Nodejs环境100
从开源库总结生态设计103
总结104
10代码拆分与按需加载105
代码拆分与按需加载的应用场景105
代码拆分与按需加载技术的实现106
Webpack赋能代码拆分和按需加载113
总结119
11TreeShaking:移除JavaScript上下文中的未引用代码120
TreeShaking必会理论120
前端工程化生态和TreeShaking实践124
总结131
12理解AST实现和编译原理132
AST基础知识132
AST实战:实现一个简易TreeShaking脚本136
总结141
13工程化思维:应用主题切换142
设计一个主题切换工程架构142
主题色切换架构实现145
总结150
14解析Webpack源码,实现工具构建151
Webpack的初心和奥秘151
手动实现打包器156
总结160
15跨端解析小程序多端方案161
小程序多端方案概览161
小程序多端――编译时方案162
小程序多端――运行时方案164
小程序多端――类React风格的编译时和运行时结合方案166
小程序多端方案的优化176
总结178
16从移动端跨平台到Flutter的技术变革179
移动端跨平台技术原理和变迁179
Flutter新贵背后的技术变革188
总结194
第三部分核心框架原理与代码设计模式
17axios:封装一个结构清晰的Fetch库196
设计请求库需要考虑哪些问题196
axios设计之美199
总结206
18对比Koa和Redux:解析前端中间件207
以Koa为代表的Nodejs中间件设计207
对比Express,再谈Koa中间件210
Redux中间件设计和实现213
利用中间件思想,实现一个中间件化的Fetch库215
总结218
19软件开发灵活性和高定制性219
设计模式219
函数式思想应用223
总结227
20理解前端中的面向对象思想228
实现new没有那么容易228
如何优雅地实现继承230
jQuery中的面向对象思想234
类继承和原型继承的区别236
总结237
21利用JavaScript实现经典数据结构238
数据结构简介238
堆栈和队列239
链表(单向链表和双向链表)241
树247
图251
总结255
22剖析前端数据结构的应用场景256
堆栈和队列的应用256
链表的应用257
树的应用260
总结263
第四部分前端架构设计实战
23npms:打造一体化构建和部署流程266
npms是什么266
npms原理267
npms使用技巧269
打造一个lucas-s270
总结276
24自动化代码检查:剖析Lint工具277
自动化工具277
lucas-s中的Lint配置很好实践281
工具背后的技术原理和设计283
总结285
25前端+移动端离线包方案设计286
从流程图分析hybrid性能痛点286
相应优化策略287
离线包方案289
方案持续优化293
总结294
26设计一个“万能”的项目脚手架295
命令行工具的原理和实现295
从命令行到万能脚手架304
总结306
第五部分前端全链路――Nodejs全栈开发
27同构渲染架构:实现SSR应用308
实现一个简易的SSR应用308
SSR应用中容易忽略的细节312
总结317
28性能守卫系统设计:完善CI/CD流程318
性能守卫理论基础318
Lighthouse原理介绍319
性能守卫系统Perf-patronus322
总结328
29打造网关:改造企业BFF方案329
BFF网关介绍和优缺点梳理329
打造BFF网关需要考虑的问题330
实现一个lucas-gateway333
总结340
30实现高可用:Puppeteer实战341
Puppeteer简介和原理341
Puppeteer在SSR中的应用342
Puppeteer在UI测试中的应用345
Puppeteer结合Lighthouse的应用场景345
通过Puppeteer实现海报Nodejs服务347
总结353
【媒体评论】
"在我近十年策划会议的职业生涯里,每每和会议听众了解前端需求,总会听到他们抱怨“轮子太多”“框架太新”“学不过来”……但我在和讲师们及联席主席沟通时发现,他们其实始终在关注那些“不变”的,前端始终“万变不离其宗”——永远是为用户界面服务的,永远是为提升生产效率服务的。这是工程化要解决的问题,抓住工程化这条主线,用规范、工具和框架解决前端开发及前后端协作的问题,才能保证自己立于不败之地。 非常庆幸看到这本书出现,作者通过对真实的项目经验进行总结,帮助业界归纳出避免混乱和提升效能的行之有效的方法,以及实现前端工程化的锦囊妙计。希望拿到本书的读者能学以致用,让前端技术发挥更大的价值。 全球软件案例研究峰会(TOP100Summit)内容主理人、msup研究院院长,赵强 现代Web开发日益复杂化和多元化,前端工程化已成为复杂业务中不可或缺的提效方案。本书从工程化角度切入,延伸到前端架构设计领域,既包含理论知识,也有大量真实案例。在前端开发尚未形成很好范式的背景下,本书可以帮助我们在业务需求和架构设计中寻找团队降本增效的方法论和创新灵感。 DCloud CTO、uni-app产品负责人,崔红保 近几年,基于前端技术开发的应用已渗透到越来越多的场景,这也对前端工程化基建和前端应用架构提出了更多的挑战。本书比较系统地介绍了前端工程化基建领域的关键场景和相关生态,并且结合作者多年的从业经历,分享了现代化前端工程架构的实践方案,相信可以为读者带来一些新的启发。 字节跳动软件工程师,李玉北 每个前端工程师都有一个架构师的梦,然而很多前端工程师在日复一日、年复一年的业务代码中遇到了瓶颈,不知道如何进一步提升自己,因此在迭代如此之快的前端领域感到迷茫。本书会教你如何像架构师一样思考,如何突破技术瓶颈。 Deno核心代码贡献者,justjavac(@迷渡) 现代Web开发是一个庞大复杂的体系,在这个体系当中,工程化是一个不可或缺的部分。工程化构建的好坏将直接影响Web开发的效率和体验。本书由浅入深地介绍了Web开发中的工程体系相关知识,阅读和学习之后,读者可以快速构建适合个人或团队的工程体系,还可以深入了解工程化架构方面的知识。可以说,不管你是Web初学者还是具有一定经验的Web开发者,都能从中获益! W3cplus.com站长,大漠 前端工程化是一门准实践学科,很多人具有前端开发经验但不一定有过前端工程化经验。从0到1开发一个项目是很考验架构和设计能力的。这本书补全了许多人缺失的前端工程化经验,让一些没有这方面积累的技术人员能感受到搭建复杂工程化项目的魅力,很值得一读。 新浪移动前端开发专家、前端Leader,付强(@小爝) 在当下的众多中小型公司中,研发效率(即交付能力)向来是技术团队的软肋。在刀耕火种的业务阶段,短期内可以靠加人头、加工时的方式来“堆”代码,但人越多、事越杂的时候就会越难持续。前端早早聊大会举办至今,也从用户中搜集到许多诸如此类的反馈,不少同学都陷入没有成长性需求中,痛苦不堪。很开心在当下看到侯策的这本书,它出现得正是时候,可以帮助诸多团队的负责人提升架构能力,还可以帮助团队开发人员逐阶段、有节奏地推进基础建设,解放生产力,进而大幅支撑业务增长、快速响应业务变化。 前端早早聊大会创始人,Scott 正如书中所言,你以为收藏的是知识,其实收藏的是“知道”。想要掌握更多硬核知识,我想这本书会适合你。本书作者侯策对各种打包工具的使用方法、原理、优化策略都做了非常详细的解释,对跨端方案、全栈知识也进行了细致梳理,相信新手能从中获得完整的前端知识体系,有经验者则能成为更好的架构师。 阿里云业务中台体验技术负责人,城池 本书作者侯策是留学欧洲的技术Geek,有广阔的技术视野。归国后做过一线开发人员、全栈工程师,以及技术团队管理者。他往往能够从前端技术发展脉络、工程人员成长轨迹、技术团队综合管理这三个视角来审视一个合格的前端开发工程师发展为架构师所需具备的素质及成长路径。 本书结合行业痛点,深入浅出地介绍了前端架构师所需具备的思考维度和技术素养。从工具层面,本书能帮助读者了解并精通前端开发的架构生态、框架原理、经典设计模式。从实战角度,本书涵盖了全链路Node.js前端开发攻略。其中诸多篇内容,如第11、12、14篇等,深入前端框架内部,审视JavaScript编译层面的代码翻译与执行逻辑,对前端开发者而言是一部“内功”精进宝典。又如第四部分“前端架构设计实战”,作者对自己如何提升开发效率的经验进行汇总,给出具体的实践方案与工具策略,将宝贵经验提升到了范式乃至哲学的高度,相信能够帮助读者应对一系列的开发实践问题。 总体来说,这本书一改市面上一些前端技术书以框架或包为中心的“重技巧却少思考”的现状,是少有的将前端开发实践理论化、系统化、范式化、路径化的“圭臬”! 百度大数据实验室主任研发架构师,熊昊一博士 某种程度上来说,我很怀念jQuery时代。那时,入门前端非常简单,但今天的前端领域已有了庞大的知识体系,涵盖纷繁复杂的领域知识。从?TodoMVC?到企业中的实际项目,这中间有多少工程概念是需要理解和掌握的呢?本书对此做了较为全面的总结,应当能帮助到对此困惑的读者。 稿定科技前端工程师、《JavaScript二十年》译者,王译锋(@雪碧) 本书是作者上一部作品《前端开发核心知识进阶:从夯实基础到突破瓶颈》的延展和进阶,本书围绕前端基建与架构主题,系统化介绍了大量推荐知识,涵盖内容十分广泛。本书的亮点是深入介绍了技术背后的原理及作者多年的一线实践经验,干货满满。 知名前端博主、《React状态管理与同构实战》作者,颜海镜 在当今信息融合、链路共享、极速触达的生活环境下,互联网技术已不断深入其他行业,并作为解决问题、赋能创新的手段被广泛应用在多端、跨平台场景中。本书从前端技术入门到架构原理剖析,由浅入深,结合实战进行讲解。无论是前端初学者用于入门,还是泛前端“老鸟”进行知识拓展,相信本书都能提供帮助。 字节跳动前端工程师,师绍琨 前端工程化有时会被人狭隘地理解为Webpack,有时会被理解为某个工程脚手架,甚至会被部分同学单纯地理解为编译、构建、部署或流水线一类的概念。但是本书中介绍的架构师心中的前端工程化,并不仅仅是前面提到的这些。本书基于大家在实际开发过程中碰到的问题,将上述知识串联起来,能够帮助开发者形成适合自己的前端工程化方案。 字节跳动资深工程师,陈辰"
返回顶部