Typescript, Angular, 和移动端的跨平台开发Ryan Chen 陈亮, Engineering Manager Chromecast and Home, Google Typescript, Angular, 和移 动端的跨平台开发 1 What’s TypeScript? What’s TypeScript? ● A statically typed superset of JavaScript that compiles into Enums 枚举 ● Interfaces 介面 ● Decorators 装饰器 ● Protected / Private ● Union Types ● Modules (ES6 模块) ● Async / Await (generator) ● Exponential operator (**) ● keyof ● Object Spread ● Mixin 混入 ●0 码力 | 60 页 | 1.05 MB | 1 年前3
TypeScript 多场景设计方案及应用实践
Midway-orm Midway- schedule midway-rpc-generator Midway-rpc-mock TS Serverless 场景 前端绝佳的机会 TS FaaS 初探 平台 ⽹网关 函数 触发器器(事件) 运⾏行行时 ⼀一些概念 TS FaaS 初探 ⼀一些概念 Fn Fn Fn Node.js Runtime K8S API Gateway Business Code TS FaaS 框架 我们调研了了业界的⼤大部分 Serverless 的开发平台和开发的私 ⽤用习惯,虽然业务不不同,但是业务的代码量量依旧可观。 为什什么需要框架 TS Midway-FaaS ⽬目标: 1、体验⼀一致,⽅方便便代码模块迁移 2、跨平台发布 实现⼩小⽽而美 TS Midway-FaaS 实现⼩小⽽而美 Midway For Egg Web 到 FaaS 场景切换,代码⼀一致 TS 跨平台的考虑 1、调⽤用⽅方式的不不同 2、数据参数的不不同 3、描述⽂文件的不不同 不不同的平台需要有不不同的的调⽤用⽅方式,由于 typescript 的编 译⽬目录不不同,可以通过构建的阶段将⼊入⼝口⽂文件动态创建进去。 多个平台的⼀一致性考虑 TS 跨平台的考虑 多个平台的⼀一致性考虑 src dist package0 码力 | 95 页 | 8.28 MB | 1 年前3
TypeScript 4.0 使用手册
手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 - 2 - 本文档使用 书栈网 · BookStack.CN 构建 基础类型 变量声明 接口 类 函数 字面量类型 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 目录 README - 12 - 本文档使用 书栈网 · BookStack.CN 构建 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 库结构 举例 最佳实践0 码力 | 683 页 | 6.27 MB | 1 年前3
TypeScript Handbook(中文版)
4.6 5 5.1 5.2 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 规范 举例 深入 发布 使用 工程配置 tsconfig 1 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 TypeScript Handbook(中文版) 5 }); 测试这个应用 gulp node dist/main.js 程序应该能够打印出“Hello from TypeScript!”。 向代码里添加模块 在使用Browserify前,让我们先构建一下代码然后再添加一些混入的模块。 这个结 构将是你在真实应用程序中会用到的。 新建一个 src/greet.ts 文件: export function sayHello(name:0 码力 | 557 页 | 7.48 MB | 1 年前3
Hello 算法 1.0.0b1 TypeScript 版关系; ‧“增长趋势”表示复杂度分析不关心算法具体使用了多少时间或占用了多少空间,而是给出一种“趋势性 分析”; 复杂度分析克服了实际测试方法的弊端。一是独立于测试环境,分析结果适用于所有运行平台。二是可以体现 不同数据量下的算法效率,尤其是可以反映大数据量下的算法性能。 如果感觉对复杂度分析的概念一知半解,无需担心,后续章节会展开介绍。 2.1.3. 复杂度分析重要性 复杂度分析给 的复杂度分析。 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间能够直观且准确地体现出算法的效率水平。如果我们想要 准确预估一段代码的运行时间,该如何做 呢? 1. 首先需要 确定运行平台,包括硬件配置、编程语言、系统环境等,这些都会影响到代码的运行效率。 2. 评估 各种计算操作的所需运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作需要 5 时间。 例如以下代码,输入数据大小为 ? ,根据以上方法,可以得到算法运行时间为 6? + 12 ns 。 1 + 1 + 10 + (1 + 5) × ? = 6? + 12 // 在某运行平台下 function algorithm(n: number): void { var a: number = 2; // 1 ns a = a + 1; // 1 ns a = a * 2;0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.1.0 TypeScript版‧“时间和空间的增长趋势”表示复杂度分析关注的不是运行时间或占用空间的具体值,而是时间或空间 增长的“快慢”。 复杂度分析克服了实际测试方法的弊端,体现在以下两个方面。 ‧ 它独立于测试环境,分析结果适用于所有运行平台。 第 2 章 复杂度分析 hello‑algo.com 19 ‧ 它可以体现不同数据量下的算法效率,尤其是在大数据量下的算法性能。 Tip 如果你仍对复杂度的概念感到困惑,无须担心,我们会在后续章节中详细介绍。 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 5 ns 等。 3. 统计代码中所有的计算操作,并将所有操作的执行时间求和,从而得到运行时间。 例如在以下代码中,输入数据大小为 ? : // 在某运行平台下 function (6? + 12) ns : 1 + 1 + 10 + (1 + 5) × ? = 6? + 12 但实际上,统计算法的运行时间既不合理也不现实。首先,我们不希望将预估时间和运行平台绑定,因为算 法需要在各种不同的平台上运行。其次,我们很难获知每种操作的运行时间,这给预估过程带来了极大的难 度。 2.3.1 统计时间增长趋势 时间复杂度分析统计的不是算法运行时间,而是算法运行时间随着数据量变大时的增长趋势。0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版‧“时间和空间的增长趋势”表示复杂度分析关注的不是运行时间或占用空间的具体值,而是时间或空间 增长的“快慢”。 复杂度分析克服了实际测试方法的弊端,体现在以下两个方面。 ‧ 它独立于测试环境,分析结果适用于所有运行平台。 第 2 章 复杂度分析 hello‑algo.com 18 ‧ 它可以体现不同数据量下的算法效率,尤其是在大数据量下的算法性能。 � 如果你仍对复杂度的概念感到困惑,无须担心,我们会在后续章节中详细介绍。 图的相关问题,因为它们非常适合用分治思想进行分 析。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想要准确预估一段代码的运行时间,应该如何操作 呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns,乘法操作 * 需要 10 ns,打印操作 print() 统计代码中所有的计算操作,并将所有操作的执行时间求和,从而得到运行时间。 例如在以下代码中,输入数据大小为 ? : 第 2 章 复杂度分析 hello‑algo.com 26 // 在某运行平台下 function algorithm(n: number): void { var a: number = 2; // 1 ns a = a + 1; // 1 ns a = a * 2;0 码力 | 378 页 | 30.70 MB | 1 年前3
抛开文档,让Web开发更高效 - Typescript 项目第三方类库使用指南
2D / 3D 游戏引擎: Egret Engine 轻量 APP 开发: 青雀平台 可视化开发环境:Egret Wing 开发者、渠道商和第三方服务商的服务平台 • TypeScript 简介 • TypeScript 开发环境 • 如何使用现有 JavaScript 库 超集 静态类型 JavaScript npm install typescript –g npm install0 码力 | 24 页 | 961.21 KB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版复杂度分析克服了实际测试方法的弊端,体现在以下几个方面。 第 2 章 复杂度分析 www.hello‑algo.com 19 ‧ 它无需实际运行代码,更加绿色节能。 ‧ 它独立于测试环境,分析结果适用于所有运行平台。 ‧ 它可以体现不同数据量下的算法效率,尤其是在大数据量下的算法性能。 Tip 如果你仍对复杂度的概念感到困惑,无须担心,我们会在后续章节中详细介绍。 复杂度分析为我们提供了一把评估算法效 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 5 ns 等。 3. 统计代码中所有的计算操作,并将所有操作的执行时间求和,从而得到运行时间。 例如在以下代码中,输入数据大小为 ? : // 在某运行平台下 function (6? + 12) ns : 1 + 1 + 10 + (1 + 5) × ? = 6? + 12 但实际上,统计算法的运行时间既不合理也不现实。首先,我们不希望将预估时间和运行平台绑定,因为算 法需要在各种不同的平台上运行。其次,我们很难获知每种操作的运行时间,这给预估过程带来了极大的难 度。 2.3.1 统计时间增长趋势 时间复杂度分析统计的不是算法运行时间,而是算法运行时间随着数据量变大时的增长趋势。0 码力 | 383 页 | 18.49 MB | 10 月前3
共 9 条
- 1













