2019-2021 美团技术年货 前端篇在适配开始之前,我们要明确好先做哪些事情。先来回顾一下 Flutter 的三层结构: 在 Flutter 的架构设计中,最上层为框架层,使用 Dart 语言开发,面向 Flutter 业务 的开发者;中间层为引擎层,使用 C/C++ 开发,实现了 Flutter 的渲染管线和 Dart 运行时等基础能力;最下层为嵌入层,负责与平台相关的能力实现。显然我们要做的 是将嵌入层移植到鸿蒙上,确切地说,我们要通过鸿蒙原生提供的平台能力,重新实 Material/Cupertino 主题 Widget 集合。区别在于:Flutter Web 重写了 dart:ui 层(黄色部分),利用 DOM、Canvas 对齐了 Flutter Native 的 UI 渲染能力,使得 Flutter 编写的 UI 能够在现代浏览器上正常展示。 此外,得益于 dart2js 这个早已成熟的工具,Dart 逻辑能够很容易的转换为 JavaS- cript,进而在 Web 中被正常运行。 2.1 Flutter Web 现状 Google 官方目前对 Flutter Web 的工作主要还集中在 dart:ui(Web)的对齐,工程 化和性能相关的事项做的还比较少,例如: 前端 < 17 ● Flutter Web 构建产物较简陋,只是简单的输出 main.dart.js(1.1M,未 Gzip) 和 图片等静态资源,缺少 JS 拆包、文件 Hash、资源上传 CDN 等优0 码力 | 738 页 | 50.29 MB | 1 年前3
阮一峰 JavaScript 教程清楚。另外一些 程序员则感到,为了更合理地编写 JavaScript 程序,就不能用 JavaScript 来写,而必须发明新的语言,比如 CoffeeScript、 TypeScript、Dart 这些新语言的发明目的,多多少少都有这个因 导论 - 14 - 本文档使用 书栈(BookStack.CN) 构建 素。 尽管如此,目前看来,JavaScript 的地位还是无法动摇。加之,语 JavaScript 作 为应用程序的开发语言之一,直接提供系统支持。 2011年,Google 发布了 Dart 语言,目的是为了结束 JavaScript 语言在浏览器中的垄断,提供更合理、更强大的语法和 功能。Chromium浏览器有内置的 Dart 虚拟机,可以运行 Dart 程 序,但 Dart 程序也可以被编译成 JavaScript 程序运行。 历史 - 27 - 本文档使用 书栈(BookStack is false 10. 11. undefined == null 12. // true 从上面代码可见,两者的行为是何等相似!谷歌公司开发的 JavaScript 语言的替代品 Dart 语言,就明确规定只有 null ,没 有 undefined ! 既然含义与用法都差不多,为什么要同时设置两个这样的值,这不是无 端增加复杂度,令初学者困扰吗?这与历史原因有关。 1995年0 码力 | 540 页 | 3.32 MB | 10 月前3
Hello 算法 1.1.0 JavaScript版全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经 (ES6) code snippets 。 3.(可选)在 VS Code 的插件市场中搜索 Prettier ,安装代码格式化工具。 8. Dart 环境 1. 下载并安装 Dart 。 2. 在 VS Code 的插件市场中搜索 dart ,安装 Dart 。 9. Rust 环境 1. 下载并安装 Rust 。 2. 在 VS Code 的插件市场中搜索 rust ,安装 rust‑analyzer0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.0.0b5 JavaScript版‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Java、C++、Python、Go、JS、TS、C#、Swift、Rust、Dart、Zig 等 语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 若您是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 Swift。 2. 在 VSCode 的插件市场中搜索 swift ,安装 Swift for Visual Studio Code。 9. Dart 环境 1. 下载并安装 Dart 。 2. 在 VSCode 的插件市场中搜索 dart ,安装 Dart 。 10. Rust 环境 1. 下载并安装 Rust。 2. 在 VSCode 的插件市场中搜索 rust ,安装 rust‑analyzer。0 码力 | 375 页 | 30.68 MB | 1 年前3
Hello 算法 1.0.0 JavaScript版全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经 (ES6) code snippets 。 3.(可选)在 VS Code 的插件市场中搜索 Prettier ,安装代码格式化工具。 8. Dart 环境 1. 下载并安装 Dart 。 2. 在 VS Code 的插件市场中搜索 dart ,安装 Dart 。 9. Rust 环境 1. 下载并安装 Rust 。 2. 在 VS Code 的插件市场中搜索 rust ,安装 rust‑analyzer0 码力 | 376 页 | 17.57 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版3. 在 VS Code 的插件市场中搜索 typescript ,安装 Pretty TypeScript Errors 。 9. Dart 环境 1. 下载并安装 Dart 。 2. 在 VS Code 的插件市场中搜索 dart ,安装 Dart 。 10. Rust 环境 1. 下载并安装 Rust 。 2. 在 VS Code 的插件市场中搜索 rust ,安装 rust‑analyzer0 码力 | 379 页 | 18.47 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 JavaScript 版在 VS Code 的擴充功能市場中搜索 typescript ,安裝 Pretty TypeScript Errors 。 9. Dart 環境 1. 下載並安裝 Dart 。 2. 在 VS Code 的擴充功能市場中搜索 dart ,安裝 Dart 。 10. Rust 環境 1. 下載並安裝 Rust 。 2. 在 VS Code 的擴充功能市場中搜索 rust ,安裝 rust‑analyzer0 码力 | 379 页 | 18.78 MB | 10 月前3
共 7 条
- 1













