2016年iOS技术圈回顾
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
2016年iOS技术圈回顾的更多相关文章
- 黑云压城城欲摧 - 2016年iOS公开可利用漏洞总结
黑云压城城欲摧 - 2016年iOS公开可利用漏洞总结 作者:蒸米,耀刺,黑雪 @ Team OverSky 0x00 序 iOS的安全性远比大家的想象中脆弱,除了没有公开的漏洞以外,还有很多已经公开 ...
- 2016 小马哥 IOS
2016 小马哥 IOS 最新视频完整版 链接:http://pan.baidu.com/s/1c1EQlBM 密码:mxkt
- 2016 - 1- 23 iOS中xml解析 (!!!!!!!有坑要解决!!!!!!)
一: iOS中xml解析的几种方式简介 1.官方原生 NSXMLParser :SAX方式解析,使用起来比较简单 2.第三方框架 libxml2 :纯C 同时支持DOM与SAX GDataXML: D ...
- 2016年iOS笔试题
收集了一些ios面试的一些基础的试题,其中也有一些较难的 1.请简述UIView与CALayer有什么不同.2.Block什么情况下会保留实体内引用到外部对象,什么时候要用__block或__weak ...
- fir.im Weekly - iOS / Android 动态化更新方案盘点
动态化更新是 App 开发必然面对的问题.在 iOS 环境下,Apple 开发者们像是" 带着手铐脚镣跳舞" ,相比之下 Android 开发者会轻松一点,有很多相关的开源框架帮助 ...
- iOS应用架构现状分析
iOS从2007年诞生至今已有近10年的历史,10年的时间对iOS技术圈来说足够产生相当可观的沉淀,尤其这几年的技术分享氛围无论国内国外都显得异常活跃.本文就iOS架构这一主题,结合开发圈里讨论较多的 ...
- app开发公司排名哪家强?看App Annie给出的答案
app开发公司排名哪家强?这个答案不好定义,我们从第三方权威平台数据来看吧.App Annie在<全球移动应用市场2016年回顾>报告中从全球每月活跃用户数.全球下载量.全球收入等几个维度 ...
- 聊聊几个阿里 P8、P9 程序员的故事
大家好,我是对白. 阿里 P8 程序员年薪百万已经是公开的秘密了,有人关心他们年薪百万,而我更加关注阿里这些 P8.P9 程序员的成长故事,在聊这些大牛的故事之前,跟大家稍微简单聊下阿里技术人等级制度 ...
- AFNetWorking设置HTTPRequestHeaders的坑
今天在项目中要封装一个请求头但是用如下方法总是失败: 求其原因不知道: 于是乎改用了属性对象后居然成功了..: // // RequestManager.m // 获取天气demo // // ...
随机推荐
- ubuntu安装mysql-python出错,EnvironmentError: mysql_config not found
安装mysql-python包出错 Downloading MySQL-python-.zip (108kB) % |████████████████████████████████| 112kB 1 ...
- java 平台 权限管理
最近在做公司内部的物流业务平台的权限管理,感触颇多.记录一下 权限管理分两部分:数据权限和操作权限. 数据权限: 这个是和用户相关的. 因为平台是多机构的,所以再考虑数据权限的时候,是按照机构来管理的 ...
- WLAN频段的选择
WLAN(无线局域网)通过射频技术,将设备之间互联.当前应用于WLAN组网的有WIFI,蓝牙等.蓝牙工作在2.4GHZ的ISM(工业.科研.医疗)频段,功率等级分为0dBm,10dBm,20dBm:发 ...
- ssh访问控制,多次失败登录即封掉IP,防止暴力破解
ssh访问控制,多次失败登录即封掉IP,防止暴力破解 一.系统:Centos6.3 64位 二.方法:读取/var/log/secure,查找关键字 Failed,例如(注:文中的IP地址特意做了删减 ...
- MSSQL 查询数据库所有表的大小, 有助于删除一些没用的表
SELECT b.name AS tablename , a.rowcnt AS datacount FROM sysindexes a , sysobjects b WHERE a.id = b.i ...
- MySQL索引原理及慢查询优化(转)
add by zhj:这是美团点评技术团队的一篇文章,讲的挺不错的. 原文:http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能.低廉的成本.丰 ...
- java J2EE与DiscuzX3.2的UCenter实现单点登录
最近笔者在实现Java项目对discuz的整合.在此过程中,查了很多这方面的资料,发现网上并没有说得比较全面的文章.笔者博取众长以及自己在此过程中遇到的问题,写下来供大家参考,希望大家可以在这过程中少 ...
- 利用循环播放dataurl的视频来防止锁屏:NoSleep.js
mark下. 地址:http://www.open-open.com/lib/view/open1430796889882.html
- Linux 之HTTP服务,APACHE
1.基础知识 HTTP:超文本传输协议,超链接URI:Uniform Resource Identifier,全局范围内唯一命名符MIME:Multipurpose Internet Mail Ext ...
- AIX 环境下整理文件系统碎块
IBM AIX v5.3以上版本操作系统环境下基本上不需要对文件系统碎块进行整理,查到AIX里有整理文件系统碎块命令,这里简单提一下. 命令:defragfs例:#defragfs /var defr ...