开发者学堂课程【如何成为技术大牛?:08前端I程师的未来在哪里?】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1240/detail/18428
前端工程师的未来在哪里
内容介绍
一、教师简介
二、课时概述
三、职能概览
四、未来趋势
五、观点
六、前端的未来
七、未来在哪里
八、回顾观点
九、建议
十、后记
一、教师简介
成曰,目前在蚂蚁金服数据平台部任职前端工程师,从事数据中台产品的研发。目前对前端架构与质量、用户体验、TypeScript 比较感兴趣。
二、课时概述
以下所说的都是个人观点,比较宏观粗浅,主要针对的是前端工程师本身,没有深入技术和业务细节,请谨慎参考。
三、职能概览
前端工程师首先是个程序员,其次也是个软件工程师,他们工作在离用户最近的地方,负责人机交互和用户体验,虽然叫“前端”,但其实他们的工作边界已经很宽了。
四、未来趋势
展望未来,前端的工作会继续分化,也会继续融合,分工是工业革命以来社会高效协作的主要推动力,以后很长一段时间应该也会维持这种形态,融合的原始推动力也是提高效率。分化和融合是不断的演化和互吸收转化的,不过核心的东西还是不会有太大变化。
五、观点
1、继续分化:领域、行业、技术栈
(1)领域
前端领域会继续分化,例如阿里内部的前端就已经有中后台、图形、端技术、泛 Node、开发者服务五个大方向了,每个大方向也会细分。
①中后台:有云控制台、信息和资产管理平台、内部研发和项目管理平台、人工智能和机器学习平台、数据研发分析平台、企业内部信息平台等。具体产品如阿里云控制台、ERP、PAI、Deep Insight、阿里内外、Base camp 等。
②图形:有基础图形库、3D图形、数据可视化、流程图等。具体产品如G2、Data V、阿里云城市大脑、滴滴智能交通调度图、双十一大屏等。
③端技术:有移动端(iOS、Android、Mobile Web、PWA、小程序)、PC端(客户端、Web 端)、触屏电脑、各种监控大屏、智能手表手环,智能汽车和家居屏幕等。具体产品如淘宝支付宝的App、PC主站、移动H5站,阿里郎、VS Code、双十一大屏、UC浏览器 UWP版本、各种智能手表、手环、汽车、家居屏幕等。
④泛 Node:有工具链、Web 框架、LoT、客户端(Electron、NW)等。具体产品如 DEF 或 Atool 或 F2E-Test(阿里前端开发者工具)、Egg.js、阿里云的 LoT 应用、VS Code等。
⑤开发者服务:有应用开发运维平台、组件市场等。具体产品如阿里云的应用搭建平台 Boat、Fusion-Design 组件市场,支付宝小程序开发者工具等。
(2)行业
①2B:信息管理、财务、建筑、航天、水利、金融、制造等传统行业软件以及阿里提出的五新:即新零售,新制造,新金融,新技术和新能源,新技术赋能传统行业。
②SAAS 软件及服务:如Teambition、Trello、钉钉企业版、Base camp、http://Growing.io。
③2C
移动 App:如微信、微博
PC 工具应用:如 Google Doc
产品展示类网站:如阿里云、支付宝官网
(3) 技术栈
①React(Native)
②Angular(Native Script)
③Vue(Weex)
2、继续融合:端技术、Web全栈技术、人工智能与端技术
(1)端技术
①前端、客户端技术思想的融合
②组件化(组件化搭建页面)
③组件生命周期钩子函数,如iOS View Controller
④MV*,如MVVM设计就来源于微软客户端开发框架
(2)大前端的统一
①虚拟 DOM 技术:React/ReactNative/ReactCanvas
②各种移动设备内核和引擎的统一:WebKit 或 V8
③Web技术文档的统一:Mozilla Web Docs
(3)Web 全栈技术
①前端、后端技术思想的融合
②MV*,如前端的第一个 MVC 框架 Backbone.js 就来自于 Ruby on Rails 开发者
③AOP、依赖注入(Angular)
④GraphQL(SQL)
⑤IndexedDB(Database)
(4)人工智能与端技术
①人工智能、前端技术的融合
②端是最终触达用户的节点
③端数据采集到后端机器学习、数据分析到智能推荐呈现
④物联网、前端技术的融合
⑤智能家居或汽车或工业设备可能是有屏幕的,同时可以基于如Jerry Script这样的 JS 执行引擎使用 Node.js 开发联网应用。
3、核心不变:计算机科学本质、软件工程思想与实践、程序员职业素养
(1)计算机科学基础:如基本的操作系统概念和计算机组成原理,算法和数据结构基础等等。
(2)软件工程思想与实践:如软件开发模式、设计模式、架构思维、自动化思维,单元测试集成测试,UML 等。
(3)程序员职业素养:如对代码整洁和可读性的追求,对软件开发的热情,对编程技艺的自我提升等等。
4、历史回顾
回顾过前端的演化,主要参见最底下的相关资源,下图简要回顾一下95年以来软件开发和前端历史。
六、前端的未来
1、那些生存空间越来越小的产业
②小规模移动App:移动App市场被一些巨头把持,小规模App生存空间越来越小。
③PC信息导航类网站(网址、购物、论坛、生活):现在移动优先,而且有智能推荐,并且是强社交。
2、无界面交互
Web 前端能做一些事,主要是大前端的范畴。
(1)会话式界面(视频语音会话、语音搜索:WebRTC,开源语音库:Common Voice)
(2)感官式界面(视觉:WebAR/WebVR)
(3)无界面,未来会有大量 LoT 设备(LoT 有自己的通信协议和规范,前端的工作是在用户看不见的后台。)
3、富界面交互
大量工作需要前端来做:
(1)日常办公软件(复杂应用,并且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器
(2)大数据/AI配套软件(复杂应用,并且慢慢从桌面程序演化为Web):需要大量的后台系统来做数据分析和机器学习。
(3)播放器/游戏:H5代替 Flash,如 Web Audio、Web Video、Canvas
(4)容器/DSL/内核/小程序:支付宝或微信或钉钉容器,内核,也就是UC、QQ 浏览器内核),及其自定义DSL(如果将来手机的底层能力都可以上浮到小程序,很有想象空间)
(5)产品信息展示类网站(炫酷应用):各种智能设备官网、大企业官网。
七、未来在哪里
前端的未来包括日常办公软件、大数据或 AI 配套软件、会话式界面、感官式界面、播放器或游戏、容器或小程序、产品官网等等。
八、回顾观点
1、继续分化(领域细分、行业细分、技术栈细分)
2、继续融合(端技术融合、Web 全栈、人工智能与端技术的融合)
3、核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养)
九、建议
1、关心人工智能的发展,思考 TA 在前端领域可能产生的应用场景。视觉稿自动生成代码,根据用户使用习惯自动排出最符合该用户习惯的界面,收集用户数据在前端实时做学习和分析,如deeplearn.js
2、相信前端的未来,Web 的力量
WebKit
V8
Flexbox:Yoga
3、结合公司业务特点有重点的关注前端的某些方面,毕竟技术服务于业务。
十、后记
前端的发展超出了所有人的想象力,未来肯定是难以预测的,也没有做预测的必要,要做的还是踏实做好眼前的事情,“过往不恋、当下不杂、未来不迎”,与君共勉!其他相关资源可见以下文档。