前端的本质
视图布局;
视图交互;
数据流转;
用户体验;
关于视觉布局,你应该去学习这门技术视图包含哪些基础组件,比如说列表、Form 表单、图片、动画等;另外,布局是用什么方式进行的,比如静态、流式、响应式以及弹性等。以上是前端比较通用的技术,只要你掌握了这些内容,学习其他语言是非常轻松的。
而对前端来说,视图交互无非是事件类型(事件生成者)、事件响应(事件消费者)以及事件流(事件传递者)三个事件对象。
事件类型包含: 点击事件、滑动事件、拖拽事件、输入事件……而前端这类事件都是共通的,因为人机交互的方式也就这些。
事件响应包含: 路由跳转、数据处理转化、数据提交、事件转发……路由跳转对于前端来说是比较核心的部分,但是原理相似,主要是 URL 、Deep link 、Scheme 、Universal link 、 内部的 Action 机制……
事件转发包含: 冒泡机制、事件捕获和事件委托,对前端来说都是非常相似的技术点。
关于数据流转,会涉及数据的网络模块、传输协议、存储和管理、本地存储技术、数据的动态响应等。
网络模块: 每个技术都有该模块,并且都会有一些不同的处理原则,比如说同步返回还是异步获取。
传输协议: 无非就是 JSON、XML 和 Protobuff ,当然也存在自定义的消息二进制数据。
本地存储技术: 前端的各类技术中都有所不同,也分为私密的和公开的,那么在应用时也应该区分开来。
数据响应: 目前就包含我们比较熟悉的 MVVM 的 VM 模块。
而前端最重要的目标就是用户体验,所以用户体验是任何前端技术的核心部分,你要考虑“用户体验的指标怎么去衡量?”不过每一种技术衡量的指标都相似,比如首屏渲染时长、FPS、事件响应延时……
那怎么去获取这些用户体验的性能指标,并且上报监控呢?这是你需要了解的,比如 Web 有 performance 对象。其次,使用什么工具化方式来调试以及优化用户体验指标的数据,也是你需要了解和掌握的部分,比如前端有 Chrome 、Flutter 有 DevTools 。
以上就是前端的本质,掌握这些本质的知识以后,你学习一门新的技术往往是比较容易的,比如说现在都是人操作交互,假设以后靠神经传输交互,那么视图交互还是没有变,变的主要是交互方式。
此文章为7月Day07学习笔记,内容来源于极客时间《Node.js开发实战》,强烈推荐该课程!