2019-2021 美团技术年货 前端篇
段时间的探索和实践,美团外卖 MTFlutter 团队成功实现了 Flutter 对于鸿蒙系统的 前端 2 > 2021年美团技术年货 原生支持。 这里也要提前说明一下,因为鸿蒙系统目前还处于 Beta 版本,所以这套适配方案还 没有在实际业务中上线,属于技术层面比较前期的探索。接下来本文会通过原理和部 分实现细节的介绍,分享我们在移植和开发过程中的一些经验。希望能对大家有所启 发或者帮助。 背景知识和基础概念介绍 两者的区别进行了对比: 图 3 模式对比 Canvaskit Render 模式:底层基于 Skia 的 WebAssembly 版本,而上层使 用 WebGL 进行渲染,因此能较好地保证一致性和滚动性能,但糟糕的兼容性 (WebAssembly 从 Chrome 57 版本才开始支持)是我们需要面对的问题。此外 Skia 的 WebAssembly 文件大小达到了 2.5M,且 Skia 自绘引擎需要字体库支持, Docker 镜像,整个过 程耗时较长且不够灵活。因此,我们将 Dart-SDK、Framework、Flutter_Web_ SDK 按版本打包传至云端,在编译开始前读取 CI/CD 环境变量:sdk_version (SDK 版本号),远程拉取相应版本的 SDK 包,并替换当前 Docker 环境中的对应模 块,基于以此方案实现 SDK 的灵活发布,具体流程图如下图所示: 图 10 集成0 码力 | 738 页 | 50.29 MB | 1 年前3廖雪峰JavaScript教程
已经在2015年6月正式发布了,所以,讲到JavaScript的版本,实际上就是说它实现了ECMAScript 标准的哪个版本。 JavaScript简介 JavaScript历史 ECMAScript JavaScript版本 1 JavaScript简介 - 7 - 本文档使用 书栈(BookStack.CN) 构建 由于浏览器在发布时就确定了JavaScript的版本,加上很多用户还在使用IE6这种古老的浏览器,这 的浏览器,这 就导致你在写JavaScript的时候,要照顾一下老用户,不能一上来就用最新的ES6标准写,否则,老 用户的浏览器是无法运行新版本的JavaScript代码的。 不过,JavaScript的核心语法并没有多大变化。我们的教程会先讲JavaScript最核心的用法,然 后,针对ES6讲解新增特性。 原文: https://wizardforcel.gitbooks.io/li 书栈(BookStack.CN) 构建 5. abc = 'Hello, world'; 6. alert(abc); 运行代码,如果浏览器报错,请修复后再运行。如果浏览器不报错,说明你的浏览器太古老了,需要尽 快升级。 不用 var 申明的变量会被视为全局变量,为了避免这一缺陷,所有的JavaScript代码都应该使用 strict模式。我们在后面编写的JavaScript代码将全部采用strict模式。0 码力 | 264 页 | 2.81 MB | 10 月前3阮一峰 《ECMAScript 6入门》 第三版
ECMAScript 6 入门 《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 前言 4 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介 绍,并给出大量简洁易懂的示例代码。 本书为中级难度,适合已经掌握 ES5 的读者,用来了解这门语言的最新发展;也 可当作参考手册,查寻新增的语法点。 提交给国际标准化组织ECMA,希望这种语言能够成为国 际标准。次年,ECMA 发布262号标准文件(ECMA-262)的第一版,规定了浏览 器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是1.0版。 该标准从一开始就是针对 JavaScript 语言制定的,但是之所以不叫 JavaScript,有 两个原因。一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape JavaScript 语言的下一个版本。 但是,因为这个版本引入的语法功能太多,而且制定过程当中,还有很多组织和个 人不断提交新功能。事情很快就变得清楚了,不可能在一个版本里面包括所有将要 引入的功能。常规的做法是先发布6.0版,过一段时间再发6.1版,然后是6.2版、 ECMAScript 6简介 7 6.3版等等。 但是,标准的制定者不想这样做。他们想让标准的升级成为常规流程:任何人在任0 码力 | 679 页 | 2.66 MB | 1 年前3前端开发者指南(2017)
Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全 多平台开发学习 导向学习 前端课程 前端开发学习的起点 前端资讯、新闻站和播客 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 Introduction 8 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全 多平台开发学习 导向学习 前端课程 前端开发学习的起点 前端资讯、新闻站和播客 成为一种切实可行的解决方案。 越来越多人着手进行 UI 的功能性、整合性测试,其中包含例如可视化 CSS 和 RWD(译 注:响应式网页设计,全称 Responsive web design)回归测试的概念。 得益于老版本 IE 使用、开发程度的大幅度降低,为浏览器 API 一致性而战的时代已离我 们远去。 2016 前端开发回顾 14 几乎人人都意识到开发网页的时候必须考虑多设备适配策略。 使用其他语言的开发者持续涌入0 码力 | 164 页 | 6.43 MB | 1 年前3ECMAScript规范 第三版 中文版
Netscape 的全部子系列浏览器和从 Internet Explorer3.0 开始所有来自 Microsoft 的浏览器中出现。 该标准的研发起始于 1996 年 11 月。ECMA 标准的首个版本于 1997 年 6 月被 ECMA 公共协 会采用。 此 ECMA 标准曾被提交 ISO/IECJTC1 以“快速通道”审批过程的方式进行审批,并于 1998 年 8 月被批准成为 ISO/IEC16262 异常被抛出..."等 等。只要有一个算法步骤遭遇异常,就不再认为此异常发生过。 6 源代码文本 ECMAScript 源代码文本被表示为一个 Unicode 编码的字符序列,Unicode 版本 2.1 或更新, 使用 UTF-16 转换格式。我们期望文本已被 Unicode 规范化形式 C(canonical composition)规范化, Unicode 技术报告 #15 中描述了它。合乎标准的 中给出,对于 Unicode 标准的升级版 3.0 有一些小更正。 此文法同时基于 Unicode 标准所具体指明的常规及非常规字符类别。在 Unicode 标准 2.1 版中具 体指明的类别中的字符,必须被所有符合标准的 ECMAScript 实现认作是其它类别中的字符; 不过,符合标准的 ECMAScript 实现可以允许附加那些基于 Unicode 早期版本中的类别分配的、 合法的标识符字符集。0 码力 | 58 页 | 563.06 KB | 1 年前3Hello 算法 1.1.0 JavaScript版
并引起一些安全问题。 在实际中,我们通常会用一些标准哈希算法,例如 MD5、SHA‑1、SHA‑2 和 SHA‑3 等。它们可以将任意长 度的输入数据映射到恒定长度的哈希值。 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次 图的深度优先遍历是一种优先走到底、无路可走时再回溯的搜索方式,常基于递归来实现。 第 9 章 图 hello‑algo.com 204 2. Q & A Q:路径的定义是顶点序列还是边序列? 维基百科上不同语言版本的定义不一致:英文版是“路径是一个边序列”,而中文版是“路径是一个顶点序 列”。以下是英文版原文:In graph theory, a path in a graph is a finite or hello‑algo.com 363 16.1 编程环境安装 16.1.1 安装 IDE 推荐使用开源、轻量的 VS Code 作为本地集成开发环境(IDE)。访问 VS Code 官网,根据操作系统选择相 应版本的 VS Code 进行下载和安装。 图 16‑1 从官网下载 VS Code VS Code 拥有强大的扩展包生态系统,支持大多数编程语言的运行和调试。以 Python 为例,安装“Python0 码力 | 379 页 | 18.46 MB | 1 年前3Hello 算法 1.2.0 简体中文 JavaScript 版
并引起一些安全问题。 在实际中,我们通常会用一些标准哈希算法,例如 MD5、SHA‑1、SHA‑2 和 SHA‑3 等。它们可以将任意长 度的输入数据映射到恒定长度的哈希值。 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次 搜索方式,通常借助队列实现。 ‧ 图的深度优先遍历是一种优先走到底、无路可走时再回溯的搜索方式,常基于递归来实现。 2. Q & A Q:路径的定义是顶点序列还是边序列? 维基百科上不同语言版本的定义不一致:英文版是“路径是一个边序列”,而中文版是“路径是一个顶点序 列”。以下是英文版原文:In graph theory, a path in a graph is a finite or hello‑algo.com 363 16.1 编程环境安装 16.1.1 安装 IDE 推荐使用开源、轻量的 VS Code 作为本地集成开发环境(IDE)。访问 VS Code 官网,根据操作系统选择相 应版本的 VS Code 进行下载和安装。 图 16‑1 从官网下载 VS Code VS Code 拥有强大的扩展包生态系统,支持大多数编程语言的运行和调试。以 Python 为例,安装“Python0 码力 | 379 页 | 18.47 MB | 9 月前3Hello 算法 1.0.0 JavaScript版
并引起一些安全问题。 在实际中,我们通常会用一些标准哈希算法,例如 MD5、SHA‑1、SHA‑2 和 SHA‑3 等。它们可以将任意长 度的输入数据映射到恒定长度的哈希值。 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次 搜索方式,通常借助队列实现。 ‧ 图的深度优先遍历是一种优先走到底、无路可走时再回溯的搜索方式,常基于递归来实现。 2. Q & A Q:路径的定义是顶点序列还是边序列? 维基百科上不同语言版本的定义不一致:英文版是“路径是一个边序列”,而中文版是“路径是一个顶点序 列”。以下是英文版原文:In graph theory, a path in a graph is a finite or hello‑algo.com 363 16.1 编程环境安装 16.1.1 安装 IDE 推荐使用开源、轻量的 VS Code 作为本地集成开发环境(IDE)。访问 VS Code 官网,根据操作系统选择相 应版本的 VS Code 进行下载和安装。 图 16‑1 从官网下载 VS Code VS Code 拥有强大的扩展包生态系统,支持大多数编程语言的运行和调试。以 Python 为例,安装“Python0 码力 | 376 页 | 17.57 MB | 1 年前3Hello 算法 1.0.0b5 JavaScript版
MD5、SHA‑1、SHA‑2、SHA3 等。它们可以将任意长度 的输入数据映射到恒定长度的哈希值。 第 6 章 哈希表 hello‑algo.com 125 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次 索方式,通常借助队列实现。 ‧ 图的深度优先遍历是一种优先走到底、无路可走时再回溯的搜索方式,常基于递归来实现。 2. Q & A � 路径的定义是顶点序列还是边序列? 维基百科上不同语言版本的定义不一致:英文版是“路径是一个边序列”,而中文版是“路 径是一个顶点序列”。以下是英文版原文:In graph theory, a path in a graph is a finite or 16.1 编程环境安装 1. VSCode 本书推荐使用开源轻量的 VSCode 作为本地 IDE ,下载并安装 VSCode 。 2. Java 环境 1. 下载并安装 OpenJDK(版本需满足 > JDK 9)。 2. 在 VSCode 的插件市场中搜索 java ,安装 Extension Pack for Java 。 3. C/C++ 环境 1. Windows 系统需要安装0 码力 | 375 页 | 30.68 MB | 1 年前3阮一峰 JavaScript 教程
核心语法和浏览器网页开发的基本知识, 不涉及 Node。全书可以分成以下四大部分。 基本语法 标准库 浏览器 API DOM JavaScript 语言有多个版本。本书的内容主要基于 ECMAScript 5.1 版本,这是学习 JavaScript 语法的基础。ES6 和更新的语法 导论 - 10 - 本文档使用 书栈(BookStack.CN) 构建 请参考我写的《ECMAScript 上使用量排名第一的 语言。 著名程序员 Jeff Atwood 甚至提出了一条 “Atwood 定律”: “所有可以用 JavaScript 编写的程序,最终都会出现 JavaScript 的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.) 相比学习其他语言,学习 书栈(BookStack.CN) 构建 历史 JavaScript 语言的历史 诞生 JavaScript 与 Java 的关系 JavaScript 与 ECMAScript 的关系 JavaScript的版本 周边大事记 参考链接 JavaScript 因为互联网而生,紧跟着浏览器的出现而问世。回顾它 的历史,就要从浏览器的历史讲起。 1990年底,欧洲核能研究组织(CERN)科学家 Tim Berners-0 码力 | 540 页 | 3.32 MB | 10 月前3
共 17 条
- 1
- 2