Web Tools #408 - JS Libraries, Bundlers, React Tools

Web Tools Weekly
WEB VERSION
Tools for Web Developers

Issue #408 • May 13, 2021

Advertisement
Learn How Remote Pair Programming Can Increase Your Team's Efficiency
Suddenly, the future of work materialized, and when your entire team is working from home, pair programming is not only possible but extremely valuable. Preparing yourself and your team for remote pairing will help prepare you for the future of work.
Download the e-book now
Revelo

Google announced this week that Google Docs will now use canvas-based rendering "to improve performance and improve consistency in how content appears across different platforms."

If you're like me, then your initial reaction to this might be to wonder how canvas-based rendering would be more performant than plain DOM rendering. Fortunately, some smart people chimed in about this on Hacker News. Below are some interesting quotes from the discussion.

From one of the original authors of Google Docs (originally called Writely):

"Modern browser engines are amazing feats of engineering, but the feature set they provide, while enormous, is unlikely to exactly match the exacting requirements of a WYSIWYG word processor. As soon as your requirements differ even slightly from the feature set provided, you start tipping over into complex workarounds which impact performance."

From a former Mozilla employee:

"...there are absolutely tradeoffs in performance, accessibility, ease-of-development, internationalization, and likely other aspects. If raw performance is what you're going for, it's hard to beat just drawing on a canvas or using WebGL."

Another user makes a good point:

"HTML DOM rendering was never intended to give developers the control they need to build fully featured high performant applications, we just shoe horned things until they sort of work."

And the kicker might be the user who points out that in 2017 VS Code moved from DOM-based rendering to HTML canvas. That announcement post explained:

"Our benchmarks have measured that the Integrated Terminal now renders approximately 5 to 45 times faster than before, depending on the situation."

There's even a comment from a developer who wrote the terminal canvas renderers in VS Code, and who points out an important caveat:

"My opinion here is that canvas is a great technology, capable of speeding things up significantly and getting close to native app performance. It comes with very real trade offs though."

That developer goes on to explain what those caveats are, so check out the full discussion for more on this subject.

It's great to see so many insightful comments for those of us who wouldn't know where to begin in dealing with an app as important as Google Docs.


Now on to this week's tools!

JavaScript Libraries and Frameworks

Learn How Remote Pair Programming Can Increase Your Team's Efficiency
Suddenly, the future of work materialized, and when your entire team is working from home, pair programming is not only possible but extremely valuable. Preparing yourself and your team for remote pairing will help prepare you for the future of work.  sponsored 

Catalyst
A small library of functions to make developing Web Components easier.

FoalTS
A TypeScript-based Node.js library for building web apps that includes read-made components and easy to use, expressive code.

Capacitor
An open source native runtime for building cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS.

hyperscript
A small, open scripting language inspired by HyperTalk, an old discontinued programming language.

Opine
A fast, minimalist web framework for Deno ported from Express.

Dann.js
An easy-to-use neural network library for JavaScript that's easy to learn and acts as a playground for experimentation with deep neural networks.

Dann.js

Eva.js
A front-end game engine specifically for creating interactive game projects. Includes out-of-the-box game components and strong performance.

Clio
A functional, distributed programming language that compiles to JavaScript, runs in the browser and on the server, and is suitable for scientific programming.

Nullstack
A full-stack JavaScript framework for building progressive web apps. Write the back-end and the front-end of a feature in a single component and let the framework decide where the code should run.

MikroORM
TypeScript ORM for Node.js, based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases.

Worktop
A next-generation web framework for Cloudflare Workers (the serverless code deployment platform).

Urban Bot
A universal chatbot library based on React with a declarative API and TypeScript support.
 

Build Tools, Bundlers, etc.

Nuxt Vite
A package that allows you to use Vite instead of webpack during development with Nuxt.js.

eslint-config-galex
A customizable ESLint config featuring modern best practices for JS, TS, Node, React, Next, Jest, testing-library, and Storybook.

Buddy
A powerful and easy-to-configure continuous integration and delivery platform that integrates with GitHub, Gitlab, and Bitbucket.

esmon
An esbuild-like version of nodemon, a utility to monitor for any changes in your source and automatically restart your server.

degit
Straightforward project scaffolding. Essentially it will make a copy of a Git repo similar to `git clone`, but without downloading the full Git history.

Kataw
A JavaScript toolchain focused on performance with JS parsing features, type checking, AST manipulation, linting, minifying, etc.

Preconstruct
Develop and build your code painlessly in monorepos. Uses Rollup for bundling and works with different kinds of monorepos.

Preconstruct

Blazepack
Blazing fast development server powered by Sandpack (the browser bundler that powers CodeSandbox).

Client Generator
Generate React or Vue.js-based Progressive Web Apps from an Hydra-enabled API. Also supports React Native, Next.js, Nuxt.js, Vuetify, and more.

mdx-bundler
Compile and bundle your MDX files and their dependencies.

eslint-plugin-regexp
ESLint plugin for finding RegExp mistakes and RegExp style guide violations.

wsrun
Dependency-aware command runner for Yarn workspaces.
 

React Tools

Grid.js for React
React component for Grid.js, the open-source JavaScript table plugin.

react-google-autocomplete
React package that provides three tools for working with Google Places Widgets, including autocomplete.

Mantine
An MIT licensed open source React components and hooks library with focus on usability, accessibility and developer experience.

Mantine

raam
A set of 4 cosmetic-free React components for structure and layout.

react-markdown
Markdown component for React that uses remark (a popular Markdown processor).

React Idle Timer
A user activity timer component with cross-tab event reconciliation, support for Isomorphic React, and Hook implementation.

React Tilt
Lightweight React utility with no dependencies to easily apply a tilt/hover effect on React components.

React Cool Dimensions
A React hook that uses ResizeObserver to measures an element's size and can handle responsive components.

react-use-wizard
A dependency-free React component powered by hooks to let you build a wizard (e.g. "step 1", "step 2", etc.) for your React app.

react-scanner
Statically analyzes the given code (TypeScript supported) and extracts React components and props usage.

ClickableBox
React component to add onClick to HTML elements without sacrificing accessibility.

Chat UI Kit React
An open source UI toolkit for developing web chat applications with a chat UI with React components in few minutes.

react-functional-select
Micro-sized and micro-optimized select component for React.

A Tweet for Thought

Netflix recently started sending users a message for multi-home password sharing and Dan knows why it took so long.

A Tweet for Thought
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

The portfolio of Xiaohan Zou does a really nice job of simulating the macOS GUI including window functionality, sleep/restart/shut down, a mock FaceTime that uses your camera, a working terminal, and lots more.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
@WebToolsWeekly

Support this newsletter:
PayPal.me  Patreon / GitHub Sponsors  E-Books

Older messages

Web Tools #407 - Webpack, Frameworks, Testing, JS Utils

Thursday, May 6, 2021

Web Tools Weekly WEB VERSION Issue #407 • May 6, 2021 Advertisement The Key to a Healthy Lifestyle Noom is not a diet – it's a personalized program designed to create sustainable weight loss and

Web Tools #406 - CSS Tools, SVG, Svelte, jQuery

Thursday, April 29, 2021

Web Tools Weekly WEB VERSION Issue #406 • April 29, 2021 Advertisement The Secret to a Healthy Lifestyle Noom is the world's leading behavior change company, disrupting the weight loss and

Web Tools #405 - JS Libraries, VS Code Tools, Uncats

Thursday, April 22, 2021

Web Tools Weekly WEB VERSION Issue #405 • April 22, 2021 Advertisement Stay Online and Secure with Snapt Aria ADC – Fast, Agile, Efficient Reduce risk, build anywhere, be adaptable. Up to 5X faster

Web Tools #404 - Frameworks, Tailwind, React, Testing

Monday, April 19, 2021

Web Tools Weekly WEB VERSION Issue #404 • April 15, 2021 Advertisement Managing Apple Devices at Your Business Is Easier Than Ever! Managing your business's Apple devices is time-consuming –

Web Tools #403 - React Tools, JS Utilities, Jamstack

Thursday, April 8, 2021

Web Tools Weekly WEB VERSION Issue #403 • April 8, 2021 Advertisement Cloudways A managed cloud hosting platform for digital agencies, developers, and e-commerce businesses offering simplicity, great

You Might Also Like

I/O is coming, get ready

Tuesday, April 30, 2024

What's new in Google Play and Android Email not displaying correctly? View it online April 2024 Google I/O program details are now live Google I/O program details are now live Get a sneak peek at

Google and Fisker cut jobs

Monday, April 29, 2024

Plus, Getir exits most markets and real estate investors learn to Backflip View this email online in your browser By Christine Hall Monday, April 29, 2024 Happy Monday, and welcome back to TechCrunch

⌨️ You'll Want One Of These Steam Deck Keyboards — Why I Stopped Trying to Finish Games to 100%

Monday, April 29, 2024

Also: Conditional Formatting in Spreadsheets, and More! How-To Geek Logo April 29, 2024 Did You Know Babies have more bones than adults; as they age, several bones (such as the plates in the skull)

Behind the Product – Miro

Monday, April 29, 2024

Brought to you in partnership with CustomerIQ The AI platform to help teams aggregate, search, and synthesize customer feedback. CustomerIQ aligns teams with insights from channels like CRM notes,

Rapidly responsive... space stations!?

Monday, April 29, 2024

There are scant details as to the mission profile, but I can't help but feel intrigued by this news from Gravitics View this email online in your browser By Aria Alamalhodaei Monday, April 29, 2024

Daily Coding Problem: Problem #1426 [Hard]

Monday, April 29, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Salesforce. Given an array of integers, find the maximum XOR of any two elements.

Code Story - Mar 24

Monday, April 29, 2024

Welcome to the March addition of the podcast newsletter. Please enjoy, and check out any of the episodes you might have missed below. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Feature | The Best Visualizations from April on Our New App 📲

Monday, April 29, 2024

See the most popular, most discussed, and most liked visualizations on our new data storytelling app Voronoi from April. View Online | Subscribe At the end of 2023, we publicly launched Voronoi, our

😸 Tangible change

Monday, April 29, 2024

🤖 Elon is closing in on $6 billion in funding for his AI startup. 🛜 The FCC has officially voted... Product Hunt Read in browser This newsletter is brought to you by YOU MIGHT HAVE MISSED 🤖 Elon is

⚙️ AI has emotions now

Monday, April 29, 2024

Plus: Meta AI? More like Mid-ta AI! ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌