2016年同2015年一样,在我还没有做好心理准备的时候,一晃神就到了年底。年关将近,不知诸君心情如何,年初的规划实现了多少,来年的计划又是否已有了眉目。年过三十的Peak君感觉年关是越来越难过了,越喧嚣的时候越想静处,感慨越多能说出口的反而越少。
近来有读者问Peak君为何最近这么多产,原因无他,仅为缓解年关将近的焦虑感。今年要说有什么收获,该算发现坚持写字所带来的好处。最近感觉尤其明显,只有沉浸在技术的纹理脉络之中时,才能像老僧坐定一样心无所想。看着博客和公众号里40多篇技术文章时,总算能略有慰藉,告诉年初的自己今年不算完全荒废了。
闲话不提了,今天Peak君和大家一起盘点下2016年iOS技术圈发生的一些大大小小的事,不求全面深入,但做记录之用。
创业公司入冬
过去一年,应该不少人都感觉到了,对于创业公司来说,Winter has come。投资人缩紧口袋,用户选择App更加理性,大大小小的细分市场被洗牌定格,对于每个创业团队来说,2016年必定是艰难的一年,熬过去了或许是光明,又或许是更为艰难的2017年。
更艰难的是,被大局影响的无数微小的个体,被创业大潮卷进之后,这个行业的起落兴衰必将和我们的生活息息相关。
今年10月份,春雨医生创始人张锐,猝死在公司IPO的前夕,张锐妻子在头七发表的一篇悼文《一个人,和他的爱》在朋友圈让数十万人唏嘘落泪。创业从来不是件简单的事,总会在潜移默化之间占去我们更多的时间和精力,甚至是健康,让我们无暇顾及和思考自己的生活该是什么样子,或许这件事能提醒我们更多的去关注自己的身体,更加去关心身边重要的人。我已经记不得今年有多少次,老妈打电话过来,问我为什么这么久没打电话回家时,我无奈的回说工作太忙了。
对于在职的同学来说,最冷酷的消息莫过于裁员或者公司倒闭了。今年一年的大小公司裁员事件太多了,多到让人怀疑这个行业是否还有前景。过去几年布局七大生态的乐视,今年遭遇了前所未有的危机和质疑,乐视的影子之下是更多开发者所处的团队被解散,微博和公众号里弥漫着裁员的阴影,提醒暂时还安全的我们居安思危,时刻提升自己的专业价值,在不得不面临选择的时候,至少有爬出谷底的底气和实力。
对于刚毕业或者打算跳槽的朋友来说,最直观的感受莫过于”面试变难了“。更准确的说法应该是:面试去掉了浮躁,还原了本味。市场更理性的结果必然是公司对于人才的选择也更加理性,会做UI,有过App上架经验就能找到工作时间窗口已经过去了。对于计算机基础知识的掌握,学习能力的强弱,扎实过硬的开发经历开始从面试流程中凸显出来。这对过于关注面试技巧,刷面试题的朋友来说,长远来看也是件好事,毕竟职业生涯的提升容不得半点浮躁。
好消息是,整个行业还是处于前进的态势,大大小小的公司对于人才的选择还是理性和公正的。对于静心专研技术,硬实力扎实的同学来说,行业还是处于求贤若渴的状态,所以面对这些扑面而来的行业信息,我们要做的只有两件事:一是锻炼身体,二是静下心来学习。
WWDC2016
WWDC 2016最受关注的要数iOS 10了。每年iOS新版本发布,Apple都会向开发者开放一些新的接口,这些新的接入点往往意味着新的机会。
iMessenger脱胎换骨,不知道大家有没有把玩过iOS 10中的iMessenger,其华丽程度堪称惊艳,从中不难看出Apple对于IM这一块的重视和野心。其内置的App Store允许开发者开发专属iMessenger的App或者表情包,一些敏锐的开发者已经开始试水了,长远来看,这其间蕴含的机遇也不容小觑。
App Extension进一步丰富,Extension都是基于系统原生App的功能拓展,意味着Extension具备天然的用户基础,每一个Extension Point都隐藏着很多的可能性,全凭开发者的想象力去挖掘。Apple开放Extension的脚步虽然缓慢,却是稳步向前,新接口等同于新机会,值得所有开发者关注。我在今年也开源了一款Xcode插件(基于Xcode Source Editor Extension),名为EasyCode,旨在加快代码编写速度,现阶段由于Apple开放的接口实在太少,功能还比较受限,不过不急,先占个坑,且行且珍惜。
CallKit,这个Framework允许VOIP类应用集成系统电话的壳,我司App也做了相应的适配,有VOIP产品功能的同学们可以重点关注下。
SiriKit,从iOS 10开始,开发者已经可以开始集成Siri了,也是通过Extension的方式来集成,可以通过语音来控制App的部分行为,不过当前支持的App类型还比较有限。
Swift 3正式发布,Swift进入公众视野已有一段时间,开发者社区的接纳度非常好,就我所接触的团队来说,已有不少在新产品中全面转向Swift的了。对于Objective C阵营的开发者来说,学习Swift已经是刻不容缓的事情了,对于新入行iOS犹豫在Objective C和Swift之间学哪个的同学来说,答案是两个都学。
Swift还处于新生期,这门集众家所长语言所包含的潜力还远没有被挖掘干净,业界的最佳实践还需要大量的产品来锤炼,响应式,函数式,面向协议等等都是大话题。还没看过喵神最近关于面向协议编程文章的同学,可以去仔细阅读感受下面向协议对于现有OOP方式的改变,这种思想层面的颠覆正是Swift的魅力所在。使用Swift的问题也还很多,Xcode崩溃,语法高亮消失,编译慢等等,你可以看到很多开发者吐槽用Swift写代码,但没有人转身离开。
watchOS和tvOS更新,一个代表未来穿戴式设备,一个是客厅的争夺战,二者都是未来的方向。现阶段身边使用iWatch的朋友还比较少,iWatch更像个新潮的玩具。Apple TV家里倒是有个,不过由于大部分电视台被墙,一般用来做AirPlay。现阶段这两款产品虽然没有大红大紫,但其前景却值得开发者长期关注。
其他还有一些就不一一赘述了。
微信小程序
微信小程序已经开始邀请内测了,小程序引起的动静可不小,看看铺天盖地的吐槽文,培训班,文章分享就能感受到声势之大了。纵观微信整个产品的发展史,懂得节制的微信的每一步都细小谨慎,所以小程序必然也是小步前进的节奏,对于我们iOS开发者来说,不用着急恶补新技能,看准时机再找切入点,这会是一场持久战。
至于小程序需要学习微信自研框架这一点,个人觉得这完全不值一提,相较于微信庞大的用户流量,这么点学习成本的投入微不足道,而且善于学习新事物本来就是我们开发者引以为豪的本领之一。
Macbook Pro 2016
MBP终于在2016年迎来了新款,我知道很多朋友都表达了自己的失望,表示不会购买。但我在摸到真机(深灰版)的那一刻还是被感动到了,整体工艺更加浑然一体,美感和科技感指数爆表。Apple家的产品,贵是贵,但很少有买了后悔的。
我眼中的Apple,早已不是当初二八年华的少女,一日一变,时有惊喜,如今的苹果更像内敛沉稳,娴静脱俗的大家闺秀,它的美需要长时间的相处和细细品味。Apple家的产品我还是会长期购入,但我已没了熬夜看新品发布的劲头,不会尝鲜去当小白鼠测验各种beta版,现阶段踩的坑一定多于带来的惊喜,第一时间升级新版Mac OS,iOS,Xcode的同学一定明白我在说什么。
Touch Bar或许也隐含着一些小机会,交互体验上可能会有一些创新,不是说打麻将。
丁香园CTO离职事件
今年5月份,丁香园CTO,小道消息作者Fenng从丁香园出走。这一事件当时吵得沸沸扬扬,最后收尾的热点话题是CTO该不该写代码,但Peak君觉得,比这更重要的是加入创业团队的每一位,权益如何得以保证。
创业是一件高风险伴随高收益的事,我们在加入创业团队的那一刻就已经承受了高风险,如果原本几率就小的高收益还无法得以保障,加入创业大军的初衷就成了伪命题,这才是可耻的。
这一事件在我看来还会长期发酵,对创业团队成员之间的信任问题产生深远的影响,作为技术从业者的我们,写代码反而简单,要看清厚厚一叠期权协议里的条条款款才是件难事,技术群体向来不擅长发声,习惯隐忍和承受,只在忍无可忍的最后才以离开来表达愤怒。从这一点出发,我衷心希望Fenng在这场官司中能争取到一个好的结果,这个结果能使更多平凡普通的创业者收益。
技术分享新方式
今年让我比较感兴趣的是,出现了技术分享的新形式,代表有视频直播,知乎Live,知识问答。
参加过几场类似现场敲代码的视频直播,整个流程体验虽然还略显稚嫩,但气氛很活跃,感兴趣参与的人也有不少,这些一两块钱买不了吃亏的现场直播,让知识的传递也更直接高效。
知乎Live和知识问答里,软技能分享更多一些,这对鸡汤从业者是个大利好,不过鸡汤都带有略微毒性,会让人产生硬技能得到提升的错觉,真相是,硬技能提升之路没有捷径。
这些新形式都透露着一个信息:知识可以被实实在在的定价了。这对于我们技术从业者绝对是个好消息,被误认为吃青春饭的码农们,除了提前财务*退休,大公司养老,教育培训等出路之外,又有了新的选择,靠出卖自己长年累月积累的知识来获得收益,你行你就能上,这些新渠道连接着巨大的新机遇,值得每一个技术人员去关注。
看看营销大师李笑来两个月6w的全栈工程师培训课程就知道了,在我们这些老程序员眼里看来滑稽可笑的事情,确确实实的发生了。
双十一以及weex
weex刚诞生的时候,曾在阿里待过的Peak君也以为这会是个无疾而终的KPI项目,现在呢,脸上火辣辣的。今年双十一阿里在自家两大端手淘和天猫上,大规模应用了weex来搭建页面,页面覆盖率达99.6%,这已经不是试水了,开源框架能在这种量级的产品上实践,是比任何公关都更强有力的宣示。详细情况可以查阅公众号:手机淘宝技术团队MIT。
据闻现在实践weex的开发团队也不少,对于寻求快速迭代和发布的开发团队来说,weex已经是一个切实可行的方案了。
对于我们iOS Native开发者来说,这种跨端方案听起来多少有些被入侵的感觉,实则不然,跨领域的交流所带来的思想碰撞,能让我们站在新的角度审视自我,带来新的可能,反而能让我们收益。而且开发者没必要自我设限,weex大家都能学都能用呀,所谓君子不器。
IPv6
自今年6月1日起,所有新提交的App都需要支持纯IPv6的网络环境,否则无法过审。
这事再次体现了Apple作为国际大厂的担当,虽然大部分开发者都不需要做什么适配,但一些手写IP,调用底层API的小伙伴们还是踩坑了,比如我。Apple每次推进新技术,都是开发者跟着升级技术储备的机会,不知道大家这次有没有彻底搞明白NAT64,DNS64,IPv6相关的网络知识。相关资料可以参考微信团队分享的两篇文章,我也分享过一篇踩坑经历,里面有微信团队文章的链接,供大家参考:纯IPv6环境App适配的坑。
HTTPS
早些年,还能时不时听到关于Apple封闭生态圈的吐槽,到今天Apple以其刚硬的产品质量和大厂品格赢得了市场和用户的尊重。
Apple对于新技术的推进向来积极,甚至略带‘激进’的味道,还没普及的IPv6,悄然替换的HTTP2.0,以及2017年审核必备的HTTPS,都旗帜鲜明的体现了Apple对于新技术推进的姿态,虽然给开发者带来了多多少少的麻烦和不确定性,但肉体抗拒的我,在心底里还是钦佩的。
HTTPS对于互联网安全的重要性,到今天还是被严重低估的。一些带有侥幸心理的开发团队或许会认为,有些产品信息本身并不重要,即使被窃听也不会带来多少影响,这是典型的不摔跤不感到疼的心理。所有用户的数据都是重要的,用户购买过的商品,浏览过的文章,发表过的评论,去过的地方,每天行走的步数等等,都可以通过大样本数据分析,发掘出更深层次的信息和隐私,HTTPS应该成为一种本能习惯。
关于HTTPS的部署和实践,已有不少优质文章分享了。Peak君还想一提的是,HTTPS也无法保证绝对的安全,有些细节还需要深入探究。比如如何避免中间人攻击,replay attack等。据说现在有些机构在私底下偷偷记录互联网的流量,等有朝一日RSA或者ECC等算法被破解,那些看似安全的HTTPS流量或许都会被剥开展现,小则是个人隐私泄露,大则是一时动荡的社会事件了,这也是为什么HTTPS实践中会启用forward secrecy了。
总而言之,言而总之,拥抱HTTPS,就现在,同时持续深入补充安全方面的知识。
支付宝的社交战
今年春节的微信支付宝大战还没开场,支付宝就火急火燎的上演了一出校园生活圈的低俗戏码,这次的社交战在赚足了眼球之后,以公众的骂声,高层的道歉匆匆收尾。一出闹剧背后是移动互联网竞争对手之间不见兵刃的残酷厮杀,微信携泰山之势进军支付领域对支付宝造成的压力可想而知,这个行业的变化和颠覆之快实在超乎想象。
与此同时,支付宝一个名为蚂蚁森林的社交功能,开始在身边悄然弥漫开来。同事,朋友,电梯里的陌生人,身边有越来越多的人在收集这个所谓的绿色能量,在支付App里玩社交功能,使用社交App来支付商品,这种微妙的违和感,正是这个行业的魅力所在啊。
很多人认为支付宝的社交梦没戏,但这个行业没有不可能。我所期待的是,支付宝能光明敞亮的做产品来赢得市场,赢得用户打心底里的尊重。
Pin
今年年底的时候,iOS圈还发生了一件事,个人开发者钟颖Cyan的产品Pin,入围了App Store 2016年「年度十佳 App」。我也是Pin的用户,初次使用时被作者的执着和用心打动,一个个看似非大众的功能点都被深入挖掘和打磨。Peak君很能明白这种荣誉所带来的喜悦,也知道这其中所隐含的坚持和付出。
2011年Peak君还一腔热血的时候,也曾和朋友合作开发过一款iOS端的播放器App,还起了个热血的名字:RushPlayer。成绩最好的时候,做冰点活动(2.99降价到0.99)冲到过App Store收费下载总榜第3位,总收入排行榜第9位,那一刻的喜悦感现在都还记忆尤新。高名次排行,真金白银的收入,一些媒体的转载,都让无数奋战到凌晨2点的夜晚不值一晒。对于现在安分守己创业的自己来说,真是久远的回忆了。
Pin入榜对Peak君也是一种激励,或许来年也能沉下心,细心去雕琢一款个人App,也好在年底时给年初的自己一个交代,不至于靠写技术文章来缓解焦虑。
结束语
好啦,祥林嫂似的啰嗦了一大堆,不知道耐心看完的朋友有多少。2017新的一年里,Peak君也要打起精神好好干,要有更高质量的文章产出,要在2017年底前储备实实在在的成果,也祝各位能在技术硬实力上取得突破,最后感谢各位新老订阅读者的陪伴,以文会友,妙事一件。
欢迎关注公众号:MrPeakTech
转载自公众号:MrPeakTech