Web Tools Weekly
What a Tool!

Issue #210  (JS Style, JS Utils, Testing, Uncats)07/27/17

Work on high-value freelance/remote web projects. 30 New project leads every week, for web freelancers and small agencies.
Find out more here >

If you're interested in some big JavaScript reading on code style, I highly recommend Eric Elliot's Elements of JavaScript Style over on Medium (where else?).

First of all, I'm pretty sure this guy doesn't sleep. It seems like every other week he's written a huge super-advanced article on some aspect of JavaScript. I'd say Eric is the most well-respected JavaScript writer/developer in the world right now.

This article is a little different from his previous writings. If you're familiar with The Elements of Style, the popular writing style guide by Strunk and White then this will be a nice trip down memory lane. The article provides various code style tips while putting them in parallel to suggestions given in Strunk and White's book.

The main recommendations explained are:

  • One job for each function
  • Omit needless code
  • Use active voice
  • Avoid a succession of loose statements
  • Keep related code together
  • Put statements and expressions in positive form
  • Use parallel code for parallel concepts
The article goes into great depth for all these points, using modern (i.e. ES6+) code examples. And, as Eric points out in the comments, this is not an article about code architecture, this is simply about style.

Now on to this week's tools!
Did you buy my previous JavaScript/DOM tips book? I've released a new one...
70 JavaScript & DOM Tips for $5 (Volume 2)

JavaScript Utilities

The first open-source library that detects the font of a text in an image.

Medium-like text selection sharing without dependencies.

A browser-based polyfill for JavaScript's Math.random() that tries to make it more random.

An Express.js-Style router for the front-end. Code the front-end like the back-end.

Infinite Scroll
Now at version 3+ with an all-new code rewrite.

Make array iteration easy when using async/await and promises.

A low level validation library for validating objects against defined validation rules.

Convenient and dependency free wrapper for working with arrays and objects.

A small (1kb), asynchronous and powerful state management solution for JavaScript applications.

A Babel plugin for replacing object and array literals with immutable versions.

Testing and Debugging Tools

Like unit testing, for performance. A developer-centric open source load testing tool for testing the performance of your back-end infrastructure.

A small dev utility for testing console logs.

An A/B testing library designed to be clear, minimal, and flexible. Works on the server and in the browser with the use of driver-based persistence layers.

Tamper Chrome
Chrome extension that allows you to modify requests sent by the browser as they happen.

Cross browser testing tool. Test your website in more than 25 web and mobile browsers on your local machine. No cloud services involved.

A Visual Studio extension for monitoring CI builds, processes and services on the back end of your development workflow – so you can focus on your code.

Free website monitoring. Get an alert when your website is down. A modern service for global availability monitoring. From a personal WordPress blog to enterprise API response time monitoring.

Load testing and website performance tools. Stress test your website, web apps, mobile, and API – Instantly.

Do you like this newsletter? Show your support!
Make a One-time Donation via PayPal.me/WebToolsWeekly

The Uncategorizables

A powerful and intuitive live streaming studio in your browser. 

Detailed analytics and reporting for your Mailgun transactional emails.

I love this! Beautiful hand-drawn block diagrams from plain text. Great for preparing presentations with fun diagrams.

Version control for Microsoft Word. Advanced document management features such as branching, merging, and version comparison.

An open framework to assemble specialized container systems without reinventing the wheel.

Cloud workspaces for development teams.

A tool to easily filter and compare Google Fonts based on their visual characteristics.

Signup anywhere without giving your email address. Generates for you an email address for each site, for free.

A Tweet for Thought

As it turns out, the mobile web isn't really about content-first design after all.

Suggestions / Corrections

Made something? Send links via 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...

This is humorous and probably quite useful: Joblint is a way to "lint" your job posting so it's free of words like "ninja", "superstar", "beer", and sexist terms.

Thanks to all for subscribing and reading!

Keep tooling,