侯策:如何突破前端开发技术瓶颈( 二 )
海伦·凯勒说过:“知识使人进步 , 而智慧使人得道 。 ”
希望本书不仅详述了“知识” , 更能体现编程“智慧” , 让所有读者朋友一起思考 , 一起进步 。 那么这本书究竟有什么特色呢?我想一边聊聊前端开发的发展 , 一边说说本书的聚焦点 。
▼
前端大航海时代:旧工具被淘汰 , 新力量崛起
记得我刚接触前端编程时 , jQuery风靡一时 , 其清新优雅的DOM操作、稳如磐石的兼容性处理、灵活高效的封装和链式调用 , 让人如沐春风 。
彼时 , 我幼稚地以为“这就是巅峰” , 事实却是“这只是开始”——
随着三大框架的崛起 , 技术更迭就像“暴风雨前的宁静” , jQuery突然就被其他“先进的生产力”甩在身后了 。 于是我们看见 , 各大平台的技术“改朝换代” , 各自引领开发潮流 。
这还只是一个类库在前端浪潮中的兴衰 。 再想想ES(ECMAScript)语言规范的演进速度 , HTML5的扩张幅度 , 跨端开发框架从Ionic到React Native再到Flutter , CSS从基本布局模型到弹性盒模型再到原生Grid 方案 , 构建打包工具从Grunt到Gulp再到webpack和Rollup……
本书在重视“亘古不变”的语言的基础上 , 力求为大家介绍更先进的开发技术 。 比如 , 服务器端渲染、HTTP 3.0 , 使用 Lerna、yarn workspaces 构建 monorepo 项目 , 框架的原理、演进 , 框架间的对比和虚拟DOM , 等等 。
▼
与生俱来的混乱:披荆斩棘 , 勇往直前
前端三大方向 JavaScript、CSS、 HTML 的背后是无尽的碎片化场景 。 前端是最贴近用户的“战线” , 它的基因决定了它需要处理各式各样的情况 。 同时 , 无论是跨平台还是语言特性 , 都让开发者感到迷茫 。
- 我们应该使用哪些HTML标签以达到最佳的语义化?
- 我们应该如何面对不同终端的诡异问题 , 并保证体验一致性?
- 我们应该如何编写JavaScript代码才能实现bug free?
- this用得乱七八糟 , 它到底指向谁?
- 分析多种场景和业界解决方案的产出 。
- 实战观摩 webpack 打包结果 , 对比 Rollup 解决方案 , 同时分析 tree shaking 的实施细节 。
- 探索究竟如何组织架构代码 , 提升开发效率 。
- 不去讲解 CSRF、XSS 等基础概念 , 而从鉴权角度出发 , 让读者对安全有一个立体认知 。
广阔的未来:打铁还需自身硬
目前 , 我们正在经历所谓的“资本寒冬” , 不管是大厂、二线公司还是创业团队 , “优化人员结构”的新闻层出不穷 。 但是据我观察 , “高级前端工程师”的招聘需求却“逆流而上” , 具备高水平和丰富经验的开发者无论何时都备受追捧 。 因此 , 磨炼技能、积累项目经验将是所有前端工程师的核心诉求 。
作为作者 , 我也在思考如何让本书更有价值 , 真正帮助大家突破瓶颈 , 让读者感到“物有所值” , 进而实现技能进阶 。
在本书中 , 我将穿插大量经典面试例题 , 其中既包括我作为 BAT 面试官考查的“私房题” , 又涵盖我作为面试者遇见的“经典题” , 还有我和业界前辈讨论过的“开放题” 。 在平时的开发和学习中 , 我也研读了大量精品文章 , 会一并将感悟分享给大家 。
从开发菜鸟到资深工程师 , 除了主观能动性 , 我个人认为成长过程中的一大瓶颈在于“不是每个人都能有机会接触到好项目 , 进而从中提高” 。 这里的“好项目”是指类似“项目重构”“类库迁移”“复杂应用设计”“疑难 bug 定位”“新技术落地实施”等对开发者基础和设计能力有较高要求的项目 。
为此 , 在本书中 , 我会插入大量有关代码设计模式、函数式、源码分析、组件设计和封装、开源库解读、项目代码组织等内容 , 也会手把手地带领大家查阅Issue、Changelog , 从社区中汲取精华 , 构建更为真实的开发场景 , 直击实践中的高频痛点 。
- Chiplet如何开拓半导体技术的未来
- 如何编写JAVA小白第一个程序
- 如何进行不确定度估算:模型为何不确定以及如何估计不确定性水平
- 学大数据是否有前途 如何系统掌握大数据技术
- Python爬虫入门第一课:如何解析网页
- 小辣椒要移花接木,金立要借尸还魂,抄袭现象如何破
- 如何使用 lshw 查看 Linux 设备信息
- 华为科普:芯片是如何设计的
- 网络安全:如何使用MSFPC半自动化生成强大的木码?「下集」
- 唱战歌!华为南泥湾计划获突破,与俄罗斯强强联手“打天下”