2019-2021 美团技术年货 前端篇虑,我们决定结合各大主流框架之所长,然后开发出一款属于美团外卖的跨容器复用 框架。 对比项 mpvue Taro 1.3 Chameleon WePY UniApp DSL Vue 类 React(Nerv) 类 Vue Vue Vue 是否支持 React Native 否 是,但支持效果不佳 Weex 否 否 兼容 API 无 有(API 支持程度不一) 自研多态协议 无 是 跨端组件库 无 有 限制问题: ● 不能在包含 JSX 元素的 map 循环中使用 if 表达式 ● 不能使用 Array#map 之外的方法操作 JSX 数组 ● 不能在 JSX 参数中使用匿名函数 ● 暂不支持在 render() 之外的方法定义 JSX ● 不允许在 JSX 参数 (props) 中传入 JSX 元素 ● 不能在 JSX 参数中使用对象展开符 同时也支持大部分 时代,伴随终端设备的日趋多样化,跨端复 用的种子自此落地,开始生根发芽。从依靠容器能力、各类离线化预装包的 Hybrid 方案,到通过 JSC 连接 JavaScript 生态与原生控件,结合视图框架(React、Vue 等)寻找效率、动态性和性能更均衡的 Native 容器方案(React Native、Weex 等), 接着由微信牵头的以多进程 WebView、容器标准化的小程序方案出世,各平台小程 序随之春笋萌发,随后带来了国内0 码力 | 738 页 | 50.29 MB | 1 年前3
前端开发者指南(2017)转投 Visual Studio Code 编辑器,这成为一种趋势。 jQuery 仍有热度,但使用率和关注度都在下滑。jQuery 3 已然发布 ,却无人问津。 Vue.js 理所应当地吸收更多追随者。 JavaScript 函数式编程和模式备受关注。 离线开发和渐进式 WEB 应用(PWA)步入主流。 微软发力。 基于 web 技术,使用 NW.js 和 Electron 开发 windows,OSX 一样,它是万维网内容生产环节必不可少的三种技术 之一,被大多数网站所使用,并且在不需要使用插件的情况下被所有现代的浏览器所支 持。Javascript 基于原型并且把函数视为头等公民,因此是一种多范式的编程语言,支持 面向对象,命令式以及函数式编程风格。它有一个可被用来操作文字,数组,日期以及 正则表达式的 API,然而并不包含任何 I/O,因此像建网,存储或者图形工具之类的功能 就需要依赖它所在的开发环境。 Grids DOM 操作(比如 jQuery) 前端开发技能 24 移动 Web 性能 负载测试 性能测试 渐进增强/优雅降级 版本控制(比如 GIT) MVC / MVVM / MV* 函数式编程 数据格式(比如 JSON,XML) 数据API(比如 Restful API) Web 字体嵌入 可缩放矢量图形(亦称 SVG) 正则表达式 内容策略 Microdata / Microformats0 码力 | 164 页 | 6.43 MB | 1 年前3
NativeScript 101with native code • React Support • API Access via Native Modules • UI Thread vs JS Thread • Angular/Vue/Vanilla vs React • Progress vs Facebook • Apache 2.0 vs BSD+ JavaScript-Driven Native • Share Code Behind o Vanilla JavaScript o Built-in MVVM Pattern o Angular Support o TypeScript Support o Vue Support (Community-Driven) o Preact Support (Community-Driven) Debugging Strategies o Debug by alert0 码力 | 90 页 | 40.11 MB | 1 年前3
Web and Mobile Code Sharing with Angular and NativeScriptfor building truly native mobile apps with JavaScript. Use web skills, like TypeScript, Angular, Vue and CSS, and get native UI and performance on iOS and Android. NativeScript is… “The goal”0 码力 | 55 页 | 1.14 MB | 1 年前3
The JavaScript Handbook
language features from the APIs provided by Node.js. Is a particular feature provided by React or Vue? Or is it "plain JavaScript", or "vanilla JavaScript" as often called? In this book I talk about0 码力 | 56 页 | 577.92 KB | 1 年前3
阮一峰 《ECMAScript 6入门》 第三版变量的解构赋值 字符串的扩展 正则的扩展 数值的扩展 函数的扩展 数组的扩展 对象的扩展 Symbol Set 和 Map 数据结构 Proxy Reflect Promise 对象 Iterator 和 for...of 循环 Generator 函数的语法 Generator 函数的异步应用 async 函数 Class 的基本语法 Class 的继承 Decorator => item + 1); // 转码后 input.map(function (item) { return item + 1; }); 上面的原始代码用了箭头函数,Babel 将其转为普通函数,就能在不支持箭头函数 的 JavaScript 环境执行了。 配置文件 .babelrc Babel 的配置文件是 .babelrc ,存放在项目的根目录下。使用 Babel 的第一步, a[6](); // 10 上面代码中,变量 i 是 var 命令声明的,在全局范围内都有效,所以全局只有一 个变量 i 。每一次循环,变量 i 的值都会发生改变,而循环内被赋给数组 a 的 函数内部的 console.log(i) ,里面的 i 指向的就是全局的 i 。也就是说,所 有数组 a 的成员里面的 i ,指向的都是同一个 i ,导致运行时输出的是最后一 轮的 i0 码力 | 679 页 | 2.66 MB | 1 年前3
阮一峰 JavaScript 教程目 录 致谢 介绍 前言 入门篇 导论 历史 基本语法 数据类型 概述 null,undefined 和布尔值 数值 字符串 对象 函数 数组 运算符 算术运算符 比较运算符 布尔运算符 二进制位运算符 其他运算符,运算顺序 语法专题 数据类型的转换 错误处理机制 编程风格 console 对象与控制台 标准库 Object 对象 属性描述对象 语言是一种“对象模型”语言。各种宿主 环境通过这个模型,描述自己的功能和操作接口,从而通过 JavaScript 控制这些功能。但是,JavaScript 并不是纯粹的“面 向对象语言”,还支持其他编程范式(比如函数式编程)。这导致几乎 任何一个问题,JavaScript 都有多种解决方法。阅读本书的过程 中,你会诧异于 JavaScript 语法的灵活性。 JavaScript 的核心语法部分相当精简,只包括两个部分:基本的语 还是值得学习,况且它的 入门真的不难。 JavaScript 的性能优势体现在以下方面。 (1)灵活的语法,表达力强。 JavaScript 既支持类似 C 语言清晰的过程式编程,也支持灵活的 函数式编程,可以用来写并发处理(concurrent)。这些语法特性已 经被证明非常强大,可以用于许多场合,尤其适用异步编程。 JavaScript 的所有值都是对象,这为程序员提供了灵活性和便利0 码力 | 540 页 | 3.32 MB | 11 月前3
廖雪峰JavaScript教程2.6 条件判断 2.7 循环 2.8 Map和Set 2.9 iterable 3 函数 3.1 函数定义和调用 3.2 变量作用域 3.3 方法 3.4 高阶函数 3.4.1 map/reduce 3.4.2 filter 3.4.3 sort 3.5 闭包 3.6 箭头函数 3.7 generator 4 标准对象 4.1 Date 4.2 RegExp 4 z = 5; 10. } 11. } JavaScript本身对嵌套的层级没有限制,但是过多的嵌套无疑会大大增加看懂代码的难度。遇到这种 情况,需要把部分代码抽出来,作为函数来调用,这样可以减少代码的复杂度。 以 // 开头直到行末的字符被视为行注释,注释是给开发人员看到,JavaScript引擎会自动忽略: 1. // 这是一行注释 2. alert('hello'); 比较。 另一个例外是 NaN 这个特殊的Number与所有其他值都不相等,包括它自己: 1. NaN === NaN; // false 唯一能判断 NaN 的方法是通过 isNaN() 函数: 1. isNaN(NaN); // true 最后要注意浮点数的相等比较: 1. 1 / 3 === (1 - 2 / 3); // false 这不是JavaScript的设计缺陷。浮0 码力 | 264 页 | 2.81 MB | 11 月前3
JavaScript Promise迷你书(中文版)它是基于并列/并行处理设计的一种编程语言。 现在JavaScript也拥有了这种特性,这就是本书所介绍的JavaScript Promise。 另外,如果说到基于JavaScript的异步处理,我想大多数都会想到利用回调函数。 使用了回调函数的异步处理 ---- getAsync("fileA.txt", function(error, result){ if(error){// 取得失败时的处理 throw Promise 迷你书(中文版) 6 // 取得成功时的处理 }); ---- <1> 传给回调函数的参数为(error对象, 执行结果)组合 Node.js等则规定在JavaScript的回调函数的第一个参数为 Error 对象,这也是它的一个 惯例。 像上面这样基于回调函数的异步处理如果统一参数使用规则的话,写法也会很明了。 但是,这也仅是编码规约而已,即使采用不同的写法也不会出错。 注册这个promise对象执行成功 时和失败时相应的回调函数。 这和回调函数方式相比有哪些不同之处呢? 在使用promise进行一步处理的时候,我们 必须按照接口规定的方法编写处理代码。 也就是说,除promise对象规定的方法(这里的 then 或 catch )以外的方法都是不可以使 用的, 而不会像回调函数方式那样可以自己自由的定义回调函数的参数,而必须严格 遵守固定、统一的编程方式来编写代码。0 码力 | 112 页 | 1010.02 KB | 1 年前3
ECMAScript规范 第三版 中文版.......................................................................................12 4.3.4 构造函数................................................................................................... .......................................................................................55 10.1.1 函数对象................................................................................................. ........................................................................................58 10.2.3 函数代码.................................................................................................0 码力 | 58 页 | 563.06 KB | 1 年前3
共 20 条
- 1
- 2













