Catchup mode
I’m spending a some time trying out a few new technologies and techniques. Learning Swift has given me a taste for experimentation, and lured me out of my Ruby/Rails/jQuery/SASS comfort zone.
One of the most surprising things is how far behind I feel. I mean, I only learned Ruby around four years ago, and I’ve kept on the leading edge of Rails through turbolinks, the asset pipeline, coffeescript and more.
I have poked at things like Ember and Angular, but ultimately they’ve gone nowhere. Which I’ve come to realised is because I didn’t actually know Javascript - I just knew the very basics. I’ve taken a few weeks to really dive in and learn the core concepts of javascript - scoping, context, prototypal inheritance etc. That’s paid off big-time as I’m now finding it a joy to work with React.
I set out last weekend to make a simple single-page webapp that would generate an origami pattern of any book, which can be cut and folded to make a fake book. It’s mainly an exercise in something other than the database-driven RESTful design which Rails leads me towards.
In the process I’ve discovered that I have no front-end workflow - it’s all been managed by Rails’ asset pipeline. The code is a joy to work with - I’m able to spin up a Node server, proxy requests out to a 3rd party API and all in just a handful of lines of code. I have three javascript files in total for my front and back-end.
While the simplicity is wonderful, I’m lost as to how to even do basics like see my new server-side code without quitting and restarting the node server every time. I don’t know how to work with SASS, how to enjoy Bootstrap’s mixins, or how to minify anything. I’ve discovered that npm is the equivalent of Bundler and now I’m setting off on an investigation of Grunt, Gulp, Live Reload and Yeoman.
I’m also questioning where the autocompletion in VIM is - Xcode has given me a taste for being able to instantly see the properties and methods on an object. I’m off down the rabbit hole…