我们前端忙成狗 人家后端写sql?

来自:前端你别闹(微信号:webunao),作者:北妈大帅比

要重视战略、技术只是技能

现在web前端越来越细分,工具、框架语言、日新月异,学也学不完。很多同学想放弃,甚至有人质疑前端以后饱和了,找不到工作了这种无脑文章。

贩卖焦虑,着实可笑,那么根据现在的判断,我们展望一下未来到底什么样的呢?我们天天刷屏的vue、react、es6这些玩意只不过我应用层里的冰山一角,不值得吹。

我们要做的是要从战略层面、大方向了解一下我们的工作到底值不值、或者是什么样的价值和潜力,是绝对有必要的,不要用只停留在技术、战术层面,战略错了,你就掉坑里了!

下面北妈带你来展望下未来和现在我们web前端的发展方向和细分领域。

极可能以后 前端忙成狗 后端写sql。

前端首先是一个程序员

前端工程师首先是个程序员,其次也是个软件工程师,他们工作在离用户最近的地方,负责人机交互和用户体验,虽然叫“前端”,但其实他们的工作边界其实已经很宽了。

展望未来,我想前端的工作会继续分化,也会继续融合,分工是工业革命以来社会高效的主要推动力,以后很长一段时间应该也会维持这种形态。不过核心的东西我想还是不会有太大变化。

我的观点

1.继续分化(领域、行业、技术栈)

2.继续融合(端技术、Web全栈技术、人工智能)

3.核心不变(计算机科学本质、软件工程思想、程序员基础素养)

继续分化

领域

前端领域会继续分化,例如阿里内部的前端就已经有中后台、图形、端技术、泛Node、开发者服务5个大方向了,每个大方向也会细分,举一些例子:

1、中后台:有云控制台、信息&资产管理平台、内部研发&项目管理平台、人工智能&机器学习平台、数据研发分析平台等。具体产品如阿里云控制台、ERP、DeepInsight、Basecamp等。


2、图形:有基础图形库、3D图形、数据可视化、流程图等。具体产品如G2、阿里云城市大脑、滴滴智能交通调度图、双十一大屏等。


3、端技术:有移动端(iOS、Android、MobileWeb、PWA、小程序)、PC端(客户端、Web端)、触屏电脑、各种监控大屏、智能手表手环,智能汽车&家居屏幕等。


4、泛Node:有工具链、Web框架、IoT、客户端(Electron、NW)等。具体产品如DEF/F2E-Test(阿里前端开发者工具)、Egg.js、VS Code等。


5、开发者服务:有应用开发运维平台、组件市场等。具体产品如阿里云的应用搭建平台Fusion-Design组件市场,支付宝、微信小程序开发者工具等。

技术栈

1、React(Native)

2、Angular(NativeScript)

3、Vue(Weex)


2. 继续融合

端技术包括

~ 前端、客户端技术思想的融合

~ 组件化(组件化搭建页面)

~ 组件生命周期钩子函数(如iOS ViewController)

~ MV*(如MVVM设计就来源于微软客户端开发框架)


大前端的统一


~ 虚拟DOM技术:React/ReactNative/ReactCanvas

~ 各种移动设备内核和引擎的统一:WebKit/V8

Web全栈技术

~ 前端、后端技术思想的融合

~ MV*

~ AOP、依赖注入

~ IndexedDB(Database)

人工智能与端技术

~ 人工智能、前端技术的融合

~ 端数据采集->后端机器学习、数据可视化

~ 物联网、前端技术的融合

~ 智能家居/汽车/工业设备可能是有屏幕的,同时可以基于如

~ JerryScript这样的JS执行引擎使用Node.js开发联网应用

3. 核心不变

计算机科学本质/软件工程思想与实践/程序员职业素养。

计算机科学基础:如基本的操作系统概念和计算机组成原理,算法和数据结构基础等等。

软件工程思想与实践:如软件开发模式,设计模式,架构思维,自动化思维,单元测试集成测试,UML等等。

程序员职业素养:如对代码整洁和可读性的追求,对软件开发的热情,对编程技艺的自我提升等等。

历史回顾

回顾过前端的演化,主要参见最底下的相关资源,下图简要回顾一下95年以来软件开发和前端历史:

前端的未来

那些生存空间越来越小的产业

1、小规模移动App:移动App市场被一些巨头把持,小规模App生存空间越来越小


2、PC信息导航类网站(网址、购物、论坛、生活):现在移动优先,而且有智能推荐,并且是强社交

无界面交互

Web前端能做一些事,主要是大前端的范畴

1、会话式界面(视频语音会话、语音搜索:WebRTC,开源语音库:Common Voice)


2、感官式界面(视觉:WebAR/WebVR)


3、无界面,未来会有大量IoT设备(IoT有自己的通信协议和规范,前端的工作是在用户的后台)

富界面交互

大量工作需要前端来做

~ 日常办公软件(慢慢从桌面程序演化为Web):Office、Email、文档管理、项目管理、代码编辑器

~ 大数据/AI配套软件(复杂应用,并且慢慢从桌面程序演化为Web):需要大量的后台系统来做数据分析/机器学习

~ 播放器/游戏:H5代替Flash,如Web Audio、Web Video、Canvas

~ 容器/DSL/内核/小程序:支付宝/微信/钉钉容器,内核(也就是UC、QQ浏览器内核),及其自定义DSL(如果将来手机的底层能力都可以上浮到小程序,很有想象空间)

未来在哪里?

总结观点

  1. 继续分化(领域细分、行业细分、技术栈细分)

  2. 继续融合(端技术融合、Web全栈、人工智能与端技术的融合)

  3. 核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养)

一些建议

      关心人工智能的发展,思考TA在前端领域可能产生的应用场景

  • 视觉稿自动生成代码

  • 根据用户使用习惯自动排出最符合该用户习惯的界面

  • 收集用户数据在前端实时做学习和分析,如deeplearn.js


相信前端的未来,Web的力量

  • WebKit

  • V8

  • Flexbox:Yoga


结合公司业务特点有重点的关注前端的某些方面,毕竟技术服务于业务

前端的发展超出了所有人的想象力,未来肯定是难以预测的,也没有做预测的必要,我们要做的还是踏实做好眼前的事情,

以上部分判断未来观点段落来自:阿里技术的《不止代码》一书中的~“前端工程师的未来在哪里” 作者:成曰

北妈寄语更重要的是,一定要打好基础,万变不离其宗。计算机基础素养,发展了50年了还是没有变!

来自:前端你别闹(微信号:webunao)

前端你别闹


推荐↓↓↓
前端开发
上一篇:精心点缀的文字:CSS Text Decoration 下一篇:6分钟看懂 Node.js 武功精髓