Select Page

There has been quite a bit of dialogue around the proposed changes that AngularJS 2.0 is going to introduce and some of it is pretty heavily covered in tones of hysteria. I completely understand how this happened, given the sensational way that these changes were presented in ngEurope by the AngularJS core team without some additional context to balance it out. With that said, I want to take an opportunity to share a few things that have helped me keep a level head while navigating through the AngularJS 2.0 echo chamber.

1. We are all in this together.

This is the single most important point and I cannot stress it enough. The AngularJS team is entirely approachable and influenceable by the community. This means that we each have an active role to play in shaping the future of AngularJS 2.0 and we should banish the thought that AngularJS is something that is handed to us from on high. We are all on the same team and if we need to build something like a migration path from AngularJS 1.0 to AngularJS 2.0, we can do it together. Be participants, not recipients!

2. The AngularJS team is genuinely trying to do the right thing.

Creating anything non-trivial is really hard! We only have to look as far as JavaScript to see that mistakes can and will be made and eventually improved upon. When we accept that the AngularJS team is genuinely trying to do the very best they can, it just deflates the evil undertones that some of the AngularJS 2.0 rhetoric has taken. When Misko Hevery got up on front of 700+ people and personally apologized for some of the design decisions he made in AngularJS 1.0 and then went on to explain how he thought he could make them better, that reinforced the commitment to doing the right thing and not destroying our lives. I can accept that we will have wildly varying opinions about what the “right thing” is, but we should at least agree right now that we are trying to move towards the same goal.

3. The AngularJS team does not owe me anything.

AngularJS has opened up some incredible career opportunities for me over the last couple years and changed my life in ways that I could not imagine. I have had the privilege of making hundreds of new friends, seeing new places, learning how to do incredible things and it has come with a monetary cost of absolutely nothing. I appreciate all of the work that the AngularJS team has put into creating an excellent framework; but never for a second have I thought that they owe said framework to me. If you are making money using open source software, stop and reflect on what you are getting versus what you have put in. I guarantee that in almost every case the scales are heavily tipped to the receiving side and not the giving side. This is also why I make it a point to say only positive things about other frameworks and projects. Certain aspects of the framework may not resonate with me, but I take my hat off and salute you for your time and sacrifice to creating something meaningful.

4. We have to embrace forward-moving technology.

Let’s just be honest with ourselves. Legacy browsers hinder progress and do absolutely nothing to improve our lives. We have to make hard decisions to embrace new and emerging technologies so that we get languages and tools that empower us to build better things for society as a whole. Technology solves problems. AngularJS 2.0 on the surface appears radical because it is entirely forward thinking. That should be applauded, not derided.

One of the best books I have ever read on the subject of technology is Zero to One: Notes on Startups, or How to Build the Future by Peter Thiel. I cannot recommend it enough.

5. AngularJS IS open source.

And though we should embrace the future, we still have to live in some very real and present constraints. This is why the AngularJS team truly believes in open source, and with that comes the opportunity to take ownership of any part that comes up short and fix it. Not only is the framework open, but there is a complete openness in plans. This gives us plenty of runway to see what is coming down the road and make good decisions. I would also like to point out that it is not entirely unreasonable for AngularJS 2.0 features to be back-ported to AngularJS 1.3. I have had the privilege of talking to Rob Eisenberg about his work with the new router and this is something into which the team is putting a lot of cycles. Again, let us be participants and not recipients.

6. Evolution has happened before.

This entire scenario has a distinct deja-vu quality to it as I have seen almost this exact scenario play out when ActionScript 2.0 was introduced. ActionScript 1.0 was based on ES3 and almost identical to JavaScript as we know it now. Then ActionScript 2.0 came along and introduced classes, types, etc. – and pandemonium ensued! AS 2.0 was heavily criticized for being hard to learn and entirely different; but do you know what the net result was? It was a much better language.

7. The ideas behind AtScript have already been proven.

The most interesting aspect of sitting in the keynote where AtScript was introduced as that none of it seemed new to me. The ideas behind AtScript such as typing and annotations have been around and proven for years on the Flash Platform. I have personally worked on enterprise applications that have generated 100s of millions of dollars in annual revenue using a dialect almost identical to what AtScript is proposing.

8. There is nothing wrong with extending a language.

I would also like to point out that a large amount of AtScript is entirely optional. We do not have to use typing and we do not have to use annotations. We can write it entirely as ES6 and call it a day. With that said, there is nothing wrong with extending a language to give us more of what we need and want. To take offense to this would mean throwing out CoffeeScript, Less, Sass, etc., and I think we can agree that people have gotten a lot of mileage out of these tools. If AtScript is an extension of JavaScript that helps me do my job better, then I embrace that.

9. It is counter-productive to form permanent opinions about things in transition.

It always amazes me when I go to Amazon and see ratings for a book or movie that isn’t even out yet. How is that possible!? How does that person really know that they like or dislike that book? At this exact point and time, I do not have any firm impressions of AngularJS 2.0 because quite simply, I have not written any AngularJS 2.0 yet. How many people have? How can any of us really truly know what we think of AngularJS 2.0 until it is out in the wild and we have written something with it? This brings me to my next point…

ngEurope Here

10. Don’t miss the opportunity to provide massive value to the community.

If we do not know exactly what AngularJS 2.0 is going to look or feel like, what can we do? We can get involved! We have the opportunity to take ownership in the framework and help guide its creation so that it provides the maximum amount of value for the web community as a whole. If you have a really great idea of how to make AngularJS 2.0 better then please let us know. We are in this together and genuinely committed to making a world-class framework that enables people to build better things faster.

In Closing

AngularJS is so much more than a code base. I have had the opportunity to attend ngConf 2014 and ngEurope 2014 and I met hundreds of intelligent, passionate people who were excited to build amazing things. I have made friends that I am quite close with today. I met people who have had their entire quality of life changed because of AngularJS. Families and loved ones are the indirect beneficiaries of the work that everyone has put into this amazing framework. And because AngularJS is so much more than a code base to me, I believe we owe it to ourselves to stay professional and positive.

Some of the points I have made in this article are almost direct quotes from conversations I have had with Brad Green about AngularJS 2.0. I appreciate his thoughtful answers and even admitting that we could have engaged the community better. I am excited about the future and I hope that we can get there in the classiest way possible. With that said, we are listening.

Huge thanks to my BFF Jeff Whelpley for providing thoughtful feedback and suggestions on this post.