2016年底闲谈iOS开发的将来

1010857-20161031085248799-883440057.png

移动开发市场潮流涌动,好多人都会问iOS开发的前景这样的问题,今天我就瞎扯一下我眼中的将来,纯主观非理性,爱看看。前端

Swift怎么样
Swift很好,就像你的前女朋友同样好。java

1010857-20161031085343580-1453555733.jpg

得益于swift的开源,以及苹果的号召力,swift发展的很好。已经获得了广大开发者的一致承认。苹果本身也很重视,新的一些lib和app已经用swift编写。国外大厂好比Uber、LinkedIn已经用swift开发了很长时间。程序员

这些行动证实了swift已经不是一门玩具语言能够大胆的在开发中使用。虽然眼下还有ABI不稳定,和Xcode索引会让人以为慢等问题。可是相比OC的巨大进步,更多开发者选择了忍受,但愿苹果可以持续优化。web

可是OC的runtime依然是无可取代,从商业角度看也没有理由取缔它。因此二者还会互相存在一段时间。可是我相信swift占有率超过OC的节点很快就会到来。编程

我以为不少人坚持OC是由于他们只会OC。小程序

1010857-20161031085415518-1317278083.jpg

移动市场已经饱和
2008年苹果发布第一个SDK,同年年底安卓1.0发布。移动开发元年。移动开发从无到有,至今已经遍布生活各个方面。从今年手机的出货量和身边的观察很容易获得这样的结论:移动开发这块蛋糕的高速增加已经结束了。swift

这意味着什么呢?在一个行业高速增加的时候,人才必定是供不该求。因此公司被迫接收不少新手,对新人很友好。相信你们也见证了过去一两年里的就业奇迹:是我的就能上。windows

因此对于不少只是为了糊口的人而言:这扇门已经关闭了。大家继续去追下一个热潮吧。据说JavaScript要统一天下了,要不您去21天学个前端?微信小程序

言归正传,那移动开发是否是就要大势已去了呢?
同窗,恕我直言:不是移动开发不行,是你不行。微信

在移动浪潮前,互联网流量全在桌面,问2008年的时候有条件坐在电脑前上网的人群有多少?再看如今,微信这个季度的活跃用户5亿多。虽然iOS的份额只有百分十几。可是这是没法被忽略的百分之十几,公司但凡是有移动业务确定会作iOS客户端。

因此iOS开发的市场依然存在,并且不是一块小蛋糕。

Hybrid?是的前端要来抢咱们饭碗了

1010857-20161031085445174-1785228626.jpg

在移动开发前几年的时间里,想在移动端作功能只有开发Native app这么一条路。可是商业就是如此,随着需求增大最后老是会有提升效率或者一些自动化的方案出来。

相信不少人都有看到相似的文章:你不须要开发一个app只须要一个公众号就能够了。前阵子微信推出小程序没见过世面的吃瓜群众们也是激动了一番。其实这只是一笔经济帐。如今对于产品而言,有了更多的选择。若是一个产品自己对native的能力要求就很低,固然会选择更便宜的方式了。

除了微信小程序这样嵌入在微信里的方案。由传统web端发起的新技术Progressive Web App也很值得关注。简单的说web也能够有一个方便的渠道生成一个本地的app,得到一些推送、本地存储等一些能力。

Progressive Web App(下文简称pwa)给传统web提供了新的疆土。有的产品除了选择公众号,还能够选择web app!在10月底上海的Qcon大会上有幸偶遇了前端传奇hax(国内前端我只服hax)。贺老师开口一句“以我二十年的前端经验来看”我就给跪了。hax告诉我pwa是有技术优点的。虽然将来几年各大厂商为了商业目的不知道最后移动开发会变成怎样的格局。可是pwa会有它的一席之地。

稍微有一些无奈的是iOS目前还不支持pwa。苹果去年宣布5年内会支持这个标准,然而除apple外其余厂家已经所有支持,如今安卓上是支持的。因此虽然这件事如今还没发生,可是不久的未来应该会有新的进展。

总而言之,不少移动产品再也不须要开发一个native app了。

1010857-20161031085509174-334554323.jpg

可是,凡事不要难过的太早,说不定还有更惨的呢?

React Native VS Weex VS DeviceOne
我以为那些用RN的人最后都会哭。算了,我知道大家会选择倔强。

1010857-20161031085541783-86558353.jpg

1010857-20161031085626377-2147462605.jpg

此次Qcon最大的收获莫过于知道了RN是个大坑。
RN如今的硬伤有:

包没法增量更新
长列表没有优化(灾难性tableview cell没有复用)
不支持web
debug?[黑人问号脸]
固然了这些不是实现不了,是的,你彻底能够本身实现上面的三个难题。可是若是已经有一个现成的方案呢?

是的,阿里的weex已经走在RN的前面。我不知道是阿里的996更努力仍是马爸爸砸的钱就是多,可是事实就是如此。RN是一个纯开源的项目,因此不可能未来RN有个杀手级的功能weex没有。比的就是谁走的更快,看的更远。

是的,DeviceOne走在了weex的前列,可是一个卓越的平台不知道能不能走的更多,看的更远。

你们要有自信,在移动开发上,咱们看到了超一流的三个平台,咱们的实力已是世界一流了,并且DeviceOne平台还支持windows平台的开发。

因此,对于native不幸的消息来了:即使是native的app,不少功能也要交给前端实现了。这笔帐是很是清楚的:原来须要一前端,一个iOS,一个安卓。如今只须要前端写一次。粗粗一算节省了三分二的成本。可是就像java一开始就吹的run anywhere。什么技术都有它的应用场景,不是能用你们就用这个技术。

但是根据个人观察,在优化了性能问题后,一个app里有很是多的页面确实不须要native写了,用这种weex和DeviceOne的方案就能解决了。并且开发效率的提高是如此的明显,weex调用原生的UI,deviceone就是原生的UI,未来会有大量的页面再也不须要native写代码发版了。

我以为个人措辞还不够强烈,你们镇定一下我再说一遍:

50%的native需求未来会被weex和deviceone这样的方案取代。

据说你如今很难过?凡事不要难过的太早,说不定还有...更...

移动开发者的将来
首先你要接受一个事实,咱们生活在一个科技变革最快的时代。很不幸软件行业又是全部行业变化最剧烈的行业。摩尔定律每18个月计算能力翻一倍。在其余行业什么东西能每两年增长一倍并且持续几十年?

换句话说,选择了软件开发,过去二十年里除了C++,C,Java至今依然大量需求,选择其余技术或者语言都经历了潮起潮落。那么从开始有程序员至今有多少语言呢?因此说,一门技术兴起而后被冷落,若是用十年的尺度来看是很是正常的。咱们的父辈在七十年代也不相信国企会下岗。你也不要抱有熟悉了一门技术能够养活你一生。

你怎么理解编程?

某门技术或者某个编程语言说到底只是工具罢了。原来你用筷子,后来你来到了西餐厅,只有刀叉你就吃不了饭了?活该你饿死。

文/没故事的卓同窗(简书做者)
原文连接:http://www.jianshu.com/p/5ec4...著做权归做者全部,转载请联系做者得到受权,并标注“简书做者”。

相关文章
相关标签/搜索