-
Web 构建产物较简陋,只是简单的输出 main.dart.js(1.1M,未 Gzip) 和 图片等静态资源,缺少 JS 拆包、文件 Hash、资源上传 CDN 等优 化工作,极大影响了页面的加载性能。 ● 由于 Flutter Web 自身实现了一套页面滚动机制,页面滚动过程中,会频繁计 算位置信息,引起滚动区域内容被重新创建,最终导致页面滚动性能较差。 2.2 MTFlutter 有大量的工作(上图黄色部分所示),主要包括: ● 扩展基础依赖(如:Request、Router、埋点等)在 Web 侧的支持。 ● 完善工程化建设,例如:静态资源优化、构建与部署自动化。 ● 深入滚动性能与页面加载性能优化,使得 Flutter Web 能够满足基本的投产要求。 四、详细设计 4.1 基础依赖建设 企业级应用的基础开发依赖 ( 如:请求库、路由库、埋点库等 ),要重新在 Flutter 中 Dart 对齐了 相应的 API,详细架构图如下图所示: 请求库架构图 4.2 性能优化 常规的 Web 项目中,为了保证页面有更好的加载和渲染性能,在静态资源文件的处 理方面,我们需要做很多的工作,例如:资源文件 Hash 化、CDN 化、按需加载处 理等,这些可以通过 Webpack、Rollup 等构建工具进行预处理。但在 Flutter Web 中,这些预处理的操作目前官方还不支持,原因是
0 码力 |
738 页 |
50.29 MB
| 1 年前 3
-
面向action序列编程 n 松耦合调用方式 n 生态成熟,适用复杂场景 n 带有编码规范的框架 n 满足拦截类开发需求 Ø 网络访问添加通用参数 Ø 打印action序列和State,加速问题定位 Ø 改变跳转,热修复 Redux 模块化 tieba_redux n 概念上的『和』与『分』 n 分之后的代码组织与运行 n 细粒度模块化的编码需求 tieba_redux GlobalRedux Tasks 时持有模块Store NextDisp Reducer Global Store 注册分发 业务框架小结 场 景 扩 展 收 益 一键生成多版本 多团队并行开发 加快问题定位 Hook跳转热修复 少选模块编译快 跨H5可行性 启动初始化 业务/服务/子系统 Tab容器化 生命周期 构建系统 tieba_redux Flutter Android插件之旅 接下来…… Flutter #SingleViewPresentation(context:FlutterActivity) #Presentation构造函数super(createPresentationContext) 插件问题与挑战 – 加载libapp.so 初始化 initConfig #sAotSharedLibraryName = metadata.getString("aot-shared- library-name", "libapp
0 码力 |
36 页 |
14.75 MB
| 1 年前 3
-
的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全 多平台开发学习 导向学习 数据可视化工具(例如图表) 图形工具(例如 SVG、canvas、webGL) 动画工具 JSON 工具 占位符内容工具 测试工具 前端数据存储工具 (例如客户端的数据存储方案) 模块加载/打包工具 模块/包管理工具 托管工具 项目管理以及代码托管工具 协作与沟通工具 内容管理 托管/API 工具 后端即服务工具 离线工具 安全工具 构建工具 部署工具 4 1 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 Introduction 8 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全
0 码力 |
164 页 |
6.43 MB
| 1 年前 3
-
'style-loader', + 'css-loader' + ] + } + ] + } }; css-loader ⽤用于加载 .css ⽂文件,并且转换成 commonjs 对象 style-loader 将样式通过