Web的未来 新技术和新语言带来的改变
3. Web App 应该更像 App 而不是一个浏览器 Tab 4. 用户并不关心背后用的是什么技术。 a. App做壳,Web做核 b. Web 会与 OS 更紧密集成,直接提供 Web引擎支持 Chrome App Launcher Chrome Apps Chrome App vs 桌面 App 技术上: ● 独立的窗口 ● 离线使用 ● 通知栏 ● App Launcher 方便,但实现被隐藏了。 基础平台商提供现成的服务,开发者只需要懂软 件、懂系统,但不需要懂硬件了。 安全 HTTPS 无处不在 Sandbox 模型 技术发展方向 ● 演进中的各种新技术标准 ● 编程语言的多元化 Web 是平台,能在上面做什么归根结底是技术标 准和浏览器支持说了算。 技术可以被 hack 的方式玩出新花样,但能力本 身并没有改变。 技术发展方向 1. 能力的扩展来自新技术:如 WebRTC Netscape 1998 年成为 ECMA 标准 2006 年 jQuery 发布 2009 年 Node.js:JavaScript 延伸到 Server 端 近两年:AMD、CommonJS 模块化标准 当前:正在制定 ECMAScript 6 标准 JavaScript 并不完美 JavaScript 并不完美 ● 程序结构不明显 ● 并非为性能设计的语言 ● 缺少一些基础功能的支持0 码力 | 91 页 | 3.44 MB | 1 年前3Flutter 任晓帅 GDG DEVFEST 12.23
⽅方案1: H5 WebView Hybrid WebView+Native React Native JavaScript+Native ⾃自⼰己负责渲染 WebView 跨平台的布局引擎: 转化为Native渲染 开发语⾔言:JavaScript 开发语⾔言:JavaScript 为何可以跨平台? H5、Hybrid:虽然UI⾃自⼰己渲染, 但是渲染性能太低,⽽而且JS运⾏行行 Xamarin:虽然性能好了了⼀一些,但是跨 平台的UI⽀支持不不好,⽆无法实现复杂的 UI布局。 编译流/虚拟机流 ⽅方案3 ⾃自⼰己负责渲染 Unity:虽然渲染性能很强⼤大,但渲染 机制为实时刷新,耗电量量太⼤大,在 APP⾥里里都是局部刷新;⽽而且安装包也 很⼤大 游戏引擎 最终⽅方案 渲染:⾃自⼰己负责渲染 dart:同时⽀支持JIT和AOT,性能⾼高 跨平台 性能 WebView0 码力 | 21 页 | 1.19 MB | 1 年前3Flutter在腾讯企鹅辅导上的实践之路
原生性能 初识Flutter Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面 Flutter简介 1 原生性能 生态与模式 C/C++ 引擎操作OpenGL、GPU直接渲染 平台一致性 Flutter简介 1 生态与模式 原生性能 实践框架及页面栈管理 2 实践框架及页面栈管理 2 腾讯企鹅辅导 实践框架及页面栈管理 2 保存页面栈信息 FlutterEngine/FlutterNativeView Route Navigator 性能优化 3 性能优化 3 泄漏 内存 增量 内存 - 降低20% 引擎 图片加载 性能优化 3 分析调 试 渲染 页面渲染 - 降低20-30% 定制规 则 优先使用StatelessWidget 最小封装原则 减少build函数中过多操作 尝试将部分Widget设置为const Navigator MJFlutter … 异常处理 上线 Http Dart Bridge CSSender Flutter For Web Common CGI Storage … 自动化脚本 部署系统 发布 … Serve 上线 降级 Flutter For Web 4 降级 Flutter Engine Crash Flutter与Native交互异常 Flutter0 码力 | 50 页 | 4.07 MB | 1 年前37-王刚-Flutter在Now直播中的工程实践应用
setState 通知 刷新界面 State need update InheritedWidget RichText 本地表情Icon •无支持表情/文本混排控件 •解决方案 1.修改Skia引擎渲染 2.业务层适配, 自动计算表情及文本宽度进行自适应换行 研发数据 •开发人力成本 人日 native flutter 图片库 1.34% engine ? 0.09% richText0 码力 | 35 页 | 5.39 MB | 1 年前3基于go和flutter的实时通信/视频直播解决方案 段维伟
的一致性,更新迭代(类似SDK需按平台维护) • 性能问题(全部使用html5) 客户端是否有 更好的选择? 为何选择 Flutter • 同样是 Google 发起的跨全平台高性能UI框架 • 基于 Skia 2D 渲染引擎 • 使用类似JS/TS的Dart 语言开发 • 支持代码编辑后热重载, Flutter 支持那些平台 iOS/Android/Web/Windows/Linux/macOS/Embedded0 码力 | 38 页 | 2.22 MB | 1 年前3陈新新 Flutter & Dart全栈开发
闲⻥鱼 - 让你的闲置游起来 Flutter & Dart 全栈开发 三端⼀一体化编程的新⽅方式 闲⻥鱼 - 让你的闲置游起来 闲⻥鱼 - 让你的闲置游起来 陈新新 阿⾥里里巴巴 - 闲⻥鱼 • 腾讯、YY、阿⾥里里巴巴 • 20年年程序员 • 多端⼀一体化、⾳音视频通信、P2P⽹网络、区块链 • 多语⾔言 C/C++/Go/Java/Dart…… 闲⻥鱼 - 让你的闲置游起来 让你的闲置游起来 视频和动画 视频 动画 闲⻥鱼 - 让你的闲置游起来 关键问题解决 混合开发:⼯工程管理理和混合栈管理理 外接纹理理播放视频 图⽚片缓存优化 ⽆无反射JSON序列列化 私有PUB库、阿⾥里里⽣生态适配 闲⻥鱼 - 让你的闲置游起来 Flutter和Native性能简单⽐比较 Flutter Native 45 FPS 30 FPS 113.2% 数据模型 Client & Server 前后端⼀一致 视图 Fixed Widget 三端⼀一体化新开发模式 视图 Dynamic Widget 业务逻辑 Client | Server 分拆实现 闲⻥鱼 - 让你的闲置游起来 三端⼀一体化的协议定义 客户端实现 ⽣生成协议 Dart Server 填充协议 写好客户端逻辑后,直接从代码⽣生成协议0 码力 | 39 页 | 17.12 MB | 1 年前3Flutter在百度贴吧的落地实践
个人动态 商业化 n 品牌大使 n 直播 n Banner n 原生广告 研发效率 用户体验 最快触达用户 Flutter的优势 跨平台开发 高效的开发体验 性能接近Native 1 2 3 Ø N倍平台产出 Ø 多端逻辑一致 效率 质量 目录 n 为何引入Flutter n 实践之旅 Ø 技术全景 Ø 工程体系接入 Ø 业务框架升级 Ø Android插件化 n 总结 图片 视频 日志 全局数 据同步 插件 FlutterWeb 目录 n 为何引入Flutter n 实践之旅 Ø 技术全景 Ø 工程体系接入 Ø 业务框架升级 Ø Android插件化 n 总结 第一步 当 我 跨 出 第 一 步 工程体系接入 n Flutter接入方式 n FlutterBox Flutter接入方式 源码 双端工程 Flutter环境 aar 业务框架升级之旅 接下来…… n 技术需求(背景) n 现有业务框架 n 现有业务框架的问题与挑战 n redux到tieba_redux 技术需求(背景) 定制版本、 快速开发新app 细粒度模块化 中台能力 一键配置生成 现有业务框架(传统做法) Model Presenter View 消息中心 注册 监听 发消息 网络(长短链接) 自定义 拦截/整合 模块间 模块内 现有业务框架的问题与挑战0 码力 | 36 页 | 14.75 MB | 1 年前3使用React构建Flutter应用
Kraken with Cloud 为什么上云? Google Stadia PlayStation Now 云游戏 Microsoft xCloud 云化体验 免下载即开即玩 无需购买高性能设备 云计算共享 所有能云化的应用最终都将云化 “ Events WebRTC/QUIC Decoding (H.265) WebSocket Render Engine Encoding (H level frame timing and synchronization optimizations Frame Syncing Kraken 云渲染 Agent Cloud 云 + 端一体化是渲染技术的新趋势 “0 码力 | 39 页 | 2.13 MB | 1 年前3后浪Flutter - Google 开源的UI 工具包陈孟泽
H5+原生(Cordova、微信小程序) • JavaScript开发+原生渲染 (React Native、Weex、快应用) • 自绘UI+原生(Flutter) 移动跨平台方案 技术类型 UI渲染方式 性能 开发效率 动态化 框架代表 H5+原生 WebView渲染 一般 高 支持 Cordova、Ionic JavaScript+原生渲染 原生控件渲染 好 中 支持 RN、Weex 自绘UI+原生 调用系统API渲染0 码力 | 28 页 | 1.56 MB | 1 年前3
共 9 条
- 1