Plus using PageRank to find important code files, a nice VS Code update, and a routing library for Service Workers. |

#​597 — July 8, 2022

Unsubscribe  |  Read on the Web

JavaScript Weekly

Bun: An Exciting, Speedy New JavaScript Runtime — Tired of Node? Tired of Deno? Never. But a new challenger has appeared. Bun is aimed at 'outside of browser' use cases and is built around WebKit's JavaScriptCore, rather than V8. Some notable features:

  • Includes its own bundler, transpiler, and task runner.
  • Promising performance.
  • Supports a lot of Node and Web APIs already.
  • You can use npm packages with it.
  • Works on macOS (x86 and Arm), Linux, or WSL.
▶️ This 20-minute video does a reasonable job of showing it off, or if you'd prefer ▶️ a three-minute summary from Fireship. It's early (beta) days but this is an exciting project to watch. (P.S. I’ve heard Bun is called ▶️ Barmcake in northern England..)

Jarred Sumner

FlexGrid by Wijmo: The Industry-Leading JavaScript Datagrid — We are excited to announce some great new features in our powerful JavaScript datagrid component for your web applications. Add familiar Excel-like functionality to make the most of your tabular data. Get started with FlexGrid for free today.

Wijmo from GrapeCity sponsor

bundlejs: Online npm Package Bundler and Size Checker — An online tool that can treeshake, bundle, minify, and compress (gzip and brotli) projects and show you just what their weight is. Bundlephobia is another popular option in this space, but Mark Erikson says bundlejs is “now _wayyy_ better.”

Okiki Ojo

How To NOT Block the Browser: The Essentials — If you’ve seen articles or tools talking about taking code off of the ‘main thread’ and wondered why that matters, this is the primer for you. It covers the event loop, Web Workers, async scheduling, and how they make a difference.

Matthew Costello

IN BRIEF:

RELEASES:

Node 14.20.0 (LTS), 16.16.0 (LTS) & 18.5.0 (Current)
Fuite 1.6 – Tool for finding memory leaks in web apps.
oclif 3.1 – Node.js open CLI framework.
Notion SDK for JS 2.0 – Official Notion JavaScript client.
Tabulator 5.3 – Interactive table and data grid control.
Preact 10.9 – Say hello to React 18's new hooks (except useId).
Perspective 1.5.1 – Fast data visualization via WebAssembly.

📒 Articles & Tutorials

Chess Engines: A Zero to One — This is a fun introduction to something I didn’t think would be particularly interesting. chessboard.js and chess.js make it easy to get experimenting.

Will DePue

The New Wave of React State Management — It's not a quick piece by any means, but provides a sweeping overview, along with some history and opinion, of the world of state management and some available options.

Frontend Mastery

Wallaby.js: 15x Faster JavaScript Testing, Now with Support for Vitest — Wallaby runs tests as you type, with real-time runtime values, errors and coverage displayed next to your code.

Wallaby.js sponsor

Reimagining Front-End Web Development with htmx and Hyperscript — It’s interesting to see how developers have options to not write JavaScript, yet still produce useful frontends. ▶️ Writing JavaScript to Avoid Writing JavaScript is also a neat talk on htmx and this broad phenomenon.

Owen Jones

▶  'How I Built a Software Agency Website with Next.js and Tailwind' — If you want to see how another developer works in the most peaceful and elegant way possible, this (quite long) video is for you. Lovely.

Takuya Matsuyama

Simplify Your Full-Stack Applications with XState — State management is one of those things it can take a while to really get into, particularly in areas of development not commonly associated with them, but it can be worth it in order to reduce systemic complexity (at the cost of more code up-front).

Daniel Belo Gonçalves

How to Build, Test and Deploy a Bookstore App with React 18, Vite, and Netlify Functions — Brings together a variety of modern tools to practical ends, including getting an app online with serverless functions on the backend.

Yevhen Kapelianovych

GV (Google Ventures) Invests $35M Into JavaScript Notifications API — A need for notification management systems has grown rapidly as software companies realize this critical user experience.

Courier.com sponsor

▶  Easy Form Validation in Vue 3 with VuelidateVuelidate is, unsurprisingly, a validation library.

John Komarnicki

Dr. Axel Goes Deep on Executing Shell Commands from Node
Dr. Axel Rauschmayer

How to Use the Native Web Share API from JavaScript
Daily Dev Tips

🛠 Code & Tools

Big Calendar 1.x: A GCal/Outlook-like Calendar React Component — Uses flexbox for improved responsiveness.

Jason Quense

PocketBase: A Backend in a Single Binary — An interesting project that could replace Firebase in numerous scenarios. It’s written in Go but ultimately acts as the backend to your frontend JavaScript app. It uses SQLite and you get an admin dashboard built-in with file and user management too. Live demo and rather nice docs.

Gani Georgiev

ProtoScript: Protocol Buffers Runtime and Code Generation Tool — The runtime is a lot smaller than Google’s, and the code generator generates idiomatic JavaScript complete with JSON (de)serializers and TSDoc comments.

Tate Thurston

Free Activity Feeds & Chat APIs for Qualifying Teams

Stream sponsor

Deprank: Use PageRank to Find the Important Files in Your CodebasePageRank is an algorithm commonly associated with how Google used to rank Web pages, but the idea can be adapted to ranking things in any sort of set of linked items, as seen here.

Codemix Ltd

tsParticles: Particles, Confetti and Fireworks for Your Pages — Create customizable particle related effects for use on the Web. Uses the regular 2D canvas for broad support.

Matteo Bruni

Amplify UI for React Now Generally AvailableAmplify is a sort of sub-platform tying together various AWS services in a way that makes them easier to use for frontend and mobile projects. A part of that is Amplify UI, a collection of React components connected directly to the AWS cloud (Vue and Angular variants are available).

Amazon Web Services, Inc.

Wayne: It's Like Express.js, But Inside Service Workers — Specifically, it’s a routing library for use within service workers.

Jakub T. Jankiewicz

💻 Jobs

Software Engineers — Sticker Mule is the Internet's most "kick ass" brand. Our software team operates from 17 countries, and we're always looking for more exceptional engineers.
Sticker mule

Find JavaScript Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

🤔 DID YOU KNOW..

o