Issue #283 (Library Does X, Frameworks, Build/Bundle, Git/CLI)
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!
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.
A CSS framework with components designed in the style of the old Nintendo system (NES).
And not to be outdone, this one is based on Playstation 1.
Pluggable enterprise-level React application framework.
A standard CSS implementation of the Spectrum design language for internal and 3rd party use on Adobe's platforms.
Minimal, easy-to-use, yet super-functional serverless boilerplate.
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.
A go-to library for React developers who want to build inclusive and accessible sites.
A lightweight and somewhat opinionated CSS foundation that is best suited to applications.
Now at version 6.5+ (details). Easy to use React Bootstrap 4 components.
Recommended Courses by Wes Bos:
Build Tools, Deployment, Bundles, etc.
Get the bundle size of an npm package.
A simple, light-weight and modern task runner for general purpose.
Simple CLI for compiling a Node.js module into a single file, together with all its dependencies, gcc-style.
A Babel plugin that compiles React components into native DOM instructions to eliminate the need for the React library at runtime.
ReactXP project generator for building your next awesome cross-platform (Web, Android, iOS, Windows) app.
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.
Use webpack with a development server that provides live reloading.
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
Git, GitHub, and Command Line Tools
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.
Tweet project updates with every git commit. Let users know what changes you’re making with every commit you make, straight from the terminal.
A terminal for a more modern age, inspired by Hyper and designed for people who need to get things done.
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.
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.
Command-line tool and terminal JSON viewer.
TweetDeck for GitHub. Helps you take back control of your GitHub workflow and stay on top of everything important going on.
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.