Created 4/8/19; updated 8/14/19; originally titled "Tools"
This documents all of the technical tools I use to build applications. My current technology stack is composed of:
I particularly enjoy front-end web development because it allows me to operate simultaneously as a developer, designer, and product manager.
React is great framework to learn just because of it's enormous popularity. However, I've found that once you get through the horrific uphil battle of learning how to think in react, it's built-in composability makes constructing complex single-page applications an absolute delight.
My go-to production-ready scaffolding tool for react projects. The zero configuration set up is invaluable, and I avoid
ejecting the app whenever possible.
npx create-react-app <app-name> for action; plus
--typescript if you want type-safe action.
If you love React, you'll love styled-components. Allows you to painlessly attach CSS styles to components without worrying about duplicate/mispelled/conflicting classnames and makes dynamic styles easier than ever.
GraphQL is an API specification by Facebook that is kind of like REST, but better. It allows you to transfer data through a single endpoint by using structured queries to request and deliver data with precision. This liberates backend developers to focus on business logic and frontend developers to manage and display data.
It appears to me that GraphQL's greatest value proposition is allowing clients to query data without needing any knowledge about the server's configuration. It truly enables schema-driven development.
My preference for node is motivated by
Python web framework that I used at both of my previous startups. Works well, but gets frustratingly redundant to create, configure, and maintain endpoints for new slices of data.
Next-generation ORM and database-as-a-service with astonishingly pleasant data modeling, migrations, and management. Works with node and typescript, and a few other frameworks. Highly recommend following the Node tutotrial at How To GraphQL to get started.
Dependable choice for prototyping side-projects on top of MongoD and my ORM of choice for side projects with straightforward schemas.
The default ORM to use with flask and python. Works as expected.
Discovering and using
now is an absolute delight for front-end projects, so much so that I find myself fervently opposed to almost every other tool. Just type in
now and you'll immediately deploy an https-secured, immutable instance of your applicaiton on the global CDN.
So easy, it makes me wonder why I had ever previously entertained Heroku or AWS. Create a repo, connect Render to Github, push to master, and BAM you have a working deployment that updates with every pull request. Alternatives: Heroku, AWS.