一本技术书的创作故事:《现代JavaScript库开发》一年回顾

从2013年至今,我陆续创作了多个库,关于如何开发JavaScript库,我也做了一些总结和分享,借这个机会,下面做个简要回顾。

2015年,我发布了zepto.fullpage,一款轻量级的全屏滚动插件。

2016年,我发布了前端模板template.js。

2018年是一个里程碑,我给公司搭建了Util.js,同时开源了jslib-base v1,并撰写了《如何写一个现代的JavaScript库》一文,开始将自己的经验分享给大家。

2019年,我一边搭建jsmini,一边开始着手撰写《现代JavaScript库开发:原理、技术与实战》

2021年,我给公司搭建了jssdk,作为Util.js的升级版。

2023年1月,《现代JavaScript库开发:原理、技术与实战》正式出版。

2023年10月,jslib-base 发布了v2版本,带来重要升级。

时光飞逝,《现代JavaScript库开发:原理、技术与实战》已经出版一年了,本文主要内容包括,书籍影响回顾,读者问题答疑和我自己的一些总结和感悟。

书籍影响回顾

初稿完成后,我就发给很多朋友试读,也收获了很多前端专家的推荐语,这些都记录在书籍开头了,这里不再展开,再次感谢为本书出版带来帮助的所有朋友。

自本书出版以来,就受到广大读者们的欢迎,下面我从三个方面梳理记录下:

1. 销量:

自书籍面世以来,它迅速登上了京东新书榜首,并在飙升榜上一马当先。

在当当网,它也荣登销量榜首位,显示出它在读者中的受欢迎程度。

这些成绩不仅反映了市场对本书的认可,也证明了JavaScript库开发领域的热度和重要性,当然也要非常感谢出版社运营老师,真的非常专业。

2. 奖项:

在个人荣誉方面,我有幸连续两年(2022年和2023年)被评为"优秀作者",这是对我多年来在技术写作和开源贡献上不懈努力的认可。

2023年,我还被授予"技术领路人"称号,这不仅是对我的个人成就的肯定,也是对本书影响力的一个证明。

3. 评价:

在读者评价方面,本书在豆瓣、京东以及微信读书等平台上都收获了极高的评价。读者们赞赏书中对JavaScript库开发的深入剖析和实用指导,认为它不仅适合初学者入门,也适合资深开发者深入研究。这些正面的反馈是对我的工作最好的鼓励,也激励我继续在技术领域探索和创新。

豆瓣评分一直稳定在8.5分上下,节选如下:

京东好评率95%,这是读者真金白银给出的评分,节选如下:

微信读书好评如潮,节选如下:

本书目前也出版了繁体版,你觉得哪个设计更好看呢。

问题答疑

一本书籍让所有人都满意,显然是不太现实的,毕竟重口难调,我认真汇总并分析了网友的意见反馈,最主要的问题是一些网友反馈指出书中所用工具的版本较为陈旧。这个问题的产生主要是因为写作过程跨越了四年的时间,而技术领域的发展日新月异。

对此,我想说明几点:

首先,书中所写的工具和技术都是我在实际开发过程中所使用和验证过的。在我的众多开源库中,都是用的这一版,它们虽然可能不是最新版本,但都是经过实战检验的成熟方案。

其次,书中对于工具的版本选择是有意为之。我在书中固定了版本号,目的是为了避免因工具升级带来的不一致问题。这样可以确保读者在跟随书中示例学习时,能够获得和我当初写作时相同的体验和结果。

最后,我也意识到技术的更新换代是不可避免的。因此,我在近期对jslib进行了升级,推出了jslib v2,其中包含了对工具和库的最新版本更新。这样一来,读者可以在学习书中的基础原理的同时,也能接触到更现代的工具和技术。

总之,我希望读者能够理解书中的内容是基于当时的技术环境所编写的。虽然具体的工具和版本可能会有所变化,但书中所讲述的原理和思想是恒久不变的。同时,我也会继续关注技术发展,不断更新和完善自己的工作,以便为读者提供最新的学习资源。

我的收获

在本书的写作过程中,我收获了许多宝贵的经验和深刻的感悟。

首先,在写作初期,我采用了自己开发的gitbook-boilerplate,这让我能够使用熟悉的Markdown进行写作,并利用Git来管理版本。整个过程中,我提交了273个commit,这个数字见证了我对每一个细节的不懈追求。交稿后,书籍经历了三审三校的严格把关,主要借助WPS的审阅功能,期间我做了超过2万次的细节修改,这个过程虽然漫长且辛苦,但也是提升书籍质量的关键步骤。

在写书的过程中,有些人喜欢在一个主题下不断地添加内容,进行"加法"。而我则倾向于"减法",即在JavaScript库开发这个主题上,我努力将内容精简到不能再减少。这种做法让书籍更加聚焦和精炼,是我在写作过程中学到的一个重要道理。

关于写书,最关键的是要确定一个清晰的大纲,这通常是通过对主题进行深入思考和反复推敲来实现的。一旦大纲确立,接下来的工作就是按照小节、篇章去填充内容。每一小节的写作量大致相当于撰写一篇博文,因此,坚持下去是成功的关键。如果你也有写书的梦想,欢迎联系我交流经验。

最后,我还学到了一个重要的道理:在写书的同时,也要兼顾好工作和家庭。写书最大的挑战之一是时间管理。我通常给自己设定一些小目标,比如每次只写300字或者一段话。你会发现,一旦开始坐下来写,成果往往会超出预期。

总之,写书是一段充满挑战但也极具成就感的旅程。通过这次经历,我不仅提升了自己的技术和写作能力,也收获了对生活和工作的新认识。

未来展望

在未来的JavaScript库开发领域,我预见到几个重要的趋势和期望:

  • 构建工具Rust化:随着Web应用的复杂度不断增加,对性能的要求也越来越高,前端构建打包lint工具,都在经历Rust重写,知识目前阶段还不成熟。

  • TypeScript的普及: 随着TypeScript的普及,越来越多的JavaScript库将支持或直接使用TypeScript进行开发,以提高代码的可靠性和开发效率。

  • 新技术的融合:我们将看到更多的JavaScript库整合新兴技术,如WebAssembly等,以拓展其应用范围和性能极限。

针对这些趋势,我最近发布了jslib-base 2.0,旨在支持旧仓库的一键升级,并引入了一系列改进,包括:

  • 升级全部工具到最新版
  • TypeScript库接入Babel工具
  • 添加Prettier、Commitlint和Husky
  • 添加一个本地server
  • 支持Node exports condition
  • 迁移Travis到GitHub Action

按照本书内容新建的库,可以支持一键升级,也算解决了网友反馈的书中工具版本陈旧问题。

我相信,通过这些更新和改进,jslib-base 2.0将为JavaScript库开发提供更强大、更灵活的基础设施,帮助开发者更高效地构建和维护他们的项目。

结语

在过去的五年里,我倾注了无数的心血和热情于《现代JavaScript库开发:原理、技术与实战》这本书的打磨和关注中。四年的写作,加上一年的出版后维护,每一步都凝聚了我的努力和对技术的热爱。这本书的每一个字、每一个例子,都是我对JavaScript库开发领域的深刻理解和实践经验的体现。

我非常感激每一位读者的支持和鼓励,是你们的肯定让这本书能够发光发热,也是你们的反馈和建议让我不断进步。这篇文章,我献给所有支持我的人,也献给我自己,作为这五年旅程的一个总结和纪念。

现在,是时候展望未来了。JavaScript库开发领域仍然充满了挑战和机遇,我期待着能够继续在这个领域探索和前进。如果有机会,我愿意撰写这本书的第二版,以分享更多的经验、技术和思考。

再次感谢大家的支持,让我们一起期待未来的可能性!

资源汇总

  • zepto.fullpage,专注于移动端的fullPage.js。
  • template.js,一款 javascript 模板引擎,简单,好用。
  • jslib-base,最好用的 JS|TS 第三方库脚手架,10 秒快速搭建一个新库的基础框架。
  • jsmini,Simple and beautifu library for JavaScript.
  • gitbook-boilerplate,一个基于gitbook快速写电子书的模版。
相关推荐
喵叔哟3 分钟前
重构代码之取消临时字段
java·前端·重构
还是大剑师兰特44 分钟前
D3的竞品有哪些,D3的优势,D3和echarts的对比
前端·javascript·echarts
王解44 分钟前
【深度解析】CSS工程化全攻略(1)
前端·css
一只小白菜~1 小时前
web浏览器环境下使用window.open()打开PDF文件不是预览,而是下载文件?
前端·javascript·pdf·windowopen预览pdf
方才coding1 小时前
1小时构建Vue3知识体系之vue的生命周期函数
前端·javascript·vue.js
阿征学IT1 小时前
vue过滤器初步使用
前端·javascript·vue.js
王哲晓1 小时前
第四十五章 Vue之Vuex模块化创建(module)
前端·javascript·vue.js
丶21361 小时前
【WEB】深入理解 CORS(跨域资源共享):原理、配置与常见问题
前端·架构·web
发现你走远了1 小时前
『VUE』25. 组件事件与v-model(详细图文注释)
前端·javascript·vue.js
Mr.咕咕1 小时前
Django 搭建数据管理web——商品管理
前端·python·django