To Robby’s point, this is why personally tend to be hesitant to jump onto new JS technologies, most of them get abandoned soon or later and I see the same happening for angular. I like Jquery because it has been around for a while.
Thanks, @r0bby, for raising this issue in a constructive way. It’s a valid question, and the situation is quite complicated.
If we were starting from scratch today, we probably wouldn’t choose Angular 1.x, but we’re not in a green field situation. But it’s still a quite good technology, and it’s not limiting us today, so there is no burning need to move away from it preemptively.
There a couple of things we are doing today that help us mitigate risks:
The reference application is built out of independent parts, and it’s not a single monolith.
Today Rafal is leading a sprint to build concept management screens as an OWA, that uses Angular 1.x.
Suppose that a year from now we build a new set of patient summary screens in React or Ember…we won’t have to rewrite the concept management screens to do this.
I’d further note that usage of AngularJS in the reference application is actually quite limited. E.g. the patient summary and visit dashboard screens don’t use it.
Doubling down on REST and HTML(5).
So, to your specific question of
What happens if Google halts support for Angular 1.x
…my answer is that we’ll deal with the specifics of this when (not if) it actually happens. But for now I would focus our efforts on the risk mitigation efforts above, rather than worrying about the exact upgrade path to Angular 2.x, which is still only in beta. (Thousands of people will be facing this in the coming years, including groups that are better-resourced and more dependent on Angular than we are. We don’t have to be the trailblazers on this particular issue.)
I think another important risk-mitigation step will be ensuring that whatever is written is done so in a component-oriented as opposed to controller-oriented design. It might be worth investigating/incorporating things like https://github.com/ngUpgraders/ng-forward. Even if not going that far toward Angular 2, practices like this: http://teropa.info/blog/2015/10/18/refactoring-angular-apps-to-components.html (which gave me a real a-ha moment when I first read it) would make a smoother transition into any future technology. This, along with a ‘Smart Component / Dumb Component’ architecture feels very close to React, for instance.