Web Tools Weekly
What a Tool!

Issue #283  (Library Does X, Frameworks, Build/Bundle, Git/CLI)12/20/18

A recent Tweet from a programming Twitter account, quoting a programmer named Pete Cordell got people talking. The quote goes like this:

"Telling a programmer there's already a library to do X is like telling a songwriter there's already a song about love."

I agreed with the thought immediately but then I noticed some people in the feed were strongly disagreeing, saying things like "This is wrong on so many levels" and claiming that a library's only purpose is "reusability" so the analogy doesn't fit.

I agree that this is not a perfect analogy, but a lot of developers are missing the main point of the quote: That if it weren't for developers reinventing the wheel once in a while, we wouldn't have many of the current tools we use for our projects today. There would be no React, no Angular, no webpack, no Grunt, no Normalize.css, and so on.

Almost every library, framework, or other tool in use today is a result of some developer or group of developers looking at a current solution and saying, "Hey let's solve the same problem but let's to it better."

Again, I agree that the comparison to songs and music isn't quite fitting, since songs aren't normally written to solve problems. But the overall idea is correct and one of the responders to the Tweet, Ugo Abate, explains it nicely:

"You have a solution just not as good as it could be. Not using a library and developing something new doesn't mean ignoring everything done by others but taking the best parts and coming up with a better solution. This is the key to progress in every field. Do you know how many 'brilliant' libraries [were] written before getting to the ones you use today? Fortunately there are people around questioning things and pushing limits."
 

Now on to this week's tools!

Many of my previous JavaScript/DOM tips have been released in e-books (EPUB, PDF, MOBI):

JS & DOM Tips Volume 1 >
JS & DOM Tips Volume 2 >
JavaScript E-Books

Front-end Frameworks

CodyHouse Components
A set of front-end components from CodyHouse. Includes nav, form, data display, typography, and more.

Material Angular Dashboard
A dark-themed dashboard template made with Google Material Design and Angular.

NES.css
A CSS framework with components designed in the style of the old Nintendo system (NES).

PSone.css
And not to be outdone, this one is based on Playstation 1.

UmiJS
Pluggable enterprise-level React application framework.

Spectrum CSS
A standard CSS implementation of the Spectrum design language for internal and 3rd party use on Adobe's platforms.

Serverless Boilerplate
Minimal, easy-to-use, yet super-functional serverless boilerplate.

Bruck
A lo-fi prototyping system made with web components. Quickly create and comment on interface layouts. The output is screen reader accessible, and responsive without you having to author breakpoints.

Tenon-UI
A go-to library for React developers who want to build inclusive and accessible sites.

backpack.css
A lightweight and somewhat opinionated CSS foundation that is best suited to applications.

reactstrap
Now at version 6.5+ (details). Easy to use React Bootstrap 4 components.

Recommended Courses by Wes Bos:
Fullstack Advanced React & GraphQL   ES6 for Everyone

Build Tools, Deployment, Bundles, etc.

package-size
Get the bundle size of an npm package.

Foy
A simple, light-weight and modern task runner for general purpose.

ncc
Simple CLI for compiling a Node.js module into a single file, together with all its dependencies, gcc-style.

babel-plugin-rawact
A Babel plugin that compiles React components into native DOM instructions to eliminate the need for the React library at runtime.

Create-RX-App
ReactXP project generator for building your next awesome cross-platform (Web, Android, iOS, Windows) app.

agadoo
Tells you whether the JavaScript library you're building is tree-shakeable (i.e. a developer can import the bits they need without burdening users with all the code you're not using).

ims
An npm module installer that uses a p2p cache hosted on the Dat network to resolve all dependencies as fast as possible.

Partials for HTML Webpack Plugin
Extends the HTML Webpack Plugin (a plugin that simplifies creation of HTML files) to add support for partials or templates.

webpack-dev-server
Use webpack with a development server that provides live reloading.

J.A.R.V.I.S.
A very intelligent browser-based webpack dashboard.  Puts in your browser all the relevant information you need from your webpack build whether in development or in production.

Recommended Reading for Developers
Vue.js in Action   CSS Master   CSS Secrets Book
Have you written a book for developers that's available on Amazon? Reply to this email and let me know. I'll consider including it here. No charge.

Git, GitHub, and Command Line Tools

eDEX-UI
A science fiction terminal emulator designed for large touch screens that runs on all major OSs.

Branch Cleanup Action
A GitHub action to automatically delete the branch after a pull request has been merged.

gitbird
Tweet project updates with every git commit. Let users know what changes you’re making with every commit you make, straight from the terminal.

Terminus
A terminal for a more modern age, inspired by Hyper and designed for people who need to get things done.

Taskbook
Tasks, boards. and notes for the command-line habitat. Enables you to effectively manage your tasks and notes across multiple boards from within your terminal.

Mergify
Stop merging your pull requests manually. Automatically merges pull requests when they're ready so you don't have to. You set the rules, it does the rest.

fx
Command-line tool and terminal JSON viewer.

DevHub
TweetDeck for GitHub. Helps you take back control of your GitHub workflow and stay on top of everything important going on.

Tower
The popular and powerful Git client for Mac and Windows has been recently updated (details).

Github Unofficial Trending API
A simple API that returns trending repositories and developers on GitHub.

A Tweet for Thought

Are JavaScript applications the .swf of modern web development?
 

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

Here's a timely service: Will my tweets get me fired? will scan your Twitter history for $2.99 and tell you if there's anything that should probably be deleted.

Thanks to all for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@LouisLazaris