Toward an awesome development workflow
I've spent a lot of time over the past few years designing and building tools that approached my vision of an ideal application development workflow. Web tools were the future: CSS, HTML, Javascript, NodeJs for the back end. Plus others. I learned a lot. Then I decided that what I was doing wasn't working. So I took a break.
After a bit, I started reading about new high-productiviy technologies that had appeared and begun to mature since I'd started my project. The more I learned, the more impressed I became, and the more excited I got about building something even better than what I had originally envisioned.
I decided that I needed to spend time mastering some of the core technologies for web app building. I knew the basics of JS, but ES6 had come along. And JSX. And Typescript and Babel, the next generation compiler. All these tools added up to something better than what I'd been using (Coffee Script).
Then I found React and Redux, which put HTML back into Javascript and solves a bunch of problems. Then CSS Modules which put CSS in Javascript and solved a bunch of problems. Then Webpack which packaged things up on the fly and made building for the web a lot simpler. And hot module reloading. And React and Redux dev tools. And then a buddy pointed me to glitch.com -- a better coding playground in the cloud than the ones I had been using. And VS Code, a better editor and working environment on the desktop (Linux, Windows, Mac) than what I'd been using (Sublime Text and Atom.) I was off and running.
And along the way, I've found people online with similar visions for application building. Some had already contributed to big pieces I've listed. Others were crafting smaller bits that helped make a workflow really flow. My job now is filling in the gaps in my education, integrating their stuff, making my contribution, and spreading the word.
I want to build the world's most awesome development environment for web applications. I'm not going to fill this blog with my discussions of what I am doing and what I've learned. Instead, I'm going to be posting on another blog that I have: Awesome Development, starting with a copy of this post.
If you're interested, I'll see you there.