2019-2021 美团技术年货 前端篇
Swift 与 Objective-C 及混编机制 108 美团民宿跨端复用框架设计与实践 165 美团跨端一体化富文本管理技术实践 186 前端 | 2020 202 移动端 UI 一致性解决方案 202 美团外卖 Flutter 动态化实践 227 美团开源 Logan Web:前端日志在 Web 端的实现 255 外卖客户端容器化架构的演进 270 Flutter 过打造一套 合适的跨端框架,以相对低的成本移植应用到鸿蒙平台,并利用好该系统的特性能 力,就成为了一个非常重要的选项。 在现有的众多跨端框架当中,Flutter 以其自渲染能力带来的多端高度一致性,在新 系统的适配上有着突出的优势。虽然 Flutter 官方并没有适配鸿蒙的计划,但经过一 段时间的探索和实践,美团外卖 MTFlutter 团队成功实现了 Flutter 对于鸿蒙系统的 前端 上分别提供了交易履约、运营、 广告、营销等一系列功能,且经常有外投 H5 的场景(如外卖学院、商家社区、营销 活动等)。在这种多形态的业务场景下,如何保障多端体验的一致性,以及如何提升 多端迭代的效率,一直是商家端产研关注的重点。 1.1.1 保障多端体验一致性 由于端能力的不同,导致了业务在 App 和 Web 上存在较大的表现差异,例如:App 上自带动画转场,而在 Web 中的实现成本却较高,往往也就降级舍弃了这部分功能。0 码力 | 738 页 | 50.29 MB | 1 年前3前端开发者指南(2017)
的功能性、整合性测试,其中包含例如可视化 CSS 和 RWD(译 注:响应式网页设计,全称 Responsive web design)回归测试的概念。 得益于老版本 IE 使用、开发程度的大幅度降低,为浏览器 API 一致性而战的时代已离我 们远去。 2016 前端开发回顾 14 几乎人人都意识到开发网页的时候必须考虑多设备适配策略。 使用其他语言的开发者持续涌入 JS 领域,他们也带来了一些东西:例如类型检测,和对 28 全能型人才/全栈神话 图片来源:http://andyshora.com/full-stack-developers.html 一个能够设计和开发整个 web 解决方案的人,需要具备非常强的专业技能和在视觉设计、UI/ 交互设计、前端开发、后端开发等领域非常丰富的经验。能这四个领域里精通一门或多门技 术的人,就已经可以说是非常稀有的人才了。 老实说,你应当努力成为,或者尽力聘请到0 码力 | 164 页 | 6.43 MB | 1 年前3阮一峰 《ECMAScript 6入门》 第三版
u 修饰符。如果 不加 u 修饰符,正则表达式使用 \p 和 \P 会报错,ECMAScript 预留了这两个 类。 由于 Unicode 的各种属性非常多,所以这种新的类的表达能力非常强。 const regex = /^\p{Decimal_Number}+$/u; regex.test(' ������ ���') // true 上面代码中,属性类指定匹配所有十进制字符,可以看到各种字型的十进制字符都 switch 语句会按设计的方式工作。 还有一点需要注意,Symbol 值作为属性名时,该属性还是公开属性,不是私有属 性。 实例:消除魔术字符串 魔术字符串指的是,在代码之中多次出现、与代码形成强耦合的某一个具体的字符 串或者数值。风格良好的代码,应该尽量消除魔术字符串,改由含义清晰的变量代 替。 Symbol 232 function getArea(shape, options) getArea('Triangle', { width: 100, height: 100 }); // 魔术字符串 上面代码中,字符串 Triangle 就是一个魔术字符串。它多次出现,与代码形 成“强耦合”,不利于将来的修改和维护。 常用的消除魔术字符串的方法,就是把它写成一个变量。 var shapeType = { triangle: 'Triangle' }; function0 码力 | 679 页 | 2.66 MB | 1 年前3[试读]15天学会JavaScript - 第 2 章 ECMAScript语法基础
变量弱类型的特点,因此 ECMAScript 规范允许改变 ECMAScript 变量的数据类型。简单来说,就是初始化一个 ECMAScript 变量时为一种数据类 型,后面还可以改变该变量的数据类型。这对于使用强类型变量的 C 语言的用户和 Java 语言 来说,是有点不可思议的,不过这也恰恰体现了 JavaScript 脚本语言的灵活性。 下面来看一个改变 ECMAScript 变量数据类型的代码示例(详见源代码 console.log()函数向浏览器控制台输出调试信息(变量初始化的 数据内容); 第 05 行代码通过表达式将变量“s”的数据内容赋给了变量“i”。注意这里的数据类型是 不一致的,如果是变量强类型的编程语言(C 语言和 Java 语言),肯定会报错了。但是, ECMAScript 语法规范却是允许的,读者看后面的调试结果就知道了。 第 07~08 行代码再次分别通过 console.0 码力 | 52 页 | 3.83 MB | 1 年前3JavaScript 正则表达式迷你书 老姚 - v1.1
只能说明匹配失败了。 虽然局部匹配是贪婪的,但也要满足整体能正确匹配。否则,皮之不存,毛将焉附? 此时我们不禁会问,如果当多个贪婪量词挨着存在,并相互有冲突时,此时会是怎样? 答案是,先下手为强!因为深度优先搜索。测试如下: var string = "12345"; var regex = /(\d{1,3})(\d{1,3})/; console.log( string.match(regex)0 码力 | 89 页 | 3.42 MB | 10 月前3JavaScript 正则表达式迷你书 老姚 - v1.0
只能说明匹配失败了。 虽然局部匹配是贪婪的,但也要满足整体能正确匹配。否则,皮之不存,毛将焉附? 此时我们不禁会问,如果当多个贪婪量词挨着存在,并相互有冲突时,此时会是怎样? 答案是,先下手为强!因为深度优先搜索。测试如下: var string = "12345"; var regex = /(\d{1,3})(\d{1,3})/; console.log( string.match(regex)0 码力 | 89 页 | 3.42 MB | 10 月前3ECMAScript规范 第三版 中文版
中使用 String 构造函数提供一个字符串参数创建出 String 对象。结果对象拥有一个隐含(无命 名的)属性是那个字符串值。通过以函数的方式调用 String 构造函数可以把一个 String 对象强 制为一个字符串值。 4.3.19 数值 数值是 Number 类型的一个成员,是数字的直接表示。 4.3.20 Number 类型 Number 类型是表示数字的值的集合。在 ECMAScript0 码力 | 58 页 | 563.06 KB | 1 年前3阮一峰 JavaScript 教程
功能日益增强,而语法缺陷和 怪异之处得到了弥补。所以,JavaScript 还是值得学习,况且它的 入门真的不难。 JavaScript 的性能优势体现在以下方面。 (1)灵活的语法,表达力强。 JavaScript 既支持类似 C 语言清晰的过程式编程,也支持灵活的 函数式编程,可以用来写并发处理(concurrent)。这些语法特性已 经被证明非常强大,可以用于许多场合,尤其适用异步编程。 语言开发高性 能的原生 App 打开了一条道路。 2015年4月,Angular 框架宣布,2.0 版将基于微软公司的 TypeScript语言开发,这等于为 JavaScript 语言引入了强类型。 2015年5月,Node 模块管理器 NPM 超越 CPAN,标志着 JavaScript 成为世界上软件模块最多的语言。 2015年5月,Google 公司的 Polymer 框架发布10 码力 | 540 页 | 3.32 MB | 10 月前3Hello 算法 1.0.0b1 JavaScript版
也回复 了许多读者的评论问题,遇到最多的问题是“如何入门学习算法”。我渐渐也对这个问题好奇了起来。 两眼一抹黑地刷题应该是最受欢迎的方式,简单粗暴且有效。然而,刷题就如同玩“扫雷”游戏,自学能力强 的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在受挫中步步退缩。通读教 材书籍也是常用方法,但对于面向求职的同学来说,毕业季、投递简历、应付笔面试已经占用大部分精力,厚0 码力 | 185 页 | 14.70 MB | 1 年前3廖雪峰JavaScript教程
此,JavaScript代码将直接在你的计算机上以命令行的方式运行,所以,我们要先选择一个文本编辑 器来编写JavaScript代码,并且把它保存到本地硬盘的某个目录,才能够执行。 那么问题来了:文本编辑器到底哪家强? 推荐两款文本编辑器: 一个是Sublime Text,免费使用,但是不付费会弹出提示框: 一个是Notepad++,免费使用,有中文界面: 请注意,用哪个都行,但是绝对不能用Word和写字0 码力 | 264 页 | 2.81 MB | 10 月前3
共 14 条
- 1
- 2