古茗前端第二十五期

avatar
@古茗科技

资讯

文章推荐

企微封杀 RPA,是私域 3.0 的前奏

  1. RPA,全称 Robotic Process Automation,即机器人流程自动化。通过电脑操控手机,模拟真人动作,实现一对一的精准私信营销。
  2. 亚马逊森林并不在乎一场火灾,因为只要有阳光和雨水,就一定会有新的植物生长出来。只要人们还在用微信,当中就一定存在生意机会,企业必须通过微信来服务消费者,消费者也同样需要被企业服务。所以打击 RPA 不会是私域的毁灭,仅仅是每过几年都会发生一次的适者生存而已。

Let’s learn how modern JavaScript frameworks work by building one

这篇文章解释了现代 JS 框架的基本原理,并且手把手得构建了一个简化的框架,对于我们理解复杂的框架如 React, Vue 等很有帮助

别忘了前端是靠什么起家的😡😡😡

文章提出了关键理念:前端需要精通CSS,而这部分能力却又是现在的前端工程师最不重视的部分。 推荐观点来说:

  • 应该:CSS 作为前端还原交互界面设计的技术基石,精通掌握不仅仅应该是 CSS 的属性使用,还应该对其设计审美的有一定要求
  • 现状:从业现状,开源组件库一把梭
  • 深度思考:设计师和前端都好难~

精读《我们为何弃用 css-in-js》

文章讲述了 css in js 的优缺点,还对比了当下几种 css in js 的方案,如何编写 css 一直是业务代码当中的痛点,包括我们现在使用的 css modules 也不是很方便,可以参考这篇文章再寻求更好的方案

react 的 diff 算法

相比较于传统的 diff 复杂度要到达 O(n^3), React 通过定制一系列的策略把复杂度转成 O(n)。

  • 先进行 tree diff,即对同层次节点进行比较。
  • 再进行 Compnent diff, 对每一层进行组件级别的对比,是否为同一类型的dom
  • 最终进行 element diff,进行元素级别的对比。其中有删除、移动、插入(通过 mountIndex,lastIndex,nextIndex 来进行判断)

总结:

  1. Diff 算法只对同个父元素的同级子元素进行对比。如果元素的 type 和 key 相同,视为同一元素,进行更新;否则替换掉
  2. diff 中用了一个 lastIndex 局部变量,根据 mountIndex > lastIndex 时不需要移动元素(因为移动元素不会对前面的元素产生任何影响),做了一个性能提升。

《用户体验要素:以用户为中心的产品设计(原书第2版)》

本书概要:

  • 本书用简洁的语言系统化地诠释了设计、技术和商业融合是重要的发展趋势,包括关于用户体验以及为什么它如此重要、认识这些要素、战略层、范围层、结构层、框架层、表现层以及要素的应用。
  • 本书用清晰的说明和生动的图形分析了以用户为中心的设计方法(ucd)来进行网站设计的复杂内涵,并关注于思路而不是工具或技术,从而使你的网站具备高质量体验的流程。

推荐:对前端开发工程师一定要看的一本设计书的话,可以看这本书

小茗推荐

最后

关注公众号「Goodme前端团队」,获取更多干货实践,欢迎交流分享。