3.3

周报封面55.jpg

前端每周清单第55: MobX 4特性概览,iOS Hacks分享,分布式事务详解

作者:王下邀月熊 编辑:徐川

前端每周清单专注大前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID: frontshow),及时获取前端每周清单。

新闻热点

国内国外,前端最新动态

  • Firefox 59.0发布:近日,Firefox发布了从桌面端到移动端的各平台更新版本;特别是对于桌面端的Firefox,我们优化了页面加载时间,增加了能够编辑与裁剪Firefox截图的工具,并且提升了Firefox首页的站点排布体验。值得一提的是,对应的MAC版本中引入了Off-Main-Thread Painting (OMTP)技术,从而提高图形化渲染的效率;而在Android版本中则增加了对于HLS协议的支持。

  • Let’s Encrypt宣布支持ACME v2与通配符证书:近日Lets Encrypt正式宣布支持ACME v2与通配符证书。ACME v2ACME协议的更新版本,接收了来自IETF标准以及行业组织的建议;而通配符协议则允许用户使用单一证书对于所有的子域名开启HTTPS功能,其大大简化了证书管理的复杂度,推进了Web HTTPS化的进程。同时,Let’s Encrypt获得了IdenTrust交叉签名,这意味着只需要在服务器的证书链中配置好交叉签名,各浏览器客户端会自动处理其他任务。

  • 2018 Stack Overflow开发者调查报告:今年,超过十万名开发者参与到了调查之中,为我们提供了充足的数据源。今年的报告中,值得注意的点包括:DevOps与机器学习已然成为了现今软件行业最重要的趋势,开发者们大都乐观于人工智能带来的变革与可能性,而不同意其潜在的威胁。去年Python的流行程度已经超过了C#,成为了增长最快的语言,就像前些年它超越PHP那样;另外值得一提的是,Rust成为了去年最受欢迎的语言,Kotlin紧随其后。

开发教程

步步为营,掌握基础技能

  • MobX 4:更好,更小,更快:近日MobX发布了4.0大版本更新,本文则是对于该版本的那些引人入胜的特性进行介绍。这些特性包括了:不使用装饰器语法的装饰器,Observable对象的动态扩展,内置的用于简化异步流程的await when以及flow函数,用于自动化进行数据抓取的onBecome(Un)Observed,生产环境构建优化等。更多相关内容参考 现代Web开发–架构优化篇

  • 异步剪贴板操作:过去的数年中,各浏览器基本上都在使用document.execCommand来进行剪贴板交互。这种方式虽然提供了简单而且广泛接受的复制与粘贴操作,但是也带来了一定的缺陷:只能同步访问剪贴板,并且只能直接读写DOM元素。而Chrome 66提供了新的Clipboard API,则为我们提供了另一种异步式的剪贴板操作方式,本文即是对该机制与接口规范的详细介绍。更多相关内容参考 现代Web开发–基础篇

  • 不同方案的APK尺寸对比:现在已经有了很多种不同的开发应用的方式,从传统的原生开发到花式跨平台解决方案;或许很多人会好奇不同开发方案对于最终包体的大小影响几何,本文即是尝试用不同的方式实现相同功能的应用,并且比较他们的大小。文中给出的对比数据如下:Java539KBKotlin550KBReact Native7MBFlutter7.5MB;更多相关内容参考 大前端的工程实践–Android

工程实践

立足实践,提示实际水平

  • 使用GraphQL替代Redux: GraphQL是著名的服务端查询语言,Redux则是客户端状态管理框架,二者貌似风马牛不相及,本文却讨论如何使用GraphQL替代Redux在项目中的角色。实际上,大部分状态管理相关代码都是用来合并与操作多个REST端口的代码,或者通过sagas, middleware, thunks等方式来顺序获取数据,这些也正是GraphQL闪耀的地方,本文即是讨论了这种可能性;更多相关内容参考微服务架构与实践–Node.js

  • 整合自TwitteriOS Hacks:本系列文章着眼于定期整理分享来自TwitteriOS开发调试技巧、Xcode性能优化技巧以及Swift最佳实践等内容;本周提供了譬如如何提升Xcode编译性能,如何提高代码的可读性与可维护性等内容。更多相关内容参考大前端的实践–iOS

  • 加载第三方JavaScript代码: Addy Osmani近日编写了一篇关于JavaScript中加载第三方库的文章,讨论了如何正确的使用第三方库。第三方库为我们提供了可被集成的灵活功能,促进了Web的动态性、交互性以及连接性。本文,则是讨论在加载第三方库过程中可能遇到的问题:如何保证关键路径加载的性能,隐私性,安全性,避免不可预测或者不可控的结果。更多相关内容参考 Web Performance Optimization MindMap

深度阅读

深度思考,升华开发智慧

  • Clean架构代码导读:作者近来开源了名为MovieNight的示例项目,本文则是其过去几周应用架构方面的相关思考的分享。本文首先介绍了Clean Architecture的基本元素,分析了各个组件间的层级关系,然后以具体的代码进行实践介绍。更多相关内容参考软件工程基础-软件架构篇

  • How JavaScript works系列:渲染引擎与优化技巧:当我们在构建大型的Web应用时,需要提醒自己我们并不仅仅写好代码就万事大吉了,还需要考虑到代码与运行环境之间的交互。理解JavaScript的运行环境,了解它的工作原理与组件构成,能够让我们编写出更好的,更稳健的应用。本文即是对于浏览器的内部原理进行分析介绍,并且分享了一些性能优化的技巧;更多相关内容查看现代Web开发导论

  • 分布式事务概述:本文是对于分布式系统以及分布式事务的概述,包含了以下内容:分布式数据模型,乐观模型与悲观模型;原子性,多版本并发控制与基于网络的锁同步;一致性,两阶段提交协议,Paxos,Raft;隔离性,镜像隔离,序列隔离;持久性等。更多相关内容参考 Distributed System CheatSheet

开源项目

乐于分享,共推前端发展

  • Rough.js: Rough.js是轻量级的(8KB),基于Canvas的手绘样式的绘图库。Rough.js为我们提供了多种不同的图形单元,来绘制直线,曲线,弧线,多边形,圆形以及椭圆形等,同时其还支持根据路径绘制SVG

  • TOAST UI Chart: TOAST UI Chart是新近开源的,能够运行在包括IE8在内的各种浏览器中。TOAST UI Chart提供了直方图、折线图、散点图、饼图、热力图等多种类型格式的图表,可以直接查看原文了解安装与使用的细节。

  • fkill-cli: fkill-cli是非常好用的跨平台进程关闭工具,它能够运行在macOSLinux以及Windows操作系统上。我们可以直接通过冒号来指定需要关闭的占用该端口的进程,也可以无参数方式进入到交互选择界面,通过进程名进行快速筛选。

巅峰人生

  • 霍金:手握日月摘星辰,世间无我这般人: 314日消息,物理学家霍金去世,享年76岁。这位英国科学家因黑洞和相对性的开创性著作而闻名,并撰写过几本科普著作,包括《时间简史55年来,病魔逐渐占据了他的躯体,但他的思想却蔓延到了整个宇宙。仰望星辰的人,现在成了星辰。

前端之巅

前端之巅是InfoQ旗下关注前端技术的垂直社群,加入前端之巅学习群请关注前端之巅公众号后回复 “ 加群 ”。投稿请发邮件到 editors@cn.infoq.com,注明 “ 前端之巅投稿 ”。

前端之巅微信底图-5.jpg

上一页
下一页