The analogy of a "horseless carriage" kicked off a cascade of comparisons in my head of how businesses are handling not only mobile, but distributed applications and more. Interesting article.
Dare I be the first to offer what some may think of as cliche advice: find the language(s) you love working in first, then make money at them (and that might require moving to a different market). I was a data warehouse architect for a while - and was paid more than most of my time as an app dev, but I was miserable doing it. Then I spent time in all layers of .NET (C#), and while I enjoyed it, my passion is really open web tech (focusing on the client mostly). In Nashville, .NET is one of the top money makers for devs, so whenever I discussed moving out of .NET to focus on HTML/js, the conversation always turned to "but .NET pays the bills!" Thankfully I can say that I've landed a job that lets me do what I love, not stressing over "OH man, I have to learn platform X - which I hate - just to the bills." My own personal version of hell would be having to specialize in SharePoint....
I should add that I do appreciate how the article encouraged more than one language, and emphasized that you need to think through how and with what kind of development do you want to make money - not just 'which language'...
I've had the chance to see this project develop over time as the author has explored different approaches. A lot of what I currently do (using underscore templates primarily, but some others) is already very model-driven, so the possibility of DOM-fragments-as-templates is something I find very compelling. Excited to see this grow....
Well said. I've used the second pattern you described as well. If I find myself in a situation where I'm tempted to treat the message as mutable, it usually indicates I've hit the point where I need to (potentially) use some sort of transformation pipeline, and the steps in that transformation should ideally be encapsulated inside a component and not publicly exposed on the bus itself.