前言
距离年就剩2个月了,今年的前端领域你有什么印象么?今日早读文章由蚂蚁金服
云谦授权分享。正文从这开始~~
习惯从业务场景、用户体验、研发速度、维护成本四个维度来看框架等前端技术,大部分的技术点都能找到合适的位置,解的问题是如何快速上线和维护满足业务的好用的产品。
业务场景这部分解从框架的角度看业务需要。
框架负责,对接后后端框架
对接输出环节,包括支付宝容器,pc和mobile浏览器,组件研发等
对接二方服务,包括统计,鉴权等
未来三年,更多的业务有移动办公需求,小程序会继续加量
更多复杂场景的出现,包括重型应用,应用集群等,WebAssembly,微前端,ModuleFederation等技术会在此发挥作用
标准应用中NoCode/LowCode的占比逐渐增大,开发者逐渐习惯这种研发方式,包括云凤蝶或更垂直的NoCode平台,imgcook等
需要对接的业务场景越来越多,框架层需要做取舍、收敛和适时的减法
用户体验什么是默认好用?以及如何做到默认好用。
要有更好的用户体验,前端+设计师需负责,前端尺寸要小,这样页面载入更快
合理的CodeSplitting、BundleSplitting和按需加载策略,这样重要内容载入更快
UI好看,交互流畅且好用
合理的缓存和预加载策略,这样页面切换更快
之前觉得5G来了尺寸肯定不是问题,直到我看到需要下载60MJS资源的页面,内网环境打开页面都要8s+。现在的图形库、UI库根本不把尺寸当回事。
未来三年,如果我们希望有更好的用户体验,图形库、UI库自己得做瘦身/按需加载/正确的tree-shaking/设计合理的按需编译
更多框架层内置的性能优化方案
框架接管请求层,不止是发请求,基于路由,提供缓存和预加载策略
混合研发如果成为主流,需要解沙箱满的问题,参考techui首页,换modulefederation或者坐等浏览器实现标准的沙箱环境
研发速度这部分解如何快速完成研发,并交付上线。
各方配合,不止是框架,工具提速、框架瘦身、TS定义等
组件封装,包含antd/antv/tech-ui
数据准备,包含oneapi
交付流畅性,包含DEMO中心,MOCK平台,联调最佳实践等
辅助工具
未来三年,编译速度肯定会大幅提升,路肯定不止一条;重CPU部分会基于Rust/Go实现但不是整体,整体方案的终态我更倾向npmpre-builtcdn+bundless的组合;这不止是框架/工具等事,ui库和工具库也许合理规划和配置,不然一个项目用5个图形库+10个依赖antd等库,+的文件要编译,怎么搞也是快不起来
更多垂直领域高级别的封装,集成框架/UI/数据/数据流,快速产出中台应用,形态可能是平台,也可能是ProCode;封装等级越高,开发越快,但定制越难,需权衡
命令行在很多场景下不够用,借助辅助工具可进一步提效;形态有编辑器插件、Chrome插件和In-ContextEditing
维护成本产品不仅要开发,还要维护,何况框架和依赖库还在不断升级。
成本问题包括,新人的上手成本
开发人员迭代的接手成本
技术栈升级成本
未来三年,对于框架而言,降低技术栈升级成本。这需要框架有更好的顶层设计,更好的抽象,抹平底层技术栈,解3-5年后依赖的技术栈变更后迁移成本最小化的问题;功能方面权衡一方集成/二方提供/三方引入,设计上适度集成,适度组合,适度eject
写一样的代码。持续打磨最佳实践,方案唯一化,一不是绝对的一,而是特定场景下的一;框架支持多端适配,未来是PC+小程序,长远看,多套写法应该走向统一
关于本文作者:
云谦原文: