美文网首页
2019-12-23 浅谈“前端技术栈” 【0071号】

2019-12-23 浅谈“前端技术栈” 【0071号】

作者: 莫名岛岛主 | 来源:发表于2019-12-23 14:31 被阅读0次

浅谈 “ 前端技术栈 ”


■ 职能概览

前端技术所在领域

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

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

■ 行业观点

计算机科学与技术 技术栈

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

         √ 信息管理、财务、建筑、航天、水利、金融、制造等传统行业软件以及阿里提出的五新:新零售,新制造,新金融,新技术和新能源,新技术赋能传统行业

         √ SaaS软件及服务:如Teambition、Trello、钉钉企业版、Basecamp、Growing.io

         · 2C

          √ 移动App:如微信、微博

          √ PC工具应用:如Google Doc

          √ 产品展示类网站:如阿里云、支付宝官网

技术栈

         · React(Native)

         · Angular(NativeScript)

         · Vue(Weex)

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

端技术

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

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

          √ 组件生命周期钩子函数(如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等等。

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

■ 历史回顾

自1995年以来的“前端”演化过程

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

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

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

2、无界面交互:Web前端能做一些事,主要是大前端的范畴

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

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

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

3、富界面交互:大量工作需要前端来做

     · 日常办公软件(复杂应用,并且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器

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

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

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

     · 产品信息展示类网站(炫酷应用):各种智能设备官网、大企业官网

■ 未来在哪里?

“前端”的未来

一些似乎可用的建议:

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

     · 视觉稿自动生成代码

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

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

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

     · WebKit

     · V8

     · Flexbox:Yoga

        如已成为或打算成为一名“前端工程师”的朋友,可以结合自己公司的业务特点有重点地关注前端的某些方面,毕竟技术服务于业务。


■ 相关资源

Web开发这十年】 【GUI应用架构十年变迁】 【大话前端时代一】 【母鸡与前端工程师

写给初学前端工程师的一封信】 【李开复人工智能预言】 【无界面交互】 


注:本文部分内容(包括图片)摘自阿里技术的《不止代码》一书中的 - “前端工程师的未来在哪里”。

不止代码 Code Life _by_ 阿里技术

相关文章

网友评论

      本文标题:2019-12-23 浅谈“前端技术栈” 【0071号】

      本文链接:https://www.haomeiwen.com/subject/houznctx.html