专栏名称: StuQ
实践驱动的IT教育平台
目录
相关文章推荐
爱可可-爱生活  ·  几篇论文实现代码:《Teaching ... ·  3 天前  
简单心理  ·  简心内部福利群 | 限时开放 ·  5 天前  
壹心理  ·  真正拖垮你的,是你的限制性信念 ·  6 天前  
51好读  ›  专栏  ›  StuQ

大前端要进入智能时代了,你该怎么办?

StuQ  · 公众号  ·  · 2017-08-01 20:35

正文

作者|徐川
编辑|Emily
InfoQ 对移动技术的关注重点从原生开发转到大前端,移动技术将会进入次时代。我们必须找到那些最新的技术。那么如何去找呢?
找到最新的技术

极客邦科技一直有个初心,我们希望通过报道和介绍那些确实能提高生产力、提高效率的新技术,让创新技术推动社会进步。如何去实现这个初心,首先第一点,我们必须找到那些最新的技术。那么如何去找呢,这里介绍一下我们的方法论。

技术采用生命周期:


这张图是技术采用生命周期,最早出现于 1957 年,后来被越来越多的人所接受,它表示的是一项技术从诞生到进入主流市场,最后被淘汰的这样一个生命周期。它包括 5 个阶段,分别对应不同的人群:

第一个阶段是技术创新阶段 ,对应的是技术狂热者,他们会去研究技术的各种可能性,甚至对技术是否能够得到应用并不关心;

第二个阶段是早期采用阶段 对应的是早期采用者,他们乐于追求新技术,发现新技术中的闪光之处,并通过实际应用来验证;

第三个阶段是早期大众阶段到了这个阶段,经过早期采用者的实践,证明这个技术的确值得应用,主流开发者就会开始进入,开始建设围绕这项技术的生态,得出适合自己的解决方案;

到了第四个阶段晚期大众阶段它对应的是保守派,除非某项技术已经十分成熟,并且大家都在用,生态完整,他们才会去用;

最后一个阶段就是淘汰阶段了,对应的是顽固派,这个阶段的技术通常已经有新的技术来取代它,但是顽固派执着于旧技术,对于新技术的任何一个缺点都无限放大,作为拒绝采用新技术的理由。

在这张图片的第二阶段和第三阶段之间,大家还能发现一个断崖,它被称为「鸿沟」,因为并不是所有新技术都能得到广泛应用,实际上很多有潜力的技术到第二阶段就停滞了,它们一直到被新技术取代也没有办法进入主流,这个现象被称为鸿沟。所以新技术到了这个阶段必须要冲一把跨越鸿沟,才可能被主流业界所接纳。这么多新技术被埋没,实在是很可惜的事情,所以我们想要去帮助这些新技术,去推他们一把,帮它们尽快度过前两个阶段,跨越鸿沟。

这也是我们 InfoQ 这十年来做新闻、文章、会议主要参考的模型。

大前端技术的采用生命周期

那么移动开发技术到底处于哪些阶段?让我们把目光对准大前端。这里的大前端指的是客户端开发技术和 Web 的融合而诞生的那些技术。


这张图是我们所观察和总结的,大前端技术采用的生命周期。

首先是纯 Web 技术,我们可以看到,像 Angular 1.x 版本过于老旧,处于被淘汰的阶段,而相对的,React、Vue 的生态正在蓬勃发展,有很多大小公司都在应用,但因为它们的生态还没有稳定,稍微保守一点的公司考虑到风险以及学习和迁移成本而不想采用,所以放到早期大众阶段。而 Angular 2 以及以上的版本,和 React、Vue 相比,到现在反而显得有些后劲不足,有可能在竞争中落后,所以放到早期采用阶段。

而 Google 推出的 PWA,目前才刚刚发力,还有很多可以完善的地方,也在第一阶段。再看类 React Native 以及 Hybrid 方案,像 PhoneGap/Cordova 已经是非常成熟的技术,可以放心的采用,放在晚期大众阶段, React Native 的实践公司越来越多,包括 Instagram、Airbnb 这样的明星应用, Weex 则在阿里系得到了广泛的应用,但同样由于生态并未稳定,大多数人对这两项技术抱有疑虑,所以放在早期采用阶段,小程序作为依附于超级 App 或者平台的应用,目前仍在早期阶段。最后是 WebAssembly,大家都在谈论它,很多人支持它,而且看起来的确很有价值,但目前仍然处于很早阶段。

从这张图可以看出,大前端正处于密集创新阶段,我们相信这就是未来,至少会有一项到几项技术突破出来,成为主流,所以义无反顾的去支持和推动它们,这是我们将今年大会定位为大前端的原因。

找到最新的趋势

那么除了大前端,还有哪些趋势呢?今年上半年到现在,谷歌、苹果、微软、Facebook 这四大互联网巨头都已经召开了它们的开发者大会,我们可以从这些大会上面去寻找。

如果要用一句话来总结这些大会,我觉得是「次时代正在降临」。什么是次时代,就是以前我们在科幻片里面看到的那些,像黑客帝国,人们的意识陷入虚拟现实不愿醒来;像星级迷航,我们直接用声音可以发号施令、甚至操作战舰,这些文学作品中的幻想,正在逐渐走进现实。


首先是 AR、VR。AR 和 VR 仍然有一些难以克服的缺陷,甚至去年在国内 AR、VR 遭遇了资本寒冬,但是你看看互联网巨头的布局,Facebook 宣布 AR 是十年战略,推出 Facebook Space;微软的 HoloLens 也正式在国内开售,开始打开局面;Google 的 Daydream 走的是群众路线,四平八稳;连苹果也发布了 ARKit,现在安装 iOS 11 就可以体验。所以,AR、VR 仍然是重要的未来。

另一个重大产品平台是 智能音箱,它被认为是下一件大事,是智能助手的杀手级应用,除了 Amazon Echo,Google 做出重要更新的 Google Home,现在微软和苹果也加入战局。


智能音箱背后的技术是 人工智能,现在人工智能的火热不用多说了,而现在的一个趋势是移动 AI,直接在移动设备上运行神经网络、机器学习算法,比如 Facebook 发布的 Caffe2,Google 发布的 TensorFlow Lite,苹果发布的 Core ML,未来,还会有专门的硬件处理器来运行这些框架。

移动开发,将必然和这些新的技术与平台结合,这是时代发展的趋势。

一点思考

趋势说完了,最后我想提一点自己的思考。


第一点是关于移动应用的热更新和插件化,这些可以说是国内独有的技术方向,过去两年真的是百花齐放,涌现出了一大批开源项目和解决方案。但苹果的两封通知给我们泼了一头冷水,在第一次通知后,我阅读了国外网站的数百条评论,意识到在国外重视安全和隐私的前提下,对于 Native 的动态化是不可能放开的,我们做得再好,也很难推广到国外。在我看来,国外可能直接走 Web 技术路线,而 Web 是天然支持在线更新的,这样就消灭掉了很大一部分的热更新需求。而国内的插件化最初有很大部分是解决方法数超出的问题,但 Google 现在也提出了完善的解决方案,而 Google 推出的 Android 免安装应用是基于 Google 平台,不太可能把权力开放给第三方应用。在热更新和插件化的道路选择上,我们和国外走得越来越远,这真的是一件好事情吗?我们是否走了弯路?

第二点是开源,移动开发和前端都有着良好的开源基因,近两年国内的开源氛围也越来越好,我很高兴的看到很多公司都把自己压箱底的绝活开源了,这在过去是不可思议的,但现在大家逐渐习以为常。但这也带来了一个问题,开源项目把代码放出去后,如何维护、如何建立社区、如何做大?开源并不是把代码公开就结束了,甚至可以说这只是开始,如何让开源项目能够跨越鸿沟,是我们每一个开源作者和负责人需要思考的事情。

第三点是大前端,现在我们的终端越来越碎片化,即将到来的还有 AR、VR,以及智能音箱这样的语音交互,难道每新增加一个平台我们都要重新学习一遍吗?大前端或者说交互这件事情的本质,是否有核心的不变的东西?一次编写到处运行为什么一再的出现?到底有没有可能彻底实现?

GMTC 2017  


最后再说一些大会相关的事情。

PPT 下载链接:

http://ppt.geekbang.org/gmtc

我们还和 StuQ 斯达克学院进行合作,目前已经将大会的演讲视频放在 StuQ上,供大家观看学习。

我们已经迈入了人工智能时代,在智能时代的大前端如何发展,我想通过这场大会和大家一起探讨这个问题。本次大会设置了十二大专题,围绕着移动开发、前端开发、大前端、AR/VR 和移动 AI,邀请了 50 多位专家和大家分享交流,希望能帮助升级你的软件开发思维。

所有的这些,都是希望能够推动移动技术的发展,这也是我们的使命。

本次GMTC 大会视频回放,为大家准备了价值 300 元的优惠码 【R9CZBRDADK】,每人可用一次,一共可使用 30 次 。

点击【阅读原文】,收看 GMTC  大会回放视频。