【JavaScript周报】#574: Etsy从React迁移至Preact

JavaScriptWeekly #574:Etsy从React迁移至Preact

  • 要闻
    • JavaScript的Pipe操作:简介和用例 (A Pipe Operator for JavaScript: Introduction and Use Cases)
    • 关于将TypeScript编译器移植到Go(对比Rust) (On Porting the TypeScript Compiler to Go (vs Rust) )
    • Unimported:找到并修复悬空文件和未使用的依赖项(Unimported: Find and Fix Dangling Files and Unused Dependencies)
    • 快来填写State of JavaScript 2022调查表(Take the State of JavaScript 2022 Survey)
  • 简讯 IN BRIEF
  • 最新发布 RELEASES
  • 文章与教程 Articles & Tutorials
  • 代码与工具 Code & Tools

要闻

JavaScript的Pipe操作:简介和用例 (A Pipe Operator for JavaScript: Introduction and Use Cases)

DR. AXEL RAUSCHMAYER | 链接地址

在State of JavaScript 2020调查中,很多程序员觉得JavaScript缺少pipe操作。距今已经有一段时间了,而现有一个相关的提议,目前正处于TC39的第二阶段。Axel博士在文中解答了:“你为什么需要pipe操作”、“、它是如何工作的”以及“JS为什么不会采用F#风格的pipe”。

In the State of JS 2020 survey, a lot of developers felt a pipe operator was missing from JavaScript. It’s been around a while, but there’s a pipeline operator proposal and it’s at stage two of the TC39 process. Dr. Axel explains why you’d want this, how it can work, and why JS won’t get F# style pipes.

关于将TypeScript编译器移植到Go(对比Rust) (On Porting the TypeScript Compiler to Go (vs Rust) )

DONGYOON KANG | 链接地址

作者是Rust的拥护者,他也创建了swc,但他认识到Go可能是一个更好地工具,特别是在进行构建类型检查器的时候,他还解释了原因。这篇文章也引发了Hacker News对涉及许多Rust防御的复杂问题的广泛讨论。

The author is a Rust advocate (who created swc) but recognizes that Go might be a better tool particularly for building the type checker and explains why here. This post also fuelled a rather extensive Hacker News discussion on the complications involved with many coming to Rust’s defence.

Unimported:找到并修复悬空文件和未使用的依赖项(Unimported: Find and Fix Dangling Files and Unused Dependencies)

STEPHAN MEIJER | 链接地址

我们每天都会写新代码,但我们可能会忘记删掉老代码。这个工具可以帮我们找到工程中没有用到的文件。

When you’re adding new code each day, you might forget to remove old code. This tool can help you discover unused files within your projects.

快来填写State of JavaScript 2022调查表(Take the State of JavaScript 2022 Survey)

SACHA GREIF | 链接地址

这么多年以来,著名的State of JavaScript开启了2021/22轮调查,跟以前一样,这个调查用来寻找程序员感兴趣的库和框架。这个方法并是最好的,但对比每年的结果会很有趣。在结果出来之后,我们也会第一时间分享。

Now several years in, the popular State of JavaScript survey returns for a joint 2021/22 run and, as ever, seeks to establish what libraries and frameworks developers are excited about. It’s not a perfect approach, but the results are interesting to compare year to year, and we’ll share the results once they’re out.

简讯 IN BRIEF

  • ⭐️ 一位Etsy的工程师说:Etsy已将他们所有React 15.6的代码都移植到了Preact上,而不是React 16+。2020年的一个文档解释了这一选择的内部思考。An engineer at Etsy mentions Etsy migratedall their React 15.6 code to Preact rather than going to React 16+. A doc from 2020 explained some of the internal thinking around this choice.
  • Deno团队反思了自己在2021年的进展。Angular团队也做了类似的事情。The Deno team has reflected on Deno’s progress in 2021. The Angular team has done similarly, too.
  • TypeScript 4.6 处于测试阶段,主要是些相对较小的技术增强,例如改进的errors、跟踪分析器以及允许在constructor的super()之前调用代码。TypeScript 4.6 is in beta and focused on relatively minor technical enhancements, such as improved errors, a trace analyzer, and allowing code in constructors prior to calling super().
  • Remix项目的Ryan Florence在Twitter上指出,“显然,人们已经为后React世界做好了准备。” Ryan Florence of the Remix project notes on Twitter a “palpable feeling that folks are ready for the post-React world”.
  • Mike Melanson 问,2022 年是否会成为 JavaScript 全栈的"黄金时代"?Mike Melanson asks if 2022 will be a ‘golden age’ for full-stack JavaScript?

最新发布 RELEASES

Nightwatch 2.0 – 端到端测试框架。 End-to-end testing framework.
Gluegun 5.0 – 用于构建 Node.js CLI APP的工具包。Toolkit for building Node.js CLI apps.
Node-RED 2.2.0 – 低代码事件驱动的应用程序开发环境。Low-code event driven app dev environment.
parse-domain 7.0 – 将主机名拆分成好几个部分。Split hostnames into parts.
NeutralinoJS 4.2.0 – X 平台的 JS 桌面APP框架。X-platform JS desktop app framework.
Mocha 9.2 – JS测试框架。JS testing framework.
Serverless Framework v3
React Native 0.67
npm 8.4.0


文章与教程 Articles & Tutorials

React 服务器组件:入门 — Plasmic 可视化页面构建app的联合创始人带领我们探索React服务器组件(目前是React18的一个试验功能)以及他们是如何运作的。

React Server Components: A Primer — The co-founder of the Plasmic visual page builder app takes us on an exploration of React server components (currently an experimental feature in the forthcoming React 18) and how they tick under the hood.

CHUNG WU (PLASMIC)


探索JavaScript的怪癖来取乐和获利 Exploiting JavaScript Quirks for Fun and Profit — 如果你是Doug Crockford(《JavaScript: the Good Parts》的作者),千万别看!在这个聪明的方法中大量使用了witheval来解决代码中出现的难题。

Exploiting JavaScript Quirks for Fun and Profit — If you’re Doug Crockford (the author of JavaScript: The Good Parts), look away now! Plentiful use of with and eval in this clever approach to solving an Advent of Code puzzle.

KITTY GIRAUDEL


npm初学者完全指南 — 即使你很了解npm,这个指南送给团队中的其他人也是不错的选择。这个指南由九个部分组成,从CSS-Tricks开始,几乎涵盖了所有内容。

A Complete Beginner’s Guide to npm — Even if npm is second nature to you, this guide may prove useful, if only to send to other folks on your team. It’s a nine-part guide from CSS-Tricks covering everything from the ground up.

JOSH COLLINSWORTH


2022年网页开发基线 — 通过对前端技术、浏览器共享、客户端设备等方面的大量数据进行分析,得出我们必须继续提供支持的最低标准。

The Baseline for Web Development in 2022? — Analysis of numerous stats around frontend technologies, browser share, client devices, and more to establish a feel for what the lowest common denominators are in terms of what we must continue to support.

ALAN DÁVALOS


DevTool中有什么新功能? — 对Chrome,Edge,Safari和Firefox中的DevTool的最新更新进行了适当地分解。

What’s New with the DevTools? — A decent break down of recent changes and additions to developer tooling in Chrome, Edge, Safari and Firefox.

PATRICK BROSSET


沿着SVG路径让东西动起来 — 如何使用SVG路径和getPointAtLength()函数用JavaScript编写有创意的动画。

Animate Anything Along an SVG Path — How to code creative animations with JavaScript using SVG paths and the getPointAtLength() function.

LOUIS HOEBREGTS


用JavaScript比较CSS的权重 — 当谈到CSS的权重,你会怎么比较两个selectors 的权重? 这篇文章将深入探讨这个问题。

Comparing CSS Specificity Values with JavaScript — When it comes to CSS specificity how do you compare two selectors to decide which is highest? This post digs into it.

KILIAN VALKHOF


TypeScript是如何在开发者和JS框架中取胜的?

How TypeScript Won Over Developers and JavaScript Frameworks
CHARLES HUMBLE (THE NEW STACK)


▶ 使用Node来做一些和Jim Cramer所言相反的事儿

Using Node to Do The Opposite of What Jim Cramer Says — Silly, but yeah.
FIRESHIP


代码与工具 Code & Tools

chroma.js: 0依赖的颜色转换库 — 我喜欢这个简单又适当多彩的文档。如果你的工作和颜色和色值有关,记得一定要看看这个。GitHub repo

chroma.js: Zero Dependency Color Conversion Library — I love this simple but suitably colorful documentation. If you’ve got work to do with colors and color values, certainly give this a look. GitHub repo.

GREGOR AISCH


Clipboard.js: 现代 ‘复制到剪贴板’ 库 —— 剪贴板 API 让剪贴板工作变得更简单了,您可能会发现这个库提供了一些有价值的额外抽象。

Clipboard.js: A Modern ‘Copy to Clipboard’ Library — The Clipboard API makes clipboard work easier than ever before, but you may find a library like this provides a little valuable added abstraction.

ZENO ROCHA


ngraph.path: 通过图表寻找路径 — 你可以看看 这个在线demo,它演示了如何解决全球六个城市的道路网络。

ngraph.path: Path Finding Through Graphs — There’s a live demo if you want to see how it tackles the road network of six global cities.

ANDREI KASHCHA


ExcellentExport.js 3.8: 将数据导出到Excel或CSV — 如果你的HTML表格里一些数据,并且你想不通过服务器就导出数据到CSV或XLSX,可以来看看。

ExcellentExport.js 3.8: Export Table Data to Excel or CSV — If your app/page has some data in HTML tables and you’d like to export it to a CSV or XLSX without any server involvement, this could help.

JORDI BURGOS


Reaselct: React 的"选择"框组件 — 可以单选和多选,后者在标记场景中可以很好地应用。来自REAVIZ图表库团队。

Reaselct: A ‘Select’ Box Component for React — Currently in single- and multi-select versions, the latter of which could work well in tagging scenarios. Comes from the same team as the REAVIZ chart library.

REAVIZ


Trilium Notes:一个基于Node的知识库APP — 层次化的笔记应用程序。由Express构建,但通常使用Electron在桌面端使用。这个APP已经好几年了,但它还在更新,是这类APP的一个典型案例。

Trilium Notes: A Knowledge Base App Built with Node — A hierarchical note taking app. Built as an Express app but is most commonly used on the desktop via an Electron packaged version. It’s been around a few years but continues to see frequent updates and is a neat example of this sort of app.

ZADAM


hyperid:快速生成唯一 ID — 查看基准测试结果。可在Node和浏览器使用。

hyperid: Fast Unique ID Generation — Check out the benchmark results. For Node and browser.
MATTEO COLLINA


发布时间 | 2022年01月29日
英文原文 | https://javascriptweekly.com/issues/574

翻译水平有限, 仅供参考
如有侵权, 联系删除

你可能感兴趣的:(JavaScript,Weekly,javascript,react.js,rust)