Web Tools Weekly
What a Tool!

Issue #378  (JS Trash, JS Utils, JSON/DB, Media)

The only thing I'll mention in this week's intro is a thought-provoking article published three years ago: How I rediscovered my love for JavaScript after throwing 90% of it in the trash by Joel Thoms. I think it's a good read for any JavaScript developer, but I strongly disagree with the majority of it.

In principle, the author's intentions to narrow down his use of the language to just a modern set of 'good parts' is great. I strongly encourage the same thing. And I'm glad he promotes functional programming. Unfortunately, much of it steers you towards utility libraries as alternatives and some questionable code decisions that I feel can make code harder to read and maintain.

Of course, not everyone will agree with me and maybe the author has changed his views on some of that today. But I do think it's good to get a different perspective on coding and maybe get out of our own 'best practices' echo chamber and take a fresh look once in a while.

Introduction to Functional Programming

And as a side point, the author links to a free course on functional programming that you might find useful, so that's cool!


Now on to this week's tools!

JavaScript Utilities

sysend.js
A small library that allows you to send messages between pages that are open in the same browser. It also supports cross-domain communication and has no dependencies.

big.js
A small, fast, and easy-to-use library for arbitrary-precision decimal arithmetic.

better-scroll
JavaScript plugin that attempts to solve certain scrolling issues that happen on mobile, for example with scrolling lists.

myjs
A small set of tiny utilities to make some tasks simpler. Includes utilities for cookies, query strings, data validation, slugify, local storage, and more.

Summernote
A super simple WYSIWYG editor built with Bootstrap.
 
Summernote

Importabular
Minimal Excel-like spreadsheet component that's mobile friendly and under 5kb.

a18n
Automated internationalization solution for JavaScript/TypeScript/React. Wraps and extracts text in js/ts/jsx/tsx files using AST manipulation, making adding internationalization support a breeze.

vanilla-colorful
A tiny color picker custom element for modern web apps.

nestie
A tiny (211 bytes) and fast utility to expand a flattened object whose keys are delimited/condensed representatives of multiple levels.

Reatom
A declarative and reactive state manager, designed for both simple and complex applications.

highlight.js
The popular code highlighter (which I personally use on my main website) is now at version 10+.
 
Recommended Courses for Developers:

JSON, Databases, GraphQL, etc.

Tech Productivity
A brief weekly newsletter for tech professionals. Features articles, tips, and tools for improved productivity.   promoted

GraphQL Genie
Pass in your GraphQL type definitions and get a fully featured GraphQL API with referential integrity, inverse updates, subscriptions, and role based access control that can be used client side or server side.

jsonapi-react
A minimal JSON:API client and React hooks for fetching, updating, and caching remote data.

dBForge Studio
GUI tools for relational databases. Choose your Studio (for SQL Server, Oracle, MySQL, or PostgreSQL) to take power of database development, management, and administration.

Octo CLI
Expose data from any database. Makes the data available from any database as a web service on-demand, simplifying the process of building data-driven applications.
 
Octo CLI

Database of Databases
A search engine for databases. Discover and learn about 723 database management systems.

RecallGraph
A versioned-graph data store that retains all changes that its data (vertices and edges) have gone through to reach their current state.

DenoDB
MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno.

Apollo Client
A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.

Concise Encoding
A friendly data format for human and machine. Think JSON, but with 1:1 compatible twin binary and text formats and rich type support.

okdb
A JavaScript library and Node service that adds real-time collaboration features to your website or app.

zipson
Kind of an older project. A drop-in alternative to JSON.parse/stringify with added compression and streaming support.
 

Media Tools (SVG, Video, Audio, etc.)

graphics-ts
Functional bindings for the HTML Canvas API.

FastIcon
Online tool to generate your iOS and Android app icon in seconds.

Mono Icons
A simple, consistent open-source set of 130+ icons designed to be used in a wide variety of digital products.

q5.js
A small and fast alternative (experimental) implementation of p5.js.

Talk
A free group video call app with screen sharing, built with WebRTC that works well without about 6-8 participants.

Zoomstock
A search engine for free stock images that you can navigate in kind of a funky "zoom" manner. Images are sourced from 10+ free stock photo sites.

PlotterFiles
A place where drawing robot (i.e. "plotter art") enthusiasts share SVG files (vectors) for use with drawing robots.

System UIcons
A growing collection of simple and consistent SVG icons specifically designed for systems and products. Use how you want, without attribution.

Toy Faces
A fun diverse library of 3D avatars for your design mockups and commercial projects.
 
Toy Faces

Squircley
An online tool to create "squircles" – rounded square shapes – that can be downlaoded as SVG.

map33.js
A JavaScript library to build 3D maps with three.js.

Blush
Easily create and customize stunning illustrations with collections made by artists across the globe.
 

A Tweet for Thought

I know how you feel about the world right now. So just enjoy a beaver eating cabbage.

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...

In these privacy-conscious times, you might enjoy FreeTube. It's a YouTube client for Windows, Mac, and Linux that lets you use YouTube without your habits and being tracked and sent to Google.

Thanks to all for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly