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 年前3electron中文教程
系统仅有64位的二进制文档,支持的最低版本是 macOS 10.8。 仅支持 Windows 7 及其以后的版本,之前的版本中是不能工作的。 对于 Windows 提供 x86 和 amd64 (x64) 版本的二进制文件。需要注意的是 ARM 版本的 Windows 目 前尚不支持. 预编译的 ia32 ( i686 ) 和 x64 ( amd64 ) 版本 Electron 二进制文件都是在Ubuntu arm 版的二进制文件是在 ARM v7(硬浮点 ABI 与Debian Wheezy 版本的 NEON)下完成的。 预编译二进制文件是否能够运行,取决于其中是否包括了编译平台链接的库,所以只有 Ubuntu 12.04可以保证正常 工作,但是以下的平台也被证实可以运行 Electron 的预编译版本: Ubuntu 12.04 及更新 Fedora 21 Debian 8 支持的平台 的位置。 当 Node 开始换新的V8引擎版本时,原生模块可能“坏”掉。为确保一切工作正常,你需要检查你想要使用的原生模 块是否被 Electron 内置的 Node 支持。你可以在这里查看 Electron 内置的 Node 版本,或者使用 process.version (参考:快速入门)查看。 考虑到 NAN 可以使你的开发更容易对多版本 Node 的支持,建议使用它来开发你自己的模块。你也可以使用0 码力 | 203 页 | 2.72 MB | 1 年前3TypeScript 4.0 使用手册
使用 工程配置 tsconfig.json 工程引用 NPM包的类型 编译选项 配置 Watch 在MSBuild里使用编译选项 与其它构建工具整合 使用TypeScript的每日构建版本 Wiki TypeScript里的this 编码规范 常见编译错误 支持TypeScript的编辑器 结合ASP.NET v5使用TypeScript 架构概述 发展路线图 新增功能 · BookStack.CN 构建 build build passing passing PRs welcome TypeScript 4.0 (August 20, 2020) | 版本发布说明 ✔ TypeScript语言用于大规模应用的JavaScript开发。 ✔ TypeScript支持类型,是 JavaScript的超集且可以编译成纯JavaScript代码。 ✔ 使用 工程配置 tsconfig.json 工程引用 NPM包的类型 编译选项 配置 Watch 在MSBuild里使用编译选项 与其它构建工具整合 使用TypeScript的每日构建版本 Wiki TypeScript里的this 编码规范 常见编译错误 支持TypeScript的编辑器 结合ASP.NET v5使用TypeScript 架构概述 发展路线图 新增功能0 码力 | 683 页 | 6.27 MB | 1 年前3《玩转webpack》 第四章 进阶篇: 编写可维护的 webpack 构建配置
install 安装项目依赖 script 运行测试用例 发布到 npm 添加用户: npm adduser 升级补丁版本号:npm version patch 升级版本 升级小版本号:npm version minor 升级大版本号:npm version major 发布版本:npm publish Git 规范和 Changelog 生成 ·加快 Code Review 的流程 良好的 "husky": "^0.13.1" } Changelog 生成 开源项目版本信息案例 React 版本信息 版本是严格递增的,此处是:16.2.0 - > 16.3.0 -> 16.3.1 软件的版本通常由三位组成,形如: X.Y.Z 在发布重要版本时,可以发布alpha, rc 等先行版本 alpha和rc等修饰版本的关键字后面可 以带上次数和meta信息 遵守 semver 规范的优势 规范的优势 优势: ·避免出现循环依赖 ·依赖冲突减少 语义化版本(Semantic Versioning)规范格式 次版本号:当你做了向下兼容的功能性新增, 主版本号:当你做了不兼容的 API 修改, 修订号:当你做了向下兼容的问题修正。 先行版本号 先行版本号可以作为发布正式版之前的版本,格式是在修订版本号后面加上一个连接 号(-),再加上一连串以点(.)分割的标识符,标识符可以由英文、数字和连接号0 码力 | 30 页 | 5.38 MB | 1 年前3跨平台桌⾯应⽤框架:Electron
Python electron-python-example js Node electron和node版本对应关系 NODE_MODULE_VERSION和node版本对应关系 附录 ⽂档和教程 参考资料 1 2 跨平台桌⾯应⽤框架:Electron 最新版本: v1.0 更新时间: 20200808 简介 介绍跨平台桌⾯应⽤框架Electron的基本概念、 4 directories, 21 files ⽤VSCode打开,效果是: 初始化node环境 node要安装版本v8 之前: brew install node 安装出的node是 13.5.0 ,会导致后续编译electron有问题,所以需要换 8.x 版本的 node : brew install node@8 安装后使其⽣效: 把路径加到启动脚本的PATH中: echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.zshrc ⽴刻⽣效: source ~/.zshrc 安装后的版本是: node: 8.17.0 npm: 6.13.4 根⽬录 electron-python-example 中: 创建⽂件 .npmrc ,内容为: npm_config_target0 码力 | 123 页 | 21.81 MB | 1 年前3[试读] Angular 5 高级编程
Angular, Second Edition ISBN 978-7-302-49117-0 Ⅰ. ①A… Ⅱ. ①亚… ②杨… Ⅲ. ①超文本标记语言-程序设计-教材 Ⅳ. ①TP312.8 中国版本图书馆 CIP 数据核字(2017)第 315412 号 责任编辑:王 军 李维杰 装帧设计:孔祥峰 责任校对:曹 阳 责任印制: 出版发行:清华大学出版社 Node.js 版本与本书中使用的相同。尽管 Node.js 相对稳定,但 是 API 仍然会不时地发生重大变更,这样可能会导致本书中包含的示例无法正常运行。 本书使用的版本是 8.9.1,这是本书写作时的长期支持(Long Term Support,LTS)版本。 Angular 5 高级编程(第 2 版) 6 当阅读本书时,Node.js 可能会有更新的版本,但是为了正常运行本书中的例子,应该坚持 可能会有更新的版本,但是为了正常运行本书中的例子,应该坚持 使用 8.9.1 版本。可从 https://nodejs.org/dist/v8.9.1 获取一系列 8.9.1 版本,包括针对 Windows 和 Mac OS 的安装程序以及针对其他平台的二进制软件包。 安装 Node.js 时,务必选择正确的安装程序选项,将 Node.js 可执行文件添加到路径(Path 环境变量)中。安装完成后,运行以下命令: node0 码力 | 42 页 | 6.14 MB | 1 年前3TypeScript Handbook(中文版)
7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 编译选项 在MSBuild里使用编译选项 与其它构建工具整合 使用TypeScript的每日构建版本 Wiki TypeScript里的this 编码规范 常见编译错误 支持TypeScript的编辑器 结合ASP.NET v5使用TypeScript 架构概述 发展路线图 Breaking 从前打心眼儿里讨厌编译成JavaScript的这类语言,像Coffee,Dart等。 但是 在15年春节前后却爱上了TypeScript。 同时非常喜欢的框架Dojo,Angularjs也 宣布使用TypeScript做新版本的开发。 那么TypeScript究竟为何物?又有什么 魅力呢? TypeScript是Microsoft公司注册商标。 TypeScript具有类型系统,且是JavaScript的超集。 它可以编译成普通的JavaScript 规范 举例 深入 发布 使用 工程配置 tsconfig.json NPM包的类型 编译选项 在MSBuild里使用编译选项 与其它构建工具整合 使用TypeScript的每日构建版本 Wiki TypeScript里的this 编码规范 常见编译错误 支持TypeScript的编辑器 结合ASP.NET v5使用TypeScript 架构概述 发展路线图 Breaking0 码力 | 557 页 | 7.48 MB | 1 年前3基于Electron vue的桌应用实战2
客户端 Vue Vue-Router Vuex Iview Electron 底层 Main Process Render Process 底层 代理理层 SSO Stash ⽤用户信息 版本统计 权限管理理 构建层 Electron-builder webpack Gulp etc…… UAC ├── bin │ ├── jenkins.sh │ ├── run-test Web-Hook ⾃自动化构建、发布 Electron Build Code signing 通讯 ⼯工具 修复问题 ⼿手动构建、发布 修复问题 Unit Testing ✔ 版本管理理平台 测试 Electron应⽤用中遇到的问题和解决⽅方案 项⽬目实践 #1如何解耦业务逻辑 Node Path file Stream …… Native dialog #3如何完成签名、⾃自动更更新 使⽤用⼈人员 版本1.0 命中使⽤用的版本 版本管理理平台 配置⻚页⾯面 后端服务 版本1.2 版本1.3 每次新版本上线,⼀一旦线上出现严重bug 影响所有⽤用户使⽤用 客户端 更更新SDK 添加灰度版本和配置信息 配置信息 项⽬目实践 #3如何完成签名、⾃自动更更新 灰度发布 指定⼈人员发布 指定版本发布 项⽬目实践 #4如何定位和收集问题0 码力 | 34 页 | 3.47 MB | 1 年前3Vue.js v3.0 教程(Vue3 教程)
使用 npm 安装它。 3. 使用官方的 CLI 来构建一个项目,它为现代前端工作流程提供了功能齐备的构建设置 (例如, 热重载、保存时的提示等等)。 最新版本: npm@next npm@next v3.0.2 v3.0.2 每个版本的详细发行说明可在 GitHub (opens new window) 上找到。 当前是 Beta 版——Vuex 和 Router 的集成仍然是 WIP app (opens new window) 对于制作原型或学习,你可以这样使用最新版本 1. 对于生产环境,我们推荐链接到一个明确的版本号和构建文件,以避免新版本造成的不可预期的破坏: 安装 发布版本说明 Vue Devtools CDN 安装 - 7 - 本文档使用 书栈网 · 快速搭建繁杂的脚手 架。它为现代前端工作流提供了 batteries-included 的构建设置。只需要几分钟的时间就可以运 行起来并带有热重载、保存时 lint 校验,以及生产环境可用的构建版本。更多详情可查阅 Vue CLI 的文档 (opens new window)。 TIP CLI 工具假定用户对 Node.js 和相关构建工具有一定程度的了解。如果你是新手,我们强烈建议先0 码力 | 368 页 | 3.97 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 arr.indexOf('30'); // 元素'30'的索引为2 注意了,数字 30 和字符串 '30' 是不同的元素。 slice() 就是对应String的 substring() 版本,它截取 Array 的部分元素,然后返回一个新 的 Array : 1. var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; 2. arr.slice(00 码力 | 264 页 | 2.81 MB | 10 月前3
共 54 条
- 1
- 2
- 3
- 4
- 5
- 6