2018未来在哪儿

这并不是一篇畅想技术趋势的文章,文中虽然涉及一些,但更多是对自己工作的反思,在舒适区中感到了无尽的担忧和迷茫。

Origin

回顾自己的学习经历,似乎涉及过很多面,但看着又像一片空白。

大三时迷上机器学习和游戏AI,喜欢看书,被各种预测模型惊艳到了。结果呢,死于数学功底差,越往深越啃不动,遂卒。。

大四时才知道 web 前端,当时的 web 框架特指 web 后端框架,几乎是 Structs 和 Spring 的一片天。蜻蜓点水,没有深入过框架原理。

读研后 all in 前端,给导师做一些教学管理和考试系统。靠着这个系统有幸得到了业内顶尖前端团队的实习机会,恰逢拥抱变化,没能留下,其实自己也觉得太累了。

当时是2015年,前端都知道的技术大爆发之年,ES6、React Native 都在2015年火了。当时实习时,团队内已经有不少人在开始 RN 的探索踩坑,我也尝试学过,只因自己基础还不够扎实,应对日常业务还不能游刃有余,一边还在学习别人优秀的代码,一边还要再尝试学习有点跨界的 RN,真心力不从心。

前端 2015 年的转折点,就这么从身边擦过。当时会 React 和 RN 的就能找到很好的工作。实习短短三个月就回校了,终究敌不过惰性,也没有逼迫自己去学。。

研三最后一年,接了个导师与外部合作的试水项目,网站安全监控,爬虫 + 漏洞扫描,从零开始做出了一版 demo,对自己独立分析的能力提升挺大的,但安全方面然后也没有去深挖 >_<

毕业第一份工作,重构了组件库和前端仓库,陷入了舒适区以及老项目历史包袱的矛盾中,看不到自己的成长,待了一年后决定走了。

第二份工作,一个快速迭代的横向团队,需要在业务的重要性、紧急性以及开发代价间权衡,学会了 Vue,确实比 React 更适合这类有N多子项目并且要快速上手的场景。渐渐地,也开始步入了舒适区。

回顾一切,又回到了原点,惰性与自驱的矛盾一直存在。

Smash

前端火了三四年了,也赶上了移动互联网时代一起蓬勃。过去谈论大数据的,现在谈论AI了;过去说移动开发的,现在说大前端了。变化是一直存在的,跟上变化是必然的,否则相当于主动退出。

要想突破原点,我认为有以下几个入口

1、极致体验

目前大前端风下,已不再将 Native 端与 web 端强拆分了,大家的目标都很一致。

一是,给 C 端用户更好的体验,管TM是 native 还是 web 呢,谁体验好、谁灵活,就用谁的实现(当然这肯定具体场景具体分析)

二是,既然 native 与 web 抱团了,那能不能只写1套代码(或者80%以上的代码都用1套),让它在 ios、android、web 上都有很好的体验。过去讲 PC 与 mobile web 1套代码响应式,现在更多谈论的是 native 与 web 真正的跨终端一致。Write once, run everywhere

2、工程效率

工程效率也可以从 C 端和 B 端分别展开,上面说的跨终端一致(Write once),也是在 C 端的工程效率体现。

在实际的工作中,业务更多的会在 B 端(或者是管理端),为了能够快速响应业务决策的变化,我们必须要有很强大的后台系统可以灵活的配置不同的决策。所以工程效率方面更多会体现在:

  • 后台管理页面:主要都是 CRUD 操作,会包含业务逻辑的制约关系,希望这类页面可以自动化生成
  • 业务监控系统:从数据源到数据清洗处理,再到字段映射关系,再直接在前端出报表,希望这类 BI 需求也可以自动化生成
  • 前端发布系统:结合上面说的前端 write once,希望前端的发布流程是极其简洁的,并可以快速回滚,毕竟改前端比改后端快的多

还有很多效率方面的点,比如开发效率、开发体验,也是值得提升的方面。

3、跨界交叉

从移动时代到大前端,从前端到全栈,从大数据到AI,我觉得下一个引爆点就在于跨界的融合,尤其是跟上浪潮的跨界。

FEer 已经具备了很多得天独厚的技能树

  • Nodejs 延伸了做服务的能力,Golang 又将后端性能提升了一个台阶
  • React 体系占据了前端框架的半壁江山,三大框架将会变成 framework 界的 BAT
  • 3D、VR 也是今后交互的趋势,相信电影《头号玩家》里的场景早就不是科幻,而是老美们切切实实在研究的东西
  • 物联网、城市智慧网,是国家创新的一个大方向,与百姓最贴近的落地点应该是智能穿戴设备,AI 也在悄悄地渗透到前端,今后“前端”的范畴更广,“终端”也就是今后的前端。

前端+全栈,前端+跨终端,前端+交互,前端+AI,前端+安全,等等任何一种结合,相信都是值得投资自己的,在未来肯定不会倒下。

另外补充一点,前瞻性的技术押宝,是需要“熬”的,Golang 出现了好多年后去年才开始真正的火,真不得不佩服七牛-许式伟的技术眼光。再者,交互方式上需要熬的更久,就举现在手机触摸交互,早在1990s 年代老美就在实验了,到商用再到量产,经历了近20年。。。

Jobs

Jobs 指我们每天的工作,这里引用乔布斯2005年在斯坦福大学的演讲来灌个鸡汤

You can’t connect the dots looking forward, you can only connect them looking backwards.

Believing that the dots will connet down the road will give you the confidence to follow your heart, even when it leads you off the well-worn path, and that will make all the difference.

Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do.

吸收各种 dots 不代表自己每个点上都要成为 top,而是为了收集更多的信息,你获得的信息越多,今后能创新的点也就越多。相信这就是乔老爷子设计出的产品独一无二的原因。

【5.5更新】

今天看了 FDConf 官网 总结了前端技术从2011年后的变化

11 年,看齐标准,关注 Web 性能
12 年,响应式开发,工程化推进
13 年,爆发式增长,百花齐放
14 年,移动端的崛起,HTML5 和 ES6 落地
15 年,观念的转变,步入前端工业化生产
16 年,后端服务化,云数据,云安全
17 年,端的融合,栈的融合。

— 摘自FDConf

2018,我觉得将会是:前端赋能,从跨端到跨界。