掘金 AMA - 听 HenCoder 作者扔物线谈移动开发前景

4,417 阅读8分钟

两个星期前的 沸点,掘金团队请来了前 Flipboard 团队开发者、Android 技术分享项目 HenCoder 的作者 @扔物线 (朱凯) 做了为期一周的 Ask Me Anything (AMA) 活动。我们在此精选了一些来自用户的提问及扔物线的回答。

关于扔物线:

掘金 AMA:@扔物线(朱凯)
掘金 AMA:@扔物线(朱凯)

大神你好,推荐几本不错的书,给初学者,即将步入职场的年轻人。─ @沿辉君

书的推荐是日经问题了,但我觉得我还是无法给出好的回答。首先,不同的人有不同的方向,适合的书也会不一样,这本书对你很有用但可能对他就没太大价值;另外,我自己读的书其实也不多,在这些书里,大家都推荐的 Thinking in JavaEffective Java 我觉得很优秀,但其他同类的书我并没有读过所以无法给出「这两本比其他的好,你看它们吧」之类的评价,其他类别的书同理,我个人阅读量不大所以无法给出自认为足够客观的推荐。

不过呢,对于新人的发展我倒是有一些自己的看法。我个人对于技术发展的观点是,有空的时候学基础,没空的时候学上层应用。所以如果是新人的话,抓紧把下层的知识多补充一点,对未来的作用会非常大。因为往往决定你最终高度上线的会是偏基础的东西,可是当你进了职场,可能就会发现没有那么多工夫来补充基础了。

作为一位资深的 Android 开发者,请问您觉得哪些技能点是比较重要的?─ @tianyu

目前来说,我觉得大多数人最需要的是 UI 和网络相关的扎实基础。这也是我做 HenCoder 的原因。(好像泄露了一些未来的计划)

Android 开发,或者说移动开发者的未来有怎样的思考?─ @IAM四十二

1) 做好手头;2) 谨慎、果断地逐步转型。

做好手头:无论趋势再怎么发展,当下主流的东西先掌握好是最重要的。毕竟所谓当下的东西,本来就是历史发展大家研究出来认为最好用的东西。比如 Android 的 native 开发。

谨慎、果断地逐步转型:趋势的东西,其实就是思想先进的人们对未来做出预测,认为会更适合未来的东西。未来的东西到了未来再去研究就有些迟了,当然应该提前做准备。但所谓的趋势和当下、A 领域和 B 领域,其实很多时候并没有明显的分界线。native 开发好还是 html 方案好?没有那么绝对的,也没必要在某年某月到来之前下一个决定「以后要专注 native 或 html」。跟随趋势,慢慢进步和转型,让自己时刻保持最适合当下的状态就好,毕竟时代也不是突然就变了的。「Android 开发没人要了」我们当做表情包互相甩甩很好玩,但真没必要吓得赶紧买两本 html 的书猛啃一番。

哈。

对 Kotlin 怎么看?─ @MacroShaw

一直觉得 Kotlin 能不能成气候最重要的并不是它有多好,而是有没有 Google 的支持。现在 Google 已经官方挺 Kotlin 了,我目前对它还是略微看好的。

不过鉴于谷爹以往的行为,半道发现 Kotlin 实在坑太多而放弃的可能性也是有的,所以我只是「略微看好」。

你好,请问你是怎么看待移动开发未来的前景?是否已经再走下坡路了?─ @彷梓

如果你所说的「移动开发未来的前景」指的是 iOS 和 Android 工程师的职位和薪资情况,我觉得目前它们应该是正在「走下坡路」的。不过这个问题其实大家有目共睹了,我的回答也没什么意思哈,大家都知道现在 iOS 和 Android 工程师不好找工作了。

但我想多说点的是,它们现在走下坡是因为之前太火爆,而现在需求减少是正常的市场反应,这种趋势最终还是会走向平衡。我觉得对于没有工作内容与技能偏好的职场新人,「随便选个最火的方向」来入行,可以以此来作为判断的条件;但对于已经有了几年工作经验的人,其实没必要太在意这个,因为所有火爆的工作最终都会被人挤满而走向普通,最终决定你高度的是你的专业水平。换句话说,有水平差的人垫底儿呢,不怕不怕(误)。

当然,如果一种职位或职业方向的未来将会由于市场需求的锐减而几近消失,那么我们应该果断放弃,立即转到其他方向,决不能舍不得当下的轻松工作和高薪资。但 iOS 和 Android 明显不是这种情况,至少现在不是。所以,放心啦。

大佬您工作多少年了?─ @张拭心

从毕业开始算的话,6年了。不过我期间在家待(耽误)过 2 年……

你说要做好的技术分享,那么你判断一个技术分享(演讲或文章)是否优秀的标准是什么?─ @凤尾V

我自己的判断原则很简单:我写一篇文章或者做一次演讲之前,都会想,这篇文章(这次演讲)是否能让读者成长。这需要很多因素共同存在才能达到:需要讲得有趣,不然别人看(听)不下去,那讲了也是白讲;需要循序渐进,不然别人脑袋被太多的新概念撑爆了,会学得稀里糊涂;需要浅显易懂,不然你自己作为作者懂了但人家读者没懂,那只能算是总结,不是技术分享;需要让别人不仅看懂还要记住,不能看的时候点头看完转脸就忘;最后,也是最基本的,讲的东西需要是可用而且实用的,要让人能用来解决实际问题,而不只是装逼炫技。

当然了,上面只是我作为一个作者的判断策略,因为我要用来指导我自己写作和演讲,所以比较麻烦。而对于读者,我的判断方式很简单:一个分享,我在读完或听完后过一段时间(例如一周),我是否变得比以前更强了。这一条判断标准就够了。

做开发真有年龄限制吗?35岁后如果做不到公司管理层是不是就得考虑转行做其他?─ @青青子衿本尊

「XX 岁往上必须转管理,否则就完了」的观点,我是这样猜测的:多数人并没有持续提升技术的意愿,因此在工作几年后,便会由于工作能力和年轻人差不多,但偷工减料、推卸责任踢皮球的技法和要工资的能力却比年轻人高很多而被年轻人后浪推前浪踩下去,因此这些人会觉得,年龄大了就要转管理,不然迟早被年轻人干掉。

当然这只是我对这种观点进行的猜测,具体他们为什么这么说我不知道,反正我不认可这种观点。

大神有什么好的 Android 开源项目推荐吗?或者说您比较喜欢的开源项目有哪些?─ @Codeur

这个应该去代码家的 gank.io 看看。

如何看待目前比较火热的基于 Web 的原生 app 的开发,诸如 React Native, APICloud 等等,会大面积导致原生开发没落吗?─ @寒平洛一

没落不可能,但抢一些饭碗应该是必然了。另外,我的个人观点是,与其担忧自己地位的下降,更重要的还是不要把自己定位得太死比较好,比如「我是 Android 工程师所以我不学 js,也不做 React Native」。React Native 给前端工程师写原生应用提供了一些方便,也为跨平台开发提供了方便,同时也给原生开发者带来了新的学习列表。不过有句话不是说么,「我有什么办法?我也很无奈啊」。

请问 @扔物线 大神,对于想要提高自己水平的Android开发者来说有哪些好的网站、工具或者资源?─ @notwfw

我最喜欢的有两个地方:官方的指导文档以及 YouTube 上 Android 团队出的一些短视频教学。这二者相比的话,我更喜欢官方指导文档。

请问您觉得 Android 应用开发中最大的难点是什么?─ @HuangJR

对我个人来说的话,最难的地方其实是自己的性格:总想做出完美的大结构,结果导致耗费了太多的时间在这种所谓的「大菊观」上。

大佬,你剃光头是因为秃了吗?─ @Zomll

不是啊,因为光头比较方便涂润滑油。


这次 AMA 我们还收集到了很多有趣的问题,扔物线也很认真地为掘金社区的同学们解答了不少疑问。浏览更多的问答,可以到活动页进行阅读和讨论。

同时,也欢迎大家关注掘金移动端开发公众号 MobileDev,获取更多社区精选的 Android 和 iOS 开发干货。

关注 MobileDev 公众号
关注 MobileDev 公众号