早就计划写这篇文章了,可是没想到过完年来白天晚上一直忙,刚刚工作搭档说晚上有事,今晚不加班,于是就回来补上了这篇文章,虽现在是自由职业,却发现比上班还忙,我每天还照常和上班族一样赶着清晨的第一缕阳光一路走着来到年前的办公室开始这一天的工作。说起过去的一年,MobDevGroup(以下都缩写为MDG)是我花时间最多的一个站,从最初的想法,把浏览器书签整理,到后面越来越多的文章加进来,以至于把我的印象笔记也塞的满满的,不方便查找可能是我一开始的初衷,于是如网站那样分了工具、设计、开发这几块,然后每一个版块下面又分了好多子块,归根结底其实还是想通过分类好找一点,但随着关注的人多了,压力一下子大了起来,很多朋友通过各种方式都给我提了许多建议,说来惭愧,的确是一个人精力有限,也只能部分采纳(不过建议真的都是不错的,这里真希望更多愿意分享的移动开发朋友加入进来经营这个),我从中大概总结了几点想法通过这篇文章分享出来,这也是我在过年假期期间一直在琢磨的一个问题。

如果你看过MDG的话,你会发现有一个问题就是知识点比较零散,不系统,尽管它分过类,我也大概了解关注公众号的用户,可能很多基础知识都不是太牢固,包括我在内对于不常用到的知识点一下子也是很陌生,所以今年我想尽可能的把MDG重点放在系统的构建知识点上面,年前关注MDG的同学可能看到我通过公众平台和MDG微博放的几张图,总结的开发的知识点,但是说实在这个比较老了,另外也太琐碎,所以仅供小伙伴们参考学习。于是就有了现在这个念头,同时也是帮助我自己建立知识体系。移动开发领域已经有很多优秀的公众号(后面我会列举一些我关注的),他们每天都会在上面发布一些不错的技术,有总结,有黑科技、有新技术资讯等等,一个人精力有限,所以我想既然有这么多人都在做了,我就默默关注学习吧,而MDG就换个角度来做一些可以构建基础知识体系的知识点总结吧,虽比不上大神们的公众号,不过出发点是更加系统的学习移动开发技术,从这一点来讲,我会尽力做好它。

过年一直琢磨的这几点,我把它列了出来:

  • 构建开发的基础知识体系,或许你在MDG文章分类能看到这点,不过这次想以原创文章的方式来总结,时间可能会长一点,但没关系,来日方长嘛。
  • Q&A问与答,大体是列一些平时学习过程中常见的问题及解决办法,并总结出来,有这个想法还是我去年看的一本书《App研发录:架构设计、Crash分析和竞品技术分析》,作者对于Crash异常的整理与分析不得不让人竖起大拇指,很少会有人这么去写书,因为这个工作可能需要耗费很多精力来做,同时也更需要平时不断的积累。
  • 开源库,这个其实在我们开发过程中已经离不开了,它可以极大的提高我们的开发效率,所以很有必要学习它,大体是从开源库子版块选择有代表性的去做专题。
  • 辅助开发的资源,也是以文章总结的形式列出来,除了MDG上列出的分类外,比如还可以是我们平时用的软件、看的书籍、关注的App应用、优秀的微信公众号、更可以扩展到kindle帮助阅读的一些使用技巧,浏览器辅助插件,程序员的一些健康注意事项,总之都是围绕我们这一行的做一些总结。

这里还是有必要列一下之前我在博客中提到的一些资源:

  • 官网或者官方视频
  • 开源社区(GitHub、Git@OSC等)
  • 技术分享站(掘金、开发者头条、极客头条等)
  • 订阅开发者博客及开发者周报
  • 关注开发者微信公众号
  • 关注技术问答社区(StackOverflow、SegmentFault等)
  • 关注网络问答社区(知乎、Quora等)
  • 关注阅读社区(Medium、简书等)
  • 关注极客站(V2EX、reddit等)

之前一直有人争议全栈,也有人问过我这方面的问题,在这里我想借用自己的经历来说下我对所谓的“全栈”看法,我一毕业就进了一家创业公司,当时还没有任何移动开发人员,更别说有人和你交流讨论了,一开始Android做起,第一个版本出来后慢慢开始有了团队,后面又经历Hybrid App的开发,iOS的移植,Web App的开发,一路走来,由于是自学,踩了不少坑,总算完成了各个平台的实现,所以我想全栈的苗头一开始都源自老板给逼的,另外还有一点,随着你业务复杂度的增加,你会发现单靠原生开发已经不能更好满足需求,这时候你各种找资料发现HTML5结合会更好,所以又要开始学前端JS,各种形形色色的前端框架,这样随着需求不断增加,你依旧不断地去一路学习。所以到这里我觉得全栈真的不是说简单地学完这个学那个,那样真的是最后什么都不精,我理解的全栈应该是根据你自己的核心业务需求来做周边一圈的技术栈,它和你专一个方向不矛盾,相反或许能为你的需求找到更好的解决方案从而更好地服务核心技术

我们平时做客户端开发的都会有这样一个问题:就是只能做客户端,没有人给提供服务端,就懒得做了,这时候你该想要是有人给我提供服务端,我也能。。。但是记得总有这么一些人其实不这么想,用郭神的一句话“每当你在感叹,如果有这样一个东西就好了的时候,请注意,其实这是你的机会”,因为等别人接口其实是一个被动过程,更何况自己如果想做点东西,没人愿意无偿给你写后端,这时候有人可能会想到聚合数据,但这个只能是一些公共的数据服务接口,并且也有限制条件,我们何尝不自己没事琢磨点怎么弄数据呢,你之前搞过前端的对JS熟悉,是不是也可以会点Node.js做个服务端 造点假数据,如果不想造也完全可以学点Python搞一下爬虫,抓点数据过来,想写好接口再了解Restful架构,如果是考虑安全又想到认证,OAuth、加密、再不行你不是懂Http吗,延伸一下那Https呢?就这样随着你需求的扩大,你的知识体系也一直在扩展,今天还看到一个同学在群里问做Android开发的为什么要懂http、https这类问题,他觉得没有用到,其实不然。

很多时候,提出来一个词就让我们觉得特牛逼,其实我觉得不必在意这些所谓的称呼,话说现在又出来一个爆栈工程师,这个世界上大牛多了去了,真的有基本你提到的他都能全搞定,但是那类人少之又少,他们的存在或许就是让人膜拜的,让你知道这一行人外有人,天外有天。所以还是那句话围绕你的核心技术栈然后根据你的需求来扩展你的知识体系,不用太在乎学多了是负担,学多了就会不精了,这里借用代码家的那句话:“做自己喜欢的事,不用太在乎规矩”,真的是这样。

最后,我也会持续更新MDG站资源,并第一时间在MDG QQ群(Android资源分享群:104575056;iOS资源分享群:69080804;移动前端资源分享群:104575412)和MDG微博分享,我平时很少有在群里聊天的习惯,不管是加的QQ群还是微信群,另一方面也没有太多时间,基本上说话都是发一些资源在里面,所以我也建议小伙伴们把更多时间留在讨论问题上,少一点吐槽和闲扯。

在假期期间,央视财经频道播出的节目《遇见大咖》系列节目第二期里,介绍的是李彦宏,里面有一个情节是百度每年的8月8号夏日狂欢在李彦宏出场时放的背景音乐《Hall of Fame》,国内南征北战演唱的一个和它调类似的歌曲叫《我的天空》,我很喜欢里面的一句歌词:“只要我还有梦 就会看到彩虹 在我的天空”,新的一年愿更多的小伙伴找准自己未来的路并坚定的走下去,你终究会在自己的天空里看到属于你的那片彩虹。

移动开发者/技术爱好者/喜欢开源与分享,欢迎关注微信公众号MobDevGroup,移动开发在线分享:MobDevGroup,我会长期分享干货在上面。