谨以此书献给相信“努力有用”的你
by 大史不说话
《 前端跨界开发指南:JavaScript工具库原理解析与实战》
先做个自我介绍
我是大史不说话,是一名前端工程师,一个相信“努力有用”的、不太聪明的、行动力还可以的程序员。曾经因为一篇《10000小时后,我从外包走进了字节跳动》而出圈,被朋友们戏称为“万时大佬”😂。我2017年走进前端领域,2018年开始技术写作。
为什么写这本书
一半好奇心,一半强迫症
早在正式成为前端工程师之前,我就以个人开发者的身份利用框架和第三方服务实现过完整的产品交付,这样的经历带给我极大的成就感,以至于在刚成为前端工程师的时候,其他同学都致力于讨论框架、源码和前端工程化的时候,只有我像个孩子似的乐此不疲地到处搜罗“JavaScript工具库”,想知道前端除了开发页面以外还能做哪些有趣的事情,渐渐地我才知道,原来世界各地的前端工程师早就在尝试把JavaScript应用在跨平台开发、桌面应用开发、命令行工具、AR、VR、音视频、游戏开发、神经网络、物联网等等各种不同的领域,这时我才知道把“前端”等同于“页面工程师”这种观点真的是有些无知。
当周围的同事大多都在努力提升自己的“技术深度”时,我却秉持着“好读书,不求甚解”的精神在技术世界里玩得不亦乐乎,感觉这个也好神奇,那个也好有趣。我在自己的技术博客开了一个专栏——《一统江湖的大前端》(也就是本书的前身),希望在这里记录并分享自己在探索 JavaScript 的花花世界时的反思和收获,在那时的意识形态里,前端技术首先应该是带给我快乐的,其次才是谋生的手段。当连载写到第7篇的时候,被编辑老师发现了,于是才有了今天的这本书。
写书的另一半原因大概是轻度的强迫症吧,在学习的过程中免不了需要查资料,网上很多文章也都是抄来抄去的,你经常会发现那些比较简单的知识在很多文章里被翻来覆去地讲,但那些真正令自己困惑的细节却很难找到答案,同类的事情发生得多了,反而容易让人变得自我怀疑。很多文章里展示一些代码片段(现在可以直接接沙箱程序去运行,就方便多了),而当你尝试把这些代码粘贴下来去运行时,可能就会得到各种各样莫名其妙的报错,初学者往往很难搞清楚到底是博主提供的代码有问题,还是某个工程配置或是插件导致了错误,结果就变成了“道理都懂,就是Run不起来”的尴尬境地。这种“一知半解”的体验对我来说真的太难受了,于是给自己立了Flag,下定决心对常见的前端技术进行深入学习,并在后续的写作中都尽量提供完整可运行的示例代码。我一直相信,那些困扰自己的问题,绝不可能只困扰着我一个人。
看完本书能收获什么
这是一本致力于拓展前端技术广度的书籍,我在书中挑选了30多个经典的JavaScript工具库,对它们进行了详细地解析,从基本的使用方式到设计原则,从原理源码到周边知识,希望为读者呈现出一个有深度、有广度的立体的JavaScript世界。全书分为6个大的部分,内容涵盖基础工具、图形学、多媒体、跨端开发、游戏开发、人工智能、物联网:
第一部分 基础篇(第1~10章)
笔者挑选了前端工程师日常开发中经常用到的工具,内容主要涉及编写Mock数据、服务端开发、静态代码检查、模块管理工具、实用工具库、函数式编程等内容,帮助初级前端工程师了解日常使用工具的原理和最佳实践,提升开发能力。
第二部分 图形学篇(第11~15章)
主要介绍前端如何实现流程图绘制、Canvas技术使用、数据可视化、SVG技术及3D渲染相关的知识及实战指南,帮助读者了解2D/3D渲染相关的知识,为进军元宇宙打好基础。
第三部分 多媒体篇(第16~20章)
主要介绍如何在网页中绘制PPT、做高性能动画、音频处理和视频处理相关的知识和应用,在短视频技术流行的当下,一线互联网公司中有很多前端工程师专门从事音视频相关领域的研发工作,本章的内容能够帮助你建立对这个细分领域的基本了解。
第四部分 跨端开发篇(第21~25章)
主要介绍如何使用JavaScript编写命令行工具、shell自动化脚本、跨端Hybrid应用、桌面应用,以及如何发送二进制消息或通过控制反转来实现代码解耦,这部分内容旨在帮助读者提升工程化能力和基本的跨端跨界开发能力。
第五部分 游戏开发篇(第26~28章)
主要介绍游戏开发相关的基本知识、开发技巧以及物理引擎相关的知识和实践,每一章都提供了完整的可运行代码和美术素材。
第六部分 跨界实践篇(第29~31章)
主要介绍如何使用JavaScript来实现人工神经网络,利用工具库实现了一个可以语音控制的“吃豆人”游戏,并讲解了如何使用JavaScript来进行物联网的开发。
希望你能够看到,前端技术不仅仅是一个需要持续优化打磨的生产工具,更是一个能够陪你一起探索技术世界的万花筒。
浏览器,并不是前端的边界。
大咖推荐
十年时间里,前端工程师从所谓的“页面仔”发展为“大前端工程师”,前端技术也从满足“兼容IE和页面交互”的基本应用场景延伸为跨越多端且涵盖Server、iOS、Android、PC、AR、VR、图形学、WebAI、IoT等领域的综合技术。WebGPU、WebAssembly、WebWorker、Node等技术的兴起更为前端工程师带来了许多的可能性。我相信,随着Web3.0时代的到来,前端工程师会有更广阔的发展空间。本书详细讲解了前端跨界的优秀工具库,让你一步到位、直接上手体验开发流程,是一本不可多得的好书。
袁志佳 京程一灯CEO
这是一本详细解析前端工具库原理及实战技巧的图书,书中针对精选工具库的背景知识、设计理念、代码案例及特点进行了全方位的讲解,带你步入 JavaScript的神奇世界。多年之前,我也曾写下类似的大纲,打算出一套源码导读及实战的课程,但一直没有精力也缺乏毅力来做这件事。今天看到大史撰写了一系列精彩有趣的代码故事,十分钦佩他的执行力。书中内容由浅入深,与前端工程师的日常工作结合颇多,适合不同层次的读者。感谢大史为前端社区带来这样一本立意新颖的书,也帮我圆了多年前不曾实现的技术写作梦!
Scott 前端早早聊大会创始人
近年来前端技术发展迅速,前端生态非常繁荣,随之而来的则是日渐庞杂的知识体系。大部分前端开发人员并非科班出身,在进入前端领域并掌握主流开发技术后,常常会因为不知道如何进一步提升自己的技能和视野而感到困惑。这本《前端跨界开发指南:JavaScript工具库原理解析与实战》从优秀的JavaScript工具库入手,对其使用方式、设计原则、底层原理和周边知识等进行了详细的剖析,为读者展现了一个丰富多彩的JavaScript世界。如果你对前端的理解也仅限于“使用框架还原页面”,那么请不要错过本书,它会带你领略JavaScript的无限可能。
杜文(wendux) 前端技术专家、《Flutter实战》作者
看了这本“前端框架辞典”,很是感慨,要是2015年就有这样一本书,那我在开发公司的交易管理系统时,就不用在“哪个框架能实现某某功能”这类问题上花费大把时间了。而你是幸运的,有了这本书,你可以快速找到帮你解决问题的框架,大大提升工作效率。
安晓辉 《职业复盘》《大话程序员》等图书作者
适读人群
如果你是一名前端初学者
那么我真诚地向你推荐这本书,相信它能够有效地帮助你扩展技术视野,进一步提升技术能力;
如果你是一名资深前端人
希望你能把它推荐给其他需要的朋友,帮助他们在肉眼可见的就业低潮期厚积薄发,静待花开;
如果你不是前端工程师
这本书或许也适合你,因为只需要基本的JS知识,就可以快速了解前端技术的应用场景,做好跨界知识储备。
资讯 |《Java核心技术》基于Java 17全面升级!
干货 |再见了Java8,Java17:我要取代你
干货 |市面上的大前端岗位到底是做什么的?
点击阅读全文购买