In March 2018 I gave a workshop at EmberConf 2018 on Broccoli.js.
As promised, I said I would write up the tutorial into a series of blog posts, so, without further ado, I present Eat Your Greens - A Broccoli.js Tutorial.
This tutorial has been replaced with an updated version at Eat Your Greens - A Broccoli.js Tutorial
In the wild west that is PHP, we were given a tool, a magical tool to help us organise our code better, to become better programmers, and write better, more distributable code. And what did we do? We bastardised it solely for the purposes of autoloading. THIS IS WHY WE CAN'T HAVE NICE THINGS!
MVC is a very well defined and understood concept in computer science these days. If you're unfamiliar with MVC, I suggest you get reading :)
So, I expect you've used MVC whilst building applications, you have your controllers, models and views, all looks good. Whilst this is a great start, and allows you to separate control from data from presentation, the problem is most developers stop there and thing that is the end of the road. Below you can see a representation of a simple MVC triad:
So you're a web developer eh? You make websites and web apps? Well riddle me this, what makes you different from a C++ developer, a command line interface (CLI) app developer, or a mobile developer? The Hyper Text Transfer Protocol (HTTP) right? HTTP is this holy grail of what the modern tech world is built upon, without HTTP there would be no websites, no APIs, no Twitter/Facebook/Instagram!
So Tim Berners Lee, we salute you, but I feel we kind of got lost along the way with how we perceive software development for the web.
Here starts my baptism of fire with Ember.js, the highs, the lows, and the hacking!
My story is pretty typical to a point. I built a single page web app in native JS and a spattering (well, more of a spilt paint bucket) of jQuery, only to realise after I'd finished that Ember existed. Short of wanting to jump out of the window once I'd realised how much time I might have saved, I decided to see what would actually be involved in converting the app to Ember.
So I finally got round to starting a blog. And you'd think that's a simple matter these days.
There are many blogging tools and applications available, Wordpress, Joomla, Tumblr, Blogger, Ghost, etc. One thing I knew I didn't want was a hosted blog, 'cos, you know, I'm a developer and must have control over everything!
So after holding this domain for nearly 2 years, I decided to actually get round to setting up this blog.