2019-2021 美团技术年货 前端篇r(speechEventListener); // 语音录入事件 对于事件的封装处理,可以复用 Android 已有逻辑,只需要关注鸿蒙与 Android 在 事件处理上的对应关系即可,比如触摸事件的部分对应关系: 10 > 2021年美团技术年货 3. 其他必要的平台能力 为了保证 Flutter 应用能够正常运行,除了最基本的渲染和交互外,我们的嵌入层还 要提供资源管理、事件循环、生命周期同步等平台能力。对于这些能力 现状 虽然 MTFlutter 做了诸多 Flutter Native 层面的定制与优化,但在 Flutter Web 上 的建设才刚起步,具体表现在: ● MTFlutter 现有的基础依赖如:Request(请求封装)、Router(路由)、埋点、 容器桥、前端监控,尚未支持在 Web 中的实现。 ● MTFlutter 已实现了完整的 Flutter Module 的打包发布流程,但并不支持 有大量的工作(上图黄色部分所示),主要包括: ● 扩展基础依赖(如:Request、Router、埋点等)在 Web 侧的支持。 ● 完善工程化建设,例如:静态资源优化、构建与部署自动化。 ● 深入滚动性能与页面加载性能优化,使得 Flutter Web 能够满足基本的投产要求。 四、详细设计 4.1 基础依赖建设 企业级应用的基础开发依赖 ( 如:请求库、路由库、埋点库等 ),要重新在 Flutter0 码力 | 738 页 | 50.29 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版。 第 1 章 初识算法 www.hello‑algo.com 11 1.1 算法无处不在 当我们听到“算法”这个词时,很自然地会想到数学。然而实际上,许多算法并不涉及复杂数学,而是更多 地依赖基本逻辑,这些逻辑在我们的日常生活中处处可见。 在正式探讨算法之前,有一个有趣的事实值得分享:你已经在不知不觉中学会了许多算法,并习惯将它们应 用到日常生活中了。下面我将举几个具体的例子来证实这一点。 间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具 有以下设计目标。 第 1 章 初识算法 www.hello‑algo.com 14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 1.2.3 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法为数据结构注入生0 码力 | 379 页 | 18.47 MB | 10 月前3
Hello 算法 1.1.0 JavaScript版算法世界。 第 1 章 初识算法 hello‑algo.com 11 1.1 算法无处不在 当我们听到“算法”这个词时,很自然地会想到数学。然而实际上,许多算法并不涉及复杂数学,而是更多 地依赖基本逻辑,这些逻辑在我们的日常生活中处处可见。 在正式探讨算法之前,有一个有趣的事实值得分享:你已经在不知不觉中学会了许多算法,并习惯将它们应 用到日常生活中了。下面我将举几个具体的例子来证实这一点。 举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 1.2.3 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法是数据结构发挥作 很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.0.0 JavaScript版算法世界。 第 1 章 初识算法 hello‑algo.com 11 1.1 算法无处不在 当我们听到“算法”这个词时,很自然地会想到数学。然而实际上,许多算法并不涉及复杂数学,而是更多 地依赖基本逻辑,这些逻辑在我们的日常生活中处处可见。 在正式探讨算法之前,有一个有趣的事实值得分享:你已经在不知不觉中学会了许多算法,并习惯将它们应 用到日常生活中了。下面我将举几个具体的例子来证实这一点。 举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 1.2.3 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法是数据结构发挥作 很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木0 码力 | 376 页 | 17.57 MB | 1 年前3
Hello 算法 1.0.0b5 JavaScript版算法世界。 第 1 章 初识算法 hello‑algo.com 10 1.1 算法无处不在 当我们听到“算法”这个词时,很自然地会想到数学。然而实际上,许多算法并不涉及复杂数学,而是更多 地依赖于基本逻辑,这些逻辑在我们的日常生活中处处可见。 在正式探讨算法之前,有一个有趣的事实值得分享:你已经在不知不觉中学会了许多算法,并习惯将它们应 用到日常生活中了。下面,我将举几个具体例子来证实这一点。 举 两个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 1.2.3 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及用于操作数据的方法。 ‧ 算法是数据结构发挥 但最终执行效率可能相 差很大。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 14 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为积木 数据结构与算法0 码力 | 375 页 | 30.68 MB | 1 年前3
JavaScript Promise迷你书(中文版)另外,Fulfilled和Rejected这两个中的任一状态都可以表示为Settled(不变的)。 Settled resolve(成功) 或 reject(失败)。 从Pending和Settled的对称关系来看,Promise状态的种类/迁移是非常简单易懂的。 当promise的对象状态发生变化时,用 .then 来定义只会被调用一次的函数。 JavaScript Promises - Thinking com/"); // => 返回promise对象 如Promises Overview 中做的简单介绍一样,promise对象拥有几个实例方法, 我们使用 这些实例方法来为promise对象创建依赖于promise的具体状态、并且只会被执行一次的 回调函数。 为promise对象添加处理方法主要有以下两种 • promise对象被 resolve 时的处理(onFulfilled) • promise对象被 另一种异常处理策略是通过 返回一个Rejected状态的promise对象 来实现的,这种方法 不通过使用 throw 就能在promise chain中对 onRejected 进行调用。 关于这种方法由于和本小节关系不大就不在这里详述了,大家可以参考一下第4章 使用 reject而不是throw 中的内容。 此外在promise chain中,由于在 onRejected 和 Final Task 后面没有 catch0 码力 | 112 页 | 1010.02 KB | 1 年前3
阮一峰 《ECMAScript 6入门》 第三版年6月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应 用程序,成为企业级开发语言。 ECMAScript 和 JavaScript 的关系 一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? 要讲清楚这个问题,需要回顾历史。1996年11月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给国际标 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一 种实现(另外的 ECMAScript 方言还有 Jscript 和 ActionScript)。日常场合,这两 个词是可以互换的。 ES6 与 ECMAScript 2015 的关系 ECMAScript 2015(简称 ES2015)这个词,也是经常可以看到的。它与 ES6 是什 么关系呢? 2011年,ECMAScript 参数生成source map文件 $ babel src -d lib -s 上面代码是在全局环境下,进行 Babel 转码。这意味着,如果项目要运行,全局环 境必须有 Babel,也就是说项目产生了对环境的依赖。另一方面,这样做也无法支 持不同项目使用不同版本的 Babel。 一个解决办法是将 babel-cli 安装在项目之中。 # 安装 $ npm install --save-dev babel-cli0 码力 | 679 页 | 2.66 MB | 1 年前3
廖雪峰JavaScript教程10天时间。 为什么起名叫JavaScript?原因是当时Java语言非常红火,所以网景公司希望借Java的名气来推 广,但事实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系。 因为网景开发了JavaScript,一年后微软又模仿JavaScript开发了JScript,为了让JavaScript 成为全球标准,几个公司联合ECMA(European Computer null 、 Array 和通常意义上的object—— {} 。 除了这些类型外,JavaScript还提供了包装对象,熟悉Java的小伙伴肯定很清 楚 int 和 Integer 这种暧昧关系。 number 、 boolean 和 string 都有包装对象。没错,在JavaScript中,字符串也区 分 string 类型和它的包装类型。包装对象用 new 创建: 1 Student 有 run() 方法, xiaoming 也可以调用: JavaScript的原型链和Java的Class区别就在,它没有“Class”的概念,所有对象都是实例,所谓 继承关系不过是把一个对象的原型指向另一个对象而已。 如果你把 xiaoming 的原型指向其他对象: 1. var Bird = { 2. fly: function () { 3.0 码力 | 264 页 | 2.81 MB | 10 月前3
前端开发者指南(2017)式的编程语言,支持 面向对象,命令式以及函数式编程风格。它有一个可被用来操作文字,数组,日期以及 正则表达式的 API,然而并不包含任何 I/O,因此像建网,存储或者图形工具之类的功能 就需要依赖它所在的开发环境。 — 维基百科 相关规范/文档: ECMAScript® 2017 语言规范 Web APIs (HTML5 及其他) 当使用 Javascript 给网页编写代码的时候,有许多的 可缩放矢量图形(亦称 SVG) 正则表达式 内容策略 Microdata / Microformats 任务管理器,构建工具,过程自动化工具 自适应网页设计 面向对象的程序设计 应用程序构建 模块 依赖管理 包管理 JavaScript 动画 CSS 动画 图表/图形 UI 控件 代码质量测试 代码覆盖率测试 代码复杂性分析 集成测试 命令行/命令行界面 模板策略 模板引擎 络系统。是由从 地方到全球范围内几百万个私人的、学术界的、企业的和政府的网络所构成,通过电 子,无线和光纤网络技术等等一系列广泛的技术联系在一起。互联网承载着规模可观的 信息源和服务,例如相互关系的超文本文件和万维网(WWW)应用,电子邮件,电话 和点对点文件共享网络。 — 维基百科 什么是互联网? [视频] 互联网是如何工作的? - W3C [文章] 互联网是如何工作的? - Stanford0 码力 | 164 页 | 6.43 MB | 1 年前3
阮一峰 JavaScript 教程Chrome App 项目、Github 的 Electron 项目、以及 TideSDK 项目,都可以用来编写运行于 Windows、Mac OS 和 Android 等 多个桌面平台的程序,不依赖浏览器。 (7)小结 可以预期,JavaScript 最终将能让你只用一种语言,就开发出适应 不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月 的统计之中,JavaScript 导论 - 17 - 本文档使用 书栈(BookStack.CN) 构建 历史 JavaScript 语言的历史 诞生 JavaScript 与 Java 的关系 JavaScript 与 ECMAScript 的关系 JavaScript的版本 周边大事记 参考链接 JavaScript 因为互联网而生,紧跟着浏览器的出现而问世。回顾它 的历史,就要从浏览器的历史讲起。 ape 公司可以借助 Java 语言的声 势,而 Sun 公司则将自己的影响力扩展到了浏览器。 之所以起这个名字,并不是因为 JavaScript 本身与 Java 语言有 多么深的关系(事实上,两者关系并不深,详见下节),而是因为 Netscape 公司已经决定,使用 Java 语言开发网络应用程序, JavaScript 可以像胶水一样,将各个部分连接起来。当然,后来的 历史是 Java0 码力 | 540 页 | 3.32 MB | 10 月前3
共 17 条
- 1
- 2













