深阅读

V8 release v7.3
https://v8.dev/blog/v8-release-73
Async stack traces. Faster await. Faster Wasm startup. V8 v7.3 comes with several new JavaScript language features: Object.fromEntries; String.prototype.matchAll; Atomics.notify. 另附:What’s New in ES2019: Array flat and flatMap, Object.fromEntriesNew JavaScript Features That Will Change How You Write Regex.

React v16.8: The One With Hooks
https://reactjs.org/blog/2019/02/06/react-v16.8.0.html
With React 16.8, React Hooks are available in a stable release! 另附:Hooks at a GlanceWhat Hooks Mean for Vue.

Angular - A plan for version 8.0 and Ivy
https://blog.angular.io/a-plan-for-version-8-0-and-ivy-b3318dfc19f7
We are planning on having Ivy as an opt-in preview as part of the version 8.0 release in Q2 of this year. We are planning on having Ivy as an opt-in preview as part of the version 8.0 release in Q2 of this year: Differential Loading of Modern JavaScript; Opt-in Ivy Preview; Angular Router Backwards Compatibility; Improved Web Worker Bundling; Opt-In Usage Sharing.

Vue 2.6 released
https://medium.com/the-vue-point/vue-2-6-released-66aa6c8e785e
This release combines a number of substantial improvements, internal changes and new features which are highlighted in this post.

New features in Webpack 5
https://blog.logrocket.com/new-features-in-webpack-5-2559755adf5e
In this article, I’ll be sharing some new features coming to Webpack 5, and what you should be aware of as you continue to use it in your daily work. This new release is jam-packed with tons of new goodies and while I won’t detail every new feature, I will share the few that are important as outlined by the core team.

React-Redux Roadmap: v6, Context, Subscriptions, and Hooks
https://github.com/reduxjs/react-redux/issues/1177
In this issue, I want to lay out a description of the changes we made in v6 and why we made them, the challenges we are currently facing, the constraints that potential solutions need to conform to, and some possible courses of action for resolving those challenges.

How To Architect A Complex Web Table
https://www.smashingmagazine.com/2019/02/complex-web-tables/
Tables frequently appear on the web but aren’t easy to design and code. This illustrated guide explains the table anatomy and how to build a table, keeping in mind its future elaboration.

Revisiting the abbr element
https://bitsofco.de/revisiting-the-abbr-element/
A few weeks ago, I wrote about how to make the abbr element work for touchscreen, keyboard, and mouse. My suggestion involved making the <abbr> element focusable with the tabindex attribute and using pseudo-elements to create a tooltip from the title attribute. Since then, I’ve gotten some feedback on some accessibility-related issues to the implementation. With this feedback, I decided to revisit this and create a more accessible solution.

Paint the Picture, Not the Frame: How Browsers Provide Everything Users Need
https://alistapart.com/article/paint-the-picture-not-the-frame
Every website and web app is its own self-contained experience, with its own ideas of how things should look and behave. Some are closer to others, but each one requires learning how to operate the interface to a certain degree. Some browsers can also have parts of their functionality and appearance altered, meaning that as with websites, there can be unexpected discrepancies. We’ll unpack some of the nuance behind some of these features, and more importantly, why most of them are better off left alone.

Native or PWA? How to Choose the Right Approach for Mobile App Development
https://blog.ionicframework.com/native-or-pwa-how-to-choose-the-right-approach-for-mobile-app-development/
Getting ready to kick off your next mobile application project and not sure whether to build a native mobile app or a Progressive Web App? This guide is for you! 另附: Quick Guide to Comparing Ionic & React Native.

Computer science in JavaScript: Doubly linked lists
https://humanwhocodes.com/blog/2019/02/computer-science-in-javascript-doubly-linked-lists/
Implementing a doubly linked list in JavaScript.

TensorFlow.js: machine learning for the web and beyond
https://blog.acolyer.org/2019/02/04/tensorflow-js-machine-learning-for-the-web-and-beyond/
TensorFlow.js brings TensorFlow and Keras to the the JavaScript ecosystem, supporting both Node.js and browser-based applications. As well as programmer accessibility and ease of integration, running on-device means that in many cases user data never has to leave the device.

How we wrote our own Service Worker
https://engineering.tumblr.com/post/182554757749/javascript-how-we-wrote-our-own-service
As we continue the process of reinvigorating Tumblr’s frontend web development, we’re always on the lookout for modern web technologies, especially ones that make our mobile site feel faster and more native. You could have guessed that we are making the mobile dashboard into a progressive app when we open-sourced our webpack plugin to make web app manifests back in August. And you would’ve been right. But to make a high quality progressive web app, you need more than just a web app manifest—you also need a service worker.

Continuously testing React applications with Jest and Enzyme
https://circleci.com/blog/continuously-testing-react-applications-with-jest-and-enzyme/
To get the most out of this article, we assume a basic familiarity with React and Redux. If you’re new to React, the Intro to React tutorial provides a good overview of how React works. The Learn Redux section in the Redux docs provides lots of learning resources and the Redux examples page is also a good resource for exploring sample apps and getting a feel for how Redux works. With this info out of the way, let’s go ahead and get started.

Writing and Maintaining Good Code Documentation
https://pspdfkit.com/blog/2019/writing-and-maintaining-good-code-documentation/
Writing documentation is a practice that everyone working with code should strive to comply with. Since we ship an SDK here at PSPDFKit, providing good and clear documentation to our customers is as important to us as building the SDK itself. In this post, I want to outline how we handle documentation for our iOS products and show how you can leverage the same techniques we’re using to make your life easier.

Refactoring MDN macros with async, await, and Object.freeze()
https://hacks.mozilla.org/2019/02/refactoring-mdn-macros-with-async-await-and-object-freeze/
In January, we landed a major refactoring of the KumaScript codebase and that is going to be the topic of this post because the work included some techniques of interest to JavaScript programmers.

The state of gRPC in the browser
https://grpc.io/blog/state-of-grpc-web
gRPC 1.0 was released in August 2016 and has since grown to become one of the premier technical solutions for application communications. So far the benefits have largely only been available to mobile app and backend developers, whilst frontend developers have had to continue to rely on JSON REST interfaces as their primary means of information exchange. However, with the release of gRPC-Web, gRPC is poised to become a valuable addition in the toolbox of frontend developers. In this post, I’ll describe some of the history of gRPC in the browser, explore the state of the world today, and share some thoughts on the future.

Logging Levels 101
https://stackify.com/logging-levels-101/
How do logging levels fit into this picture? How are they useful to the reader performing a post-mor