前端工程师的未来在哪里?

简介: 很多童鞋在上次的问卷调查里表示,希望多推出一些前端方向的内容。今天为大家分享一篇关于前端工程师职业发展的文章,抛砖引玉,期待与大家一起交流探讨。 我是成曰,目前在蚂蚁金服数据平台部任职前端工程师,从事数据中台产品的研发。

职能概览

0080eecdc0552b9fe023a667c0794015d0920f6c

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

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

观点

  1. 继续分化(领域、行业、技术栈)
  2. 继续融合(端技术、Web全栈技术、人工智能与端技术)
  3. 核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养)

cf0bda5556d2563fa3fc2b152f30abc75bd887bb

1. 继续分化

领域

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

  • 中后台:有云控制台、信息&资产管理平台、内部研发&项目管理平台、人工智能&机器学习平台、数据研发分析平台,企业内部信息平台等。具体产品如阿里云控制台、ERP、PAI、DeepInsight、阿里内外、Basecamp等。
  • 图形:有基础图形库、3D图形、数据可视化、流程图等。具体产品如G2、DataV、阿里云城市大脑、滴滴智能交通调度图、双十一大屏等。
  • 端技术:有移动端(iOS、Android、MobileWeb、PWA、小程序)、PC端(客户端、Web端)、触屏电脑、各种监控大屏、智能手表手环,智能汽车&家居屏幕等。具体产品如淘宝支付宝的App、PC主站、移动H5站,阿里郎、VS Code、双十一大屏、UC浏览器UWP版本、各种智能手表、手环、汽车、家居屏幕等。
  • 泛Node:有工具链、Web框架、IoT、客户端(Electron、NW)等。具体产品如DEF/Atool/F2E-Test(阿里前端开发者工具)、Egg.js、阿里云的IoT应用、VS Code等。
  • 开发者服务:有应用开发运维平台、组件市场等。具体产品如阿里云的应用搭建平台Boat、Fusion-Design组件市场,支付宝小程序开发者工具等。

行业

  • 2B
  1. 信息管理、财务、建筑、航天、水利、金融、制造等传统行业软件以及阿里提出的五新:新零售,新制造,新金融,新技术和新能源,新技术赋能传统行业
  2. SAAS软件及服务:如Teambition、Trello、钉钉企业版、Basecamp、Growing.io
  • 2C
  1. 移动App:如微信、微博
  2. PC工具应用:如Google Doc
  3. 产品展示类网站:如阿里云、支付宝官网

技术栈

  • React(Native)
  • Angular(NativeScript)

  • Vue(Weex)

2. 继续融合

端技术

  • 前端、客户端技术思想的融合
  • 组件化(组件化搭建页面)
  • 组件生命周期钩子函数(如iOS ViewController)
  • MV*(如MVVM设计就来源于微软客户端开发框架)
  • 大前端的统一
  • 虚拟DOM技术:React/ReactNative/ReactCanvas
  • 各种移动设备内核和引擎的统一:WebKit/V8
  • Web技术文档的统一:Mozilla Web Docs

Web全栈技术

  • 前端、后端技术思想的融合
  • MV*(如前端的第一个MVC框架Backbone.js就来自于Ruby on Rails开发者)
  • AOP、依赖注入(Angular)
  • GraphQL(SQL)
  • IndexedDB(Database)

人工智能与端技术

  • 人工智能、前端技术的融合
  • 端是最终触达用户的节点
  • 端数据采集->后端机器学习、数据分析->智能推荐呈现
  • 物联网、前端技术的融合
  • 智能家居/汽车/工业设备可能是有屏幕的,同时可以基于如JerryScript这样的JS执行引擎使用Node.js开发联网应用

3. 核心不变

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

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

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

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

历史回顾

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

fc77462085d32c9e626573f9e0d5982e0693eb46

前端的未来

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

  • 小规模移动App:移动App市场被一些巨头把持,小规模App生存空间越来越小
  • PC信息导航类网站(网址、购物、论坛、生活):现在移动优先,而且有智能推荐,并且是强社交

无界面交互

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

  • 会话式界面(视频语音会话、语音搜索:WebRTC,开源语音库:Common Voice)
  • 感官式界面(视觉:WebAR/WebVR)
  • 无界面,未来会有大量IoT设备(IoT有自己的通信协议和规范,前端的工作是在用户看不见的后台)

富界面交互

大量工作需要前端来做:

  • 日常办公软件(复杂应用,并且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器
  • 大数据/AI配套软件(复杂应用,并且慢慢从桌面程序演化为Web):需要大量的后台系统来做数据分析/机器学习
  • 播放器/游戏:H5代替Flash,如Web Audio、Web Video、Canvas
  • 容器/DSL/内核/小程序:支付宝/微信/钉钉容器,内核(也就是UC、QQ浏览器内核),及其自定义DSL(如果将来手机的底层能力都可以上浮到小程序,很有想象空间)
  • 产品信息展示类网站(炫酷应用):各种智能设备官网、大企业官网

未来在哪里?

aeca63a884ad7878c7921d121694b3b4860862cc

回顾观点

  1. 继续分化(领域细分、行业细分、技术栈细分)
  2. 继续融合(端技术融合、Web全栈、人工智能与端技术的融合)
  3. 核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养)

一些建议

1 关心人工智能的发展,思考TA在前端领域可能产生的应用场景
  • 视觉稿自动生成代码
  • 根据用户使用习惯自动排出最符合该用户习惯的界面
  • 收集用户数据在前端实时做学习和分析,如deeplearn.js
2 相信前端的未来,Web的力量
  • WebKit
  • V8
  • Flexbox:Yoga

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


原文发布时间为:2018-01-23

本文作者:成曰

本文来自云栖社区合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”微信公众号

相关文章
|
6月前
|
前端开发
一个前端工程师的思考(一)
一个前端工程师的思考(一)
48 0
|
3月前
|
前端开发 JavaScript 开发工具
如何成为优秀的前端工程师
【8月更文挑战第24天】如何成为优秀的前端工程师
61 3
|
1月前
|
编解码 前端开发 JavaScript
Web前端开发需要掌握哪些知识?
Web前端在最近几年发展的十分迅速,报名进行Web前端培训的同学也越来越多。移动互联网的背景之下,每一个人每天会跟各式各样的手机端应用打交道,殊不知这些App都跟Web前端有着密不可分的关系。
|
3月前
|
前端开发 JavaScript 项目管理
前端工程师
前端工程师【8月更文挑战第25天】
35 0
|
网络协议 前端开发 网络虚拟化
Web前端开发与应用
不知为啥无法提交文件,只能这样了
|
设计模式 存储 前端开发
WEB前端开发的那些书
前端无敌之路
150 0
|
移动开发 前端开发 开发者
前端工程师必须掌握的28个知识点|前端一面必备
本篇内容适合新手小白以及想系统回顾前端知识的开发者。基础知识是前端一面一定会问的,如果你在基础知识这里翻了车,面试官可能不会给你展示其它能力的机会,所以大家千万不要因为基础知识错过了自己心仪的公司。今天就用这28道前端面试题来测试一下自己对于前端基础的掌握吧~
前端工程师必须掌握的28个知识点|前端一面必备
|
JavaScript 前端开发 UED
前端工程师和设计师必读文章推荐【系列三十五】
  《Web 前端开发精华文章推荐》自2011年6月20号发布第一期以来,历经五年半,总共发布了30多期。今天这篇是2017年第1期(总第35期),希望你能在这里发现有用的资料。   梦想天空专注前端开发技术,分享提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 和 CSS3 技术应用,共享精美的设计素材和优秀的 Web 开发工具,希望这些精心整理的前端技术文章能够帮助到您。
2160 1
|
JavaScript 前端开发 UED
前端工程师和设计师必读文章推荐【系列三十三】
  《Web 前端开发精华文章推荐》自2011年6月20号发布第一期以来,历经三年半,总共发布了30多期。今天这篇是2015年第2期(总第33期),希望你能在这里发现有用的资料。   梦想天空专注前端开发技术,分享提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 和 CSS3 技术应用,推荐优秀的 网页设计 案例,共享精美的设计素材和优秀的 Web 开发工具,希望这些精心整理的前端技术文章能够帮助到您。
2095 1
|
Web App开发 移动开发 JavaScript
前端工程师面试题汇总(转)
HTML Doctype作用?严格模式与混杂模式如何区分?它们有何意义? HTML5 为什么只需要写 ? 行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 页面导入样式时,使用link和@import有什么区别? 介绍一下你对浏览器内核的理...
2285 0