2019-2021 美团技术年货 前端篇
美团外卖终端容器无关化研发框架 74 一款可以让大型 iOS 工程编译速度提升 50% 的工具 96 从预编译的角度理解 Swift 与 Objective-C 及混编机制 108 美团民宿跨端复用框架设计与实践 165 美团跨端一体化富文本管理技术实践 186 前端 | 2020 202 移动端 UI 一致性解决方案 202 美团外卖 Flutter 动态化实践 227 227 美团开源 Logan Web:前端日志在 Web 端的实现 255 外卖客户端容器化架构的演进 270 Flutter 包大小治理上的探索与实践 297 美团外卖持续交付的前世今生 326 微前端在美团外卖的实践 352 积木 Sketch 插件进阶开发指南 372 积木 Sketch Plugin:设计同学的贴心搭档 400 Native 地图与 Web 融合技术的应用与实践 融合技术的应用与实践 431 目录 前端 | 2019 446 MTFlexbox 自动化埋点探索 447 Litho 在美团动态化方案 MTFlexbox 中的实践 459 开源 React Native 组件库 beeshell 2.0 发布 473 React Native 在美团外卖客户端的实践 506 Android 静态代码扫描效率优化与实践 530 Probe:Android0 码力 | 738 页 | 50.29 MB | 1 年前3Flutter在百度贴吧的落地实践
个人动态 商业化 n 品牌大使 n 直播 n Banner n 原生广告 研发效率 用户体验 最快触达用户 Flutter的优势 跨平台开发 高效的开发体验 性能接近Native 1 2 3 Ø N倍平台产出 Ø 多端逻辑一致 效率 质量 目录 n 为何引入Flutter n 实践之旅 Ø 技术全景 Ø 工程体系接入 Ø 业务框架升级 Ø Android插件化 n 总结 图片 视频 日志 全局数 据同步 插件 FlutterWeb 目录 n 为何引入Flutter n 实践之旅 Ø 技术全景 Ø 工程体系接入 Ø 业务框架升级 Ø Android插件化 n 总结 第一步 当 我 跨 出 第 一 步 工程体系接入 n Flutter接入方式 n FlutterBox Flutter接入方式 源码 双端工程 Flutter环境 aar 业务框架升级之旅 接下来…… n 技术需求(背景) n 现有业务框架 n 现有业务框架的问题与挑战 n redux到tieba_redux 技术需求(背景) 定制版本、 快速开发新app 细粒度模块化 中台能力 一键配置生成 现有业务框架(传统做法) Model Presenter View 消息中心 注册 监听 发消息 网络(长短链接) 自定义 拦截/整合 模块间 模块内 现有业务框架的问题与挑战0 码力 | 36 页 | 14.75 MB | 1 年前3TypeScript Handbook(中文版)
这篇指南将会教你如何将TypeScript和React还有webpack结合在一起使用。 如果你正在做一个全新的工程,可以先阅读这篇React快速上手指南。 否则,我们假设已经在使用Node.js和npm。 初始化项目结构 让我们新建一个目录。 将会命名为 proj ,但是你可以改成任何你喜欢的名字。 mkdir proj cd proj 我们会像下面的结构组织我们的工程: proj/ ├─ dist/ 生成生产环境的构建版本 在使用 npm run start 运行工程的时候,我们并没有生成一个优化过的版本。 通 常我们想给用户一个运行的尽可能快并在体积上尽可能小的代码。 像压缩这样的优 化方法可以做到这一点,但是总是要耗费更多的时间。 我们把这样的构建版本称 做“生产环境”版本(与开发版本相对)。 要执行生产环境的构建,可以运行如下命令: npm run build 这会相应地创建优化过的JS和CSS文 number; } 这里我们想让 languageName 表示应用使用的编程语言(例如,TypeScript或者 JavaScript), enthusiasmLevel 是可变的。 在写我们的第一个容器的时候,就 会明白为什么要令state与props稍有不同。 添加actions 下面我们创建这个应用将要响应的消息类型, src/constants/index.tsx 。 // src/constants/index0 码力 | 557 页 | 7.48 MB | 1 年前3Vue.js v3.0 教程(Vue3 教程)
API 介绍 Setup 生命周期钩子 提供/注入 模板引用 渲染机制和优化 Vue 2 中的更改检测警告 工具 单文件组件 测试 TypeScript 支持 Mobile 规模化 路由 状态管理 服务端渲染 无障碍 基础 语义学 标准 资源 从 Vue 2 迁移 介绍 v-for 中的 Ref 数组 异步组件 attribute 强制行为 自定义指令 webpack , rollup 和 parcel 。 TODO:将 prod/dev 分支留给 process.env.NODE_ENV guards (需要更换构建工具) 不提供最小化版本 (捆绑后与其余代码一起完成) import 依赖 (例如: @vue/runtime-core , @vue/runtime-compiler ) 导入的依赖项也是 esm bundler 或用于 Node.js 通过 require() 进行服务器端渲染。 如果你将应用程序与带有 target: 'node' 的 webpack 打包在一起,并正确地将 vue 外部化,则将加载此构建。 dev/prod 文件是预构建的,但是根据 process.env.NODE_env 会自动需要相应的文 件。 如果需要在客户端上编译模板 (即:将字符串传递给 template0 码力 | 368 页 | 3.97 MB | 1 年前3electron中文教程
- 21 - 本文档使用 书栈(BookStack.CN) 构建 引自ChromeDriver - WebDriver for Chrome: WebDriver 是一款开源的支持多浏览器的自动化测试工具。它提供了操作网页、用户输入、JavaScript 执行等能力。ChromeDriver 是一个实现了 WebDriver 与 Chromium 联接协议的独立服务。它也是由开发了 Chromium 25. // 与此同时,你应该删除相应的元素。 26. mainWindow = null; 27. }); 28. } 29. 30. // Electron 会在初始化后并准备 31. // 创建浏览器窗口时,调用这个函数。 32. // 部分 API 在 ready 事件触发后才能使用。 33. app.on('ready', createWindow); —enable-logging 开启时有效. 支持的 Chrome 命令行开关 - 53 - 本文档使用 书栈(BookStack.CN) 构建 一些 Electron 的行为受到环境变量的控制,因为他们的初始化比命令行和应用代码更早. POSIX shells 的例子: 1. $ export ELECTRON_ENABLE_LOGGING=true 2. $ electron Windows 控制台:0 码力 | 203 页 | 2.72 MB | 1 年前3TypeScript 4.0 使用手册
mkdir components 4. cd .. Webpack会帮助我们生成 dist 目录。 现在把这个目录变成npm包。 1. npm init -y React与webpack 初始化项目结构 初始化工程 React与webpack - 53 - 本文档使用 书栈网 · BookStack.CN 构建 它会使用默认值生成一个 package.json 文件。 首先确保已经全局安装了Webpack。 6. } 这里我们想让 languageName 表示应用使用的编程语言(例如,TypeScript或者 JavaScript), enthusiasmLevel 是可变的。 在写我们的第一个容器的时候,就会明白为什么要 令state与props稍有不同。 下面我们创建这个应用将要响应的消息类型, src/constants/index.tsx 。 1. // src/constants/index 输入,可以测试reducers生成的新的状态。 可以考虑使用Jest的toEqual方法。 在使用Redux时,我们常常要创建组件和容器。 组件是数据无关的,且工作在表现层。 _容器_通常包 裹组件及其使用的数据,用以显示和修改状态。 你可以在这里阅读更多关于这个概念的细节:Dan Abramov写的_表现层的容器组件_。 现在我们修改 src/components/Hello.tsx ,让它可以修改状态。 我们将添加两个可选的回调属性0 码力 | 683 页 | 6.27 MB | 1 年前3Hello 算法 1.1.0 Dart版
愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长0 码力 | 378 页 | 18.45 MB | 1 年前3Hello 算法 1.1.0 TypeScript版
愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长0 码力 | 383 页 | 18.49 MB | 1 年前3Hello 算法 1.1.0 JavaScript版
愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长0 码力 | 379 页 | 18.46 MB | 1 年前3Hello 算法 1.0.0 Dart版
愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 内容注释,用于详解代码 /** * 多行 第 0 章 前言 hello‑algo.com 5 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长0 码力 | 377 页 | 17.56 MB | 1 年前3
共 65 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7