前端每周清单:TensorFlow.js,深入了解 wasm-bindgen

  • 覃云

2018 年 4 月 8 日

话题:语言 & 开发架构前端

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

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

新闻热点

国内国外,前端最新动态

  • React v16.3.0:近日,Facebook 发布了 React 16.3.0,引入了新的生命周期帮助迁移,同时还引入了新的 API,包括官方 Context API、createRef API 和更语义化的 ref API。具体的特性请查看原文。
  • TensorFlow.js:在 3 月 31 日的 2018 TensorFlow 开发者峰会上,Google 宣布了 TensorFlow 重大更新,增加了对 JavaScript 的支持,并推出了一个开源库 TensorFlow.js,有了它,你可以使用 JavaScript 和 high-level layers API 在浏览器中定义、训练、运行机器学习模型。
  • Webpack 4.5 发布:最近,Webpack 进行了更新,最新的 v4.5.0 在性能上有了提升,它使用长的加载程序字符串以提高错误消息的可读性,在 Bug 的修复上也有了质的提升,详情可阅读原文。

开发教程

步步为营,掌握基础技能

  • 使用 Render Props 逐步构建 React 组件:本文介绍了 Render Props 的一些概念,并通过示例让读者了解如何用 Render Props 逐步构建 React 组件,然后将 React 状态保存为localSorage,也称为<Storage/>,之后,你就可以将功能注入组件中。
  • JavaScript 风格指南中 13 个值得注意的要点:Google 提供了一个编写 JavaScript 的风格指南,为编写简洁、易懂的代码提供最佳的实践。但这些并不是编写有效 JavaScript 强制性规则,只是为了保证整个源文件中保持一致且吸引人的样式。
  • ECMAScript 更新:众所周知,ECMAScript 各种新版本中添加的新特性是很难追踪的,更重要的是,如果不在几个版本之间跳跃的话,很难获得有用的示例。在本文中,作者将介绍 ES2016、ES2017 和 ES2018(最终草案)在 TC39 已完成的提案中列出的所有 18 个功能,同时还有一些不错的示例。

工程实践

立足实践,提示实际水平

  • 用于更快开发的顶级 JavaScript VSCode 扩展

    VSCode 是一个开源的跨平台编辑器,它已经成为程序员的最爱,尤其是在 Web 开发社区中。它具有速度快、可扩展、可定制等优质性能。目前,已经有将近上千个 VSCode 的扩展项目,作者在文中列出了一些他日常使用的项目,包括 Quokka.js、Snippets、Todo Highlighter 等,更多内容请查看原文。
  • Web 应用渗透测试速查表:这张清单列出了在执行 Web 应程序渗透测试的典型步骤,作者把这些步骤分解成了子任务,同时在每一步中都推荐了工具。

深度阅读

  • 探索 ES 模块:ES 为 JavaScript 提供了官方标准化的模块系统,然而完成这个标准化的过程需花费 10 年的时间,今年 5 月份发布 Firefox 60 之后,所有的主流浏览器都将支持 ES 模块。虽然许多 JavaScript 开发人员都知道 ES 一直存在争议,但很少有人真正了解它是如何工作的,本文将向大家介绍 ES 模块是怎样解决问题的?以及它与模块系统中的其他模块有和不同?
  • 深入了解 wasm-bindgen:我们知道 WebAssembly 能快速编译 JS 库,以及生成更小的二进制文件。而 wasm-bindgen 为 JS 和 Rust 之间提供了桥梁,它也消除了 WebAssembly 和 JavaScript 之间的阻抗与不匹配,确保 JavaScript 在不需要 boilerplate 就可以高效地调用 WebAssembly 函数,并且 WebAssembly 可以对 JavaScript 函数执行相同的操作。

开源项目

乐于分享,共推前端发展

  • knex.js : knex.js 是一个便捷、灵活而有趣的查询生成器,即装即用(batteries-included),支持多种数据库,如 PostgreSQL、MySQL、MSSQL 和 SQLite3 等,它能浏览器中运行,具有连接池,拥有 promise 和回调两种 API 等。
  • ice.js:ice.js 是用 JavaScript 构建用来追踪变化的库,适用于 Web 上任何具有contenteditable属性的内容,它拥有一个强大的 API 来接受或拒绝变更以获得干净简洁内容,能添加大量的配置,它还带有 tinymce 和 wordpress 的插件等。
  • flamebearer:flamebearer 是 Node 和 V8 快速生成火焰图(flame graph)的工具,它可用于可视化以及性能分析,能快速设计和制作出轻量级的火焰图,而且能在大量输入时保持响应。

巅峰人生

  • 88 亿!Java 侵权案大逆转,Google 哭了,天地同悲:3 月 27 日,美国联邦巡回法院裁定,谷歌在 Android 上使用了大量 Java 代码,侵犯了 Oracle 的版权。版权之争在 2010 年就已立案,当时 Oracle 向 Alphabet 公司提出至少 88 亿美元的赔偿。谷歌对此感到失望,并表示会进一步采取措施,寻求其他解决方案。

前端之巅

「前端之巅」是 InfoQ 旗下关注大前端技术的垂直社群。紧跟时代潮流,共享一线技术,欢迎关注。

语言 & 开发架构前端