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.
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.
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.
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…
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.
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.