前端每周清单专注前端领域内容,分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。关注【前端之巅】微信公众号(ID:frontshow),及时获取前端每周清单。
新闻热点
国内国外,前端最新动态
- 《jQuery 3.2.0 发布》:jQuery 3.2.0 中包含了一系列的错误修复、性能提升以及部分弃用 API 的彻底移除 。重大的更新包括添加了对于自定义 CSS 属性操作的支持,彻底移除了 isArray、nodeName 等方法以及修复了
.width()
等部分方法中的问题。 - 《Facebook 发布 Create React Native App》:类似于 Create-React-App,Create React Native App 能够为开发者快速创建零配置的 React Native 项目,并且与基于 Expo 构建了完整的可以屏蔽底层原生代码细节的 React Native 项目,使得开发者可以快速尝试上手 React Native 项目 。同时,开发者也可以使用
npm run eject
命令将项目切换到全配置状态,以方便自行添加原生组件。 - 《2017 React 大会成功举办》:2017 年 React Conf 于 3 月 13 日、14 日成功举办,会上来自世界各地的开发者就 React Fiber、Flow、Performance、React Native 等多个主题发表了演说与讨论,推荐选择自己喜欢的演讲视频观看。
- 《Sketch 宣布开源其文件格式》:随着近日发布的 Sketch 43 版本,Sketch 宣布开源其文件格式,这也意味着未来可能会有人基于该格式开发 Windows 版本应用或者简单的 Sketch 文件浏览器。鉴于其文件格式为 JSON,我们也可以畅想未来会出现自动构建的 Web Service。
- 《Chromium 即将支持 APNG》:该 Commit 会为 Chromium 添加 APNG 格式的支持,该格式可以逐步替换现存的 Gif 格式 。
- 《Kotlin 1.1 新增协程、类型别名特性,提升了对 JavaScript 的支持》:Kotlin 的新版本引入了多项新的语言特性(其中最值得注意的就是协程),同时还提升了对其 JavaScript 目标环境的支持。
开发教程
步步为营,掌握基础技能
- 《Flexbox 语法清单》:该网页提供了交互式的 CSS Flexbox 教程,详细介绍了 Flexbox 的使用语法与经典案例。
- 《Sketch:React Native 的 Playground 》:随着 Create React Native App 的发布,Expo 发布了能够在线编辑 React Native 应用的工具 Sketch。开发者可以在 Web 上直接编辑 React Native 应用代码,或者拖拽方式加入组件,然后通过 Expo 客户端完成本地预览。
- 《编写 JavaScript 框架:客户端路由》:本文是编写 JavaScript 框架系列的最后一篇,主要着眼于讨论如何实现 JavaScript 客户端路由及其与服务端路由的区别。
- 《30 天学习 30 个 VR 项目》:本系列作者介绍了从 0 到 1 如何开发 30 个常见的 VR 项目,从最基础的图片浏览、视频播放,到交互性动画等等 。
- 《CORS 详细指南》:本文是对于浏览器中跨域访问协议 CORS 进行详细介绍,并且以完整的代码交互示例演示 CORS 协议的效果与使用方法。
- 《Angular 的模块间通信》:模块是 Angular 的构建单元,Angular 应用程序的所有可视化元素也是由模块构建的。当我们把模块拆散成更小的模块时,我们就要确保它们可以把数据传来传去。到那时候,恰当地模块间通信机制就成了我们应用程序的基础,可以让所有的数据都保持同步状态。
工程实践
立足实践,提示实际水平
- 《PWA 在饿了么的实践经验》:本篇旨在和大家分享「饿了么 M 站」( https://h5.ele.me/msite/ )在 PWA 改造中的实践经验。涉及到的方面有:PWA 线上部署的准备工作、多页应用的 prerender 优化、实践过程中踩到的(和推进解决的)坑。
- 《滴滴 Web App 5.0 Vue 2.0 重构经验分享》:滴滴的 Web App 是运行在微信、支付宝、手 Q 以及其它第三方渠道的打车软件。借着产品层面的功能和视觉升级,我们用 Vue 2.0 对它进行了一次技术重构;本文即是本次重构中的经验分享。
- 《前端代码测试概述》:作者在本系列文章中介绍了前端代码测试的相关概念与实践技巧,包括了单元测试、集成测试、端到端测试等多个方面。
- 《以组件为中心的 React 懒加载》:React Loadable 是以组件为中心的懒加载框架,其基于 Webpack 2 提供的
import
提供的异步代码分割与加载功能进行了一系列的封装。 - 《另一种 CSS 压缩思路》:本文作者提出了一种新的 CSS 压缩思路,有可能会损坏原有的 CSS 文件,不过其压缩比率相较于现有的通用 CSS 压缩策略会更为优秀。
- 《来自 Vixlet 的 React 优化策略》:在过去的数年中,来自 Vixlet 的前端开发团队一直使用 React 与 Redux 的开发架构,本文即是该团队分享其在开发过程中发现的 React 优化策略的介绍。
深度阅读
深度思考,升华开发智慧
- 《2017 成为专业 Web 开发者的学习路线图》:作者在此文中以图表的方式展现了 2017 年中如果想成为专业的 Web 开发者,应该在 Web 前端、服务端以及 DevOps 领域所需要学习到的技术栈以及进阶路线图。
- 《关于 JWE 安全漏洞的讨论》:JSON Web Token 是基于 JSON 的访问令牌创建标准(RFC 7519),本文则是介绍了 JWE 面对的 Invalid Curve Attack 原理以及受影响的开源库等内容。
- 《wasm_lua》:wasm_lua 提供了能够运行于 WASM 环境下的 Lua 虚拟机,未来基于 Lua 构建前端框架也是个可行的选择 。
- 《U.S. Web 设计标准》:近日 U.S. 官方网站的样式与视觉设计指南 1.0.0 版本发布,包含了大量的 Bug 修复与反馈修正。
- 《Preact 内部原理探秘》:Preact 是提供了类似于 React API 不过速度更快、包体更小的 React 替代包,本系列文章是 Preact 的开发者介绍其内部工作原理 。
- 《扩展 JS 应用在架构性取舍上应关注八点要素》:如果想要构建可扩展的软件,可以从很多角度来思考软件架构。但是如果每个角度都去考虑,根本不可能做出想要的软件。这就是为什么需要从架构的角度对设计进行取舍:取我们最需要的,舍次要的。
开源项目
乐于分享,共推前端发展
- 《手淘发布 Atlas》:手机淘宝安卓客户端容器化框架 Atlas 正式宣布开源。Atlas 由阿里巴巴移动团队自研,以容器化思路解决大规模团队协作问题,实现并行开发、快速迭代和动态部署,适用于 Android 4.x 以上系统版本的大小型 App 开发。
- 《Animista》:Animista 是开箱即用的 CSS 动画库,其作者还发布了非常易用的在线预览与选择站点,适合于设计人员选择合适的动画效果。
- 《Quokka.js》:Quokka 能够帮助我们在常用的编辑器(譬如 VSCode)中快速建立原型试验场,包括了行内错误提示、代码测试与覆盖率提示、富文本输出格式化等等。
- 《Guetzli》:Google 宣布开源新的 JPEG 编码器 Guetzli,与现有的压缩编码工具相比,其能够减少近 35% 的文件尺寸而依然保持图片质量。( http://6me.us/AM7a )
- 《wasm-loader》:wasm-loader 是能够用于 Webpack 的 WASM 二进制模块导入工具,其能够允许你在 JavaScript 代码中导入 wasm 格式文件并且将二进制文件打包成为 JS Bundle 的一部分 。
巅峰人生
- 程序员创造的世界并不总是美好,IT 工作者又该如何自处?:ThoughtWorks 总监咨询师熊节分享了他对技术发展的相关看法:科技如何被用于作恶、科技如何控制我们的思想、科技如何在 21 世纪复活了 17 世纪的奴隶制、科技工作者如何探索替代方案,并就 IT 工作者又该如何自处这一问题进行了探讨。
前端之巅
「前端之巅」是 InfoQ 旗下关注前端技术的垂直社群,加入前端之巅学习群请关注「前端之巅」公众号后回复“加群”。投稿请发邮件到 editors@cn.infoq.com,注明“前端之巅投稿”。
感谢韩婷对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论