Just a few points for me about Angular in my own experience. When I first started using it, it seemed rather straight forward and easy to use. I could use it in some of my projects, or build entire apps with it.
Then came the notice of the rewrite. At that point, I pretty much lost interest in it. I mean, if you're going to have a major rewrite and and not make any of it backwards compatible, what's to say you won't do it again in another few years? For me, this was a deal breaker. Why build apps now which be obsolete when 2.0 finally rolls around?
Also, I'm not sure why people think apps have some incredibly long life span. Almost every large enterprise app I've ever worked on only goes about a year, maybe two years before it gets a complete overhaul. Here's a good example:
Large Enterprise Healthcare App:
- First iteration which was the longest and went from 2005-2010. Built on Java and Tables in HTML. Brutal, but effective and easy for the Java guys to maintain.
- Second iteration was from 2010 - 2012. Built on Java and with mainly Javascript and the HTML is cleaned up and tables removed.
- Third iteration was from 2012-2013, Built on Spring MVC, HTML5 and CSS3 with lots of jQuery and Javascript for several interactive charts.
- Last iteration I was a part of was in late 2013 - October of 2014. Completely rebuilt with responsive design, built on Grails, with lots of CSS3, jQuery and some Ember and Backbone pieces.
Even when I left they were contemplating another total overhaul, possibly moving back to Spring, and doing more client side stuff with Angular or Backbone and possibly doing some NodeJs as well. The app basically went from 5 year re-design schedule, to essentially less than 14 months in between overhauls. I'm just chalking this up to a constant parade of contractors who come in and are using the latest and greatest stuff, and then push that for the app. When they leave, nobody has the ability to maintain it, so they just rinse and repeat with contractors and technology.
Either way, my point here is that apps seem to have shorter and shorter lifespans before being completely overhauled. It's like maintenance isn't even really a requirement anymore.
"Although Angular will run on ES 5 browsers (the current world), changes being made to the core Angular architecture will break every Angular application. See this InfoQ article for details, which include removal of controllers, current directive definition syntax, $scope, and more."
and from the Angular Team after the Euro conference:
"Our goal with Angular 2 is to make the best possible set of tools for building web apps not constrained by maintaining backwards compatibility with existing APIs."
Which is totally different than having to maintain an application over an extended period of time. They're two totally different issues.
Then came the notice of the rewrite. At that point, I pretty much lost interest in it. I mean, if you're going to have a major rewrite and and not make any of it backwards compatible, what's to say you won't do it again in another few years? For me, this was a deal breaker. Why build apps now which be obsolete when 2.0 finally rolls around?
Also, I'm not sure why people think apps have some incredibly long life span. Almost every large enterprise app I've ever worked on only goes about a year, maybe two years before it gets a complete overhaul. Here's a good example:
Large Enterprise Healthcare App:
- First iteration which was the longest and went from 2005-2010. Built on Java and Tables in HTML. Brutal, but effective and easy for the Java guys to maintain.
- Second iteration was from 2010 - 2012. Built on Java and with mainly Javascript and the HTML is cleaned up and tables removed.
- Third iteration was from 2012-2013, Built on Spring MVC, HTML5 and CSS3 with lots of jQuery and Javascript for several interactive charts.
- Last iteration I was a part of was in late 2013 - October of 2014. Completely rebuilt with responsive design, built on Grails, with lots of CSS3, jQuery and some Ember and Backbone pieces.
Even when I left they were contemplating another total overhaul, possibly moving back to Spring, and doing more client side stuff with Angular or Backbone and possibly doing some NodeJs as well. The app basically went from 5 year re-design schedule, to essentially less than 14 months in between overhauls. I'm just chalking this up to a constant parade of contractors who come in and are using the latest and greatest stuff, and then push that for the app. When they leave, nobody has the ability to maintain it, so they just rinse and repeat with contractors and technology.
Either way, my point here is that apps seem to have shorter and shorter lifespans before being completely overhauled. It's like maintenance isn't even really a requirement anymore.