我的新书《Flutter 开发之旅从南到北》终于和大家见面了!(抽奖送书啦)
书中第一句话是 “当读者翻看这本书时,心情应该是激动的。”,由于疫情原因,书的出版计划延迟了不少时间,今天我也刚收到实体书,确实激动,我的新书《Flutter 开发之旅从南到北》终于和大家见面了!
阅读时间不多的读者可以直接到底部参与抽奖活动。🎉🎉
写书历程
从 2018 年底与人民邮电出版社对接,到我翻译完《Android Things Projects》之后,就立即开始了这本书的写作了,过程有点枯燥,但也还是有一些有趣的事情可以和大家分享。
在与人民邮电出版社正式签订出版合同之前,其实有过几家其他图书策划公司联系过我,心里动摇过,但是毕竟写书和写博客不同,我还没准备好,不敢接这么一个大 “项目”,也因为我的犹豫,浪费了当时的编辑老师不少的时间来与我沟通,实在抱歉!
与人民邮电出版社合作的契机是我翻译完《Android Things Projects》之后,和他们的一段简短的交流,因为我自己擅长前端和原生开发这一块,Flutter 当时的势头也是太过抢眼,编辑比较感兴趣,我说你们不打算找专家出一本吗?编辑看了我的文章后就想让我试试,因为已经合作过了,也建立起了信任,就想着先把样章、目录写出来给她过过目,这一写就停不住了。
书中很多重要的内容其实是在疫情期间完成的,说起来这也算是能让我安心在家写书的一个很大的动力,当时几乎是每天起床的第一件事就是看昨天的稿子再修改,一坐就是一天,经常写完就已经是傍晚了,有一天都忘了去厕所,去了发现鞋子都穿反了...
写书过程中我灵机一动想出一个我自认为特别好的名字《Flutter 技术从南到北》,意在 “从入门到进阶,从理论到实践,从 Dart 到 Flutter,从应用层到源码层”。没想到书稿和插图做完之后,出版社说这名字太 “抽象” 了,作为书名不太合适,我说你们要叫啥?《Flutter 入门到进阶》吧,我一下子就慌了,这也太大众脸了,有人愿意买吗?最终在我据理力争下,变成了现在的《Flutter 开发之旅从南到北》,名字怎么样?
书的封面出版社原先做了三版,我看到之后觉得都挺好,无法选择,就在朋友圈问了一帮大佬,他们都觉得可以选第一个或者第三个,我悄咪咪地回复他们说其实我开始比较中意第二个。
然后,我就跟出版社说我比较喜欢第二款的样式,但也想要第三款的图标,能不能中和一下,于是他们就设计出了下面这一版。
我去,这也太丑了,我顿时觉得我的审美已经与常人出现了严重的偏差,还是让他们在第三个上面做做文章吧,于是有了现在的封面,还不错吧?
说实话,到现在我都有些意犹未尽,中途一度想边写边发出来,一直憋着没人看也很难受,博客那一段时间也都一直没在更新。过程确实心累,希望能有不错的成绩!
内容介绍
Flutter 这阵风还能刮多久,目前来看已经开始往成熟方向发展了,每一次新的版本迭代,都会有新的 API、新的组件,我希望《Flutter 开发之旅从南到北》能把那些不变的东西讲清楚,如三棵树、自渲染组件、状态管理等等,我希望它能不被时间淘汰,成为一本 Flutter 开发者的必备书籍!
《Flutter 开发之旅从南到北》全书共 12 章,从内容的创作层面看可以理解为是 “从入门到进阶,从理论到实践”;从技术层面看可以理解为 “从 Dart 到 Flutter,从源码层到应用层”。
前三章可以作为读者们入门 Flutter 的踏脚石,其中主要介绍了 Flutter 技术的起源、移动开发的历史、 Dart 语言基础以及 Flutter 中的基础组件等。这部分内容会以理论为基础,并结合实战,不但能使读者们掌握它们的用法,而且也会深入原理,解析组件渲染的流程。
在学习完入门必备的知识之后,4~9 章又将 Flutter 知识体系拆解为了布局管理、动画管理、手势管理、路由管理以及状态管理五个部分,每个部分相互独立但又环环相扣,其中 Flutter 中三棵树的概念就作为了连接它们的一支穿心箭,读者们可以用过关斩将的心态去阅读这部分的内容。每学习完一章的内容便又是另一个话题的开始,我相信读者们学习完这部分的内容后不但能够建立起 Flutter 技术的完整体系,而且也能在技术深度方面有一定的提升。
本书的第 10 章和第 11 章讨论了 Flutter 中网络通信和应用测试这两个话题,这是移动端应用开发的共同话题,如果你是原生应用或者 Web 方面的开发者,可以将这部分的内容与你已经掌握的技术作比较,这是一名有经验的开发者学习一门新技术的最佳方式。
最后,本书又以一个完整的在线商城应用的实战案例作为结尾,总结了前部分学习的内容。
下面的结构图,大概涵盖了书中的知识点:
书的插图是我单独抽出一段时间做的,目的是希望能将一些像状态管理和组件重建之类的抽象概念表达的更清楚:
和书一起的也有开源的配套源代码(https://github.com/MeandNi/flutter_source_code),涵盖了大量书中的案例和其他示例供大家参考。另外,这里的代码示例独立且开源,意味着读者们完全可以单独使用或者以其为模板创建更加复杂的应用。
出版社的编辑和我说从南到北的目录好像和其他书有些类似,有没有必要修改一下章节标题,我觉得没必要,技术类书籍知识体系本来就差不多,还是重在内容吧,而且我觉得书的整体结构和思路与其他书还是有很大差别的。
下一步
由于实体书的出版流程实在是复杂,写作整本书然后走审核流程需要花费大量时间,也并没有多少的酬劳,所以今后自己写书应该都会直接开源或者放在公号和博客上了,现在我也已经在着手写下一本的完全开源的书了,猜猜是什么?
很早就想做做公众号了,因为没事写博客、译文章总希望有个平台能让更多的人看见,但管理起来确实很复杂,时间也耗不起,掘金和在线博客也挺好的。但书出来之后还是希望能和读者正面交流,我的下一步计划也是做一系列的关于《从南到北》的书后拓展、勘误、版本更新,就顺着大势势开通了起来,目前是想好好运营,希望能把它做成一个传播新技术的媒介。
为什么选择推广新技术?学技术最重要的两环我觉得一个是专业基础,另一个就是新技术,专业基础可以让你有厚积薄发的能力,而新技术可以让你实现弯道超车,我写 Android Things 或者 Flutter 都是希望能尽力实现这个愿望,不只是移动端,Go、kotlin 都可能是代替陈旧技术的新势力。
不能在社区直接放二维码了,那大家就微信搜索「MeandNi」或者点击扫码吧,看到那个性感的头像就知道是我没错了。
致谢
真的很感谢在百忙之中能抽出时间,阅读我书稿并给出建议的,徐宜生老师,郭树煜老师,王鑫磊老师,袁辉辉老师,董军军学长等等,还要感谢郭霖学长给我的长文鼓励!期间真的很感动,有空来南京一定请吃饭。还要感谢 Flutter 官方团队、Flutter 中文社区、郭树煜(@恋猫的小郭),杜文(@wendu),王鑫磊(@Vadaski)等老师为 Flutter 社区提供的大量优秀的学习资源。
购书
说了这么多,不知道大家有没有很期待看到书中的内容,目前《Flutter 开发之旅从南到北》已经在各大商店同步发售啦,参见下面自营书店的地址:
当当自营:
京东自营:
目前当当和京东都有满 100 减 50 的活动。
送书活动
到这里,送书估计也是免不了了,大家可以扫描下方活动二维码加入这次抽奖(虽然关注度不高,但中奖率高啊)。
另外,也可以点击本篇微信文章右下角 “在看” 参与额外的抽奖(额外送出 5 本)。由于微信后台看不到用户信息,所以想参与额外抽奖的读者们需要将 “在看” 后的截图私信发送到公众号后台或者扫码加微信「MeandniBlog」,我会在 48 小时之内回复你加入抽奖群。
这次会先送出 10 本纸质书,关注量实在是不高😂,中奖率真的很大,之后也会陆续有更多的电子版和纸质版的活动。