《App研发录》面世

  古者富贵而名灭,不可胜记,惟倜傥很是之人称焉。故西伯拘而演《周易》,屈原放逐,乃赋《离骚》。文人雅士一次次的谱写着千古绝唱,而我亦不能免俗,也要附庸风雅,写一部前不见古人、后不见来者的经典之做。html

  因而,历时一年,呕心沥血,结合自身3年来从事App领域的一线实战经验,再辅之以从事软件行业十余载的奇技淫巧,写下这洋洋洒洒三百多页十几万字。初稿完成后,就如同和氏璧般,竟找不到出版社愿意出版,而我又不愿妥协,去写那些无关痛痒的语法介绍和UI布局等入门级章节。就在这时,杜勇帮我介绍了机械工业出版社的吴怡老师,促成了这本书的出版。程序员

  临近出版之际,约到了周鸿祎和刘江、屠毅敏等人的序言。刘江老师是带我进入图书出版的引路人,回想起来也是八年前的事了;而屠毅敏则是WaxPatch的发明者,全世界第一个解决了iOS热修复线上bug的人(JSPatch要晚好几年)。提及周鸿祎,那是我在某个微信群误打误撞认识的,他欣赏我一条路走到黑的研究精神,而我则欣赏他的个性张扬。现实中咱们从未见过面,前几天我去360给他送样书,保安不让进,我也只好铩羽而归。算法

  购书地址:http://item.jd.com/11791229.html编程

  随书源码:http://www.cnblogs.com/Jax/p/4656789.html设计模式

 

 

  最后,附上本书的前言,以飨读者:缓存

 

皇皇三十载,书剑两无成 微信

  在你面前娓娓而谈的我,曾经是一位技术宅男。我写了6年的技术博客,500多篇技术文章。十年编程生涯,我学习了.NET的全部技术,可是从微软出来,踏上互联网这条路,却发现本身仍是小学生水平,当时恰逢三十而立之年,感慨本身多年来一事无成,因而又开始了新一轮的学习。选择移动互联网这个方向,是由于这个领域全部人都是从零开始,你们都是摸索着作,初期没有高低上下之分。网络

  在此期间,我作过Window Phone的App,学会了Android和iOS,慢慢由二把刀水平升级到现在的著书立说,原本我想写的是iOS框架设计,由于当时这方面的经验积累会更多一些,2013年的时候我在博客上写了一系列这方面的文章,惋惜没有写完。现在这本书是以Android为主,可是框架设计的思想是和iOS一致的。框架

  做为程序员,不写本书流传于世,貌似对不起这个职业。2008年的时候我就想写,可那时候积累不够,所知所会可能是从书本上看到的,因此没敢动笔,而是选择翻译了一本书《MSIL权威指南》。翻译途中发现,我只能老老实实地按照原文翻译,而不能有所发挥。我渴望能有一个地方,天马行空地将本身的风格淋漓尽致地表现出来,在写这本书以前,只有个人技术博客。函数

  终于给了本身一个交代,东隅已逝,桑榆非晚。

 

文章本天成,妙手偶得之

  这是一本先后风格迥异的书,以致于完稿后,不知道该给本书起一个什么样的书名。只但愿各位读者看过以后能获得一些启示,我就心满意足了。

  下面介绍一下本书的章节概要。本书分为三个部分共计12章。

  第1章讲重构。这是后续3章的基础。先别急着看其余章节,先看一下这一章介绍的内容,你的项目是否都作到了。

  第2章讲网络底层封装。各个公司都对App的网络通讯进行了封装,但都稍显臃肿。我介绍的这套网络框架比较灵巧,并且摆脱了AsyncTask的束缚,能够在底层或上层快速扩展新的功能。这样讲多少有些自卖自诩,好很差仍是要听读者的反馈,建议在新的App上使用。

  第3章讲App中一些经典的场景设计,好比说城市列表的增量更新、缓存的设计、App与HTML5的交互、全局变量的使用。对于这些场景,各位读者是否有似曾相识的感受,是否能从个人解决方案中产生共鸣?

  第4章介绍Android的命名规范和编码规范。网上的各类规范多如牛毛,但咱们不能直接拿来就使用,要有批判地继承吸取,要总结出适合本身团队的规范。因此,即便是我这章内容,也请各位读者有选择地采纳。我写这一章的目的,就是要强调“无规矩不成方圆”,代码亦如是。

  第5章和第6章组成了Android崩溃分析三部曲。写这本书用了一年,其中有半年多时间花在这两章上。一方面,要不断优化本身的算法,训练机器对崩溃进行分类;另外一方面,则是对八十多种线上崩溃追根溯源,找到其真正的缘由。

  第7章讲Android中的代码混淆。本不应有这一章,只是在工做中发现网上关于ProGuard的介绍大都只言片语。官方却是有一份白皮书,可是针对Android的介绍却不是不少,因而便写了这章,系统而全面地介绍了在Android中使用ProGuard的理论和实践。

  第8章讲持续集成(CI)。十年传统软件的经验,使我在这方面驾轻就熟。这一章所要解决的是,如何把传统软件的思想迁移到App上。

  第9章讲App竞品分析,是研究了市场上几十款著名App并参阅了大量技术文章后写出的。以前积累了十年的软件研发经验,这时极大地帮助了我。

  第10章讲项目管理,是为App量身打造的敏捷过程,是我在团队中一直坚持使用的开发模式。App通常2周发一次版本,迭代周期很是快,适合用敏捷开发模式。

  第11章讲平常工做中的问题解决办法。那是在一段刀尖上舔血的日子中总结出的办法,那时天天都在战战兢兢中度过,有问题要在最短期内查找到缘由并尽量修复;那也是我的能力提高最快的一段时光,每一次成功解决问题都伴随着我的的成长。

  第12章讲App团队建设。我是一个孔雀型性格的老板,因此个人团队中可能是外向型的人,或者说,把各类闷骚型技术宅男改形成明骚;我是从技术社区走出来的,因此我会推崇技术分享,关心每一个人的成长;我有8年软件公司的工做经验,因此我擅长写文档、画流程图,以确保一切尽在掌握之中。有这样一位奇葩老板,对面的你,还不快到个人碗里来,个人邮箱是16230091@qq.com,个人团队,期待你的加入。

 

心如猛虎,细嗅蔷薇

  话说,我也是无心间踏上编程这条道路的。若是不是在大三实在学不明白实变函数这门课的话,我如今也许是一个数学家,或者和个人那些同窗同样作操盘手或是二级市场。

  我真正的爱好是看书,最初是资治通鉴、二十四史,后来发如今饭桌上说这些会被师弟师妹们当作怪物,因而按照中文系同窗的建议翻看张爱玲、王小波的小说,读梁实秋的随笔。在复旦的四年时光,熏出了一身的“臭毛病”,好比说看着夜空中的月亮会莫名其妙地流眼泪,会喜欢喝奶茶而且挑剔珍珠的口感。

  不要觉得程序员只会写代码。程序员作烘焙绝对是逆天的,由于这用到软件学中的设计模式,我也曾研发出失败的甜品,作饼干时把黄油错用成了淡奶油,而后把烤得硬邦邦的饼干次日拿给同事们吃。

  我涉及的领域还有不少,好比煮咖啡、唱K、看老电影,都是在编程技术到了必定瓶颈后学会的,每一类都有很深的学问。不要一门心思地看代码,生活能教会咱们不少,而后反过来让咱们对编程有更深入的认识。

  心如有桃园,何处不是水云间。

 

会当凌绝顶,一览众山小

  若是后续还有第二卷,我但愿是讲数据驱动产品。就在本书写做期间,个人思想发生了一次升华,那是在2015年初的一个雪夜,我完成了从纠结于写代码的方法到放眼于数据驱动产品的转变。这也是这本书前面代码不少,越到后面代码越少的缘由。

  数据驱动产品是将来十年的战略布局。以前,咱们过多地关注于写代码的方法了,却始终搞不清用户是否愿意为咱们辛辛苦苦作出来的产品买单,技术人员不知道,产品人员更不知道。产品人员须要技术人员提供工具来帮助他们进行分析,好比说ABTest,好比说精准推送平台,好比说用户画像,而咱们检查本身的代码,却发现连PV和UV都不能确保准确。

  这也是我接下来的研究和工做方向。

相关文章
相关标签/搜索