TL;DR;
I am working with a client that is a software company about to begin 
rewriting a 1980's line-of-business app with the MEAN stack, or variation 
thereof. We have completed a relatively small proof of concept. After 
consulting with others regarding the future of Angular and the situation we 
would be in if we went forward with Angular 1, we are considering taking a 
look at React. However, we would really prefer to move forward with Angular 
and ignore the flight to React that seems to be taking place.

Resources to do this project are very tight (starting with a total of < 40 
hours per week). It seems like a tragedy to the organization for us to 
begin working with a front-end framework that is on a known end-of-life 
path, likely quite soon (within 3 years) to be largely abandoned in favor 
of a completely different framework with the same name, new number. There 
simply are not the resources to do migrations of this magnitude over time. 
We are accustomed to working with frameworks and libraries that provide 
developers sufficient backward compatibility over decades (with some 
smaller amount of pain and suffering along the way, of course, but nothing 
resembling a rewrite). 

Would it be wiser to start working with a framework that at least today 
does not give us and our users an indication that it is dead even before we 
begin? What is your intuition regarding the best strategy for us to take?

The longer version:
If we upgrade from Angular 1.3 to Angular 1.4, perhaps some things will 
break in our POC code, but at least then we could start our development 
efforts with the new router. At first glance, however, the new router 
"feels" very little like ui-router. It looks like we would be back to the 
drawing board figuring out how our nested routes (states), resolves, 
parameters, and everything else translate from ui-router to the new router. 
That would delay us from starting the rewrite, but we will have much to 
figure out along the way as it is, and maybe we could get past this 
learning curve quickly. We are not all that fast -- or, to point only to 
myself, I work like a "seasoned" developer (mgmt, cough), from the "data 
processing" days, not like a heads-down coder.

If we go from 1.3 to 1.4 and from ui-router to the new router, then we 
should be in better shape to migrate to Angular 2.0, in theory. However, 
one of the reasons for choosing full-stack JavaScript is that we like 
migrating from "full-stack BASIC" to JS, a somewhat similar language (until 
you get to closures, not to mention the complexity of async CRUD...). 

It sounds like Angular 2.0 does not expect code to be written in JavaScript 
but in TypeScript, argh! Even if TypeScript is a superset of JS, so that it 
might work to stick to JS, examples are likely to be in TS, so there is not 
just a new language for members of the team to learn (JS) but a whole new 
TYPE of language (ie a more strongly typed language) to learn. Both the app 
and the people being converted are currently working with Data/BASIC (with 
perhaps a bit of Java or C# in their backgrounds but not in their 
fingertips). TypeScript solves a problem we don't have, or at least one we 
don't know we have, and has yet another learning curve! We would need to 
learn another language in order to then generate JavaScript, the language 
that both the browser and the developers understand and want to use. I 
sound ridiculous suggesting such a thing to a client!

>From everything I have read and watched about Angular 2.0, it seems like a 
significant learning curve even if we were proficient at Angular 1 (we are 
not). It seems very complex and quite different from our POC and what we 
have been planning to do. 

We are working with Angular Formly to help mitigate some of that 
conversion, but Angular 2.0 really seems to have thrown the baby out with 
the bathwater so that even using some libraries like formly will not be 
enough to save us from a HUGE CONVERSION OF WHAT WE HAVE NOT YET WRITTEN! 

I would like the advice of those who favor Angular over React, since I do. 
Also, I have heard a lot from those now favoring React. Without any more 
information than this about our LOB app, does your intuition suggest that 

a. we should launch into our rewrite efforts now using 1.3, as we have in 
our POC; 
b. we should upgrade to 1.4 while continuing to use ui-router as this 
should not delay our work much; 
c. we should accept the cost of the delay and upgrade to 1.4, figuring out 
the new router;
d. we should start with the earliest parts of Angular 2.0 and try to figure 
that out, then start writing once it is in beta;
e. we should seriously consider React as there is no suggested path to 
death for the framework

It "feels like" the marketing for Angular ('we only have a dead framework 
ready for you now") is pushing us and a number of others in the direction 
of e. No one wants to start writing software in COBOL for the next nine 
months knowing it is already out of favor (and end-customers might very 
well know that), and that they will need to convert the system to FORTRAN 
or whatever else immediately thereafter (dating myself by mentioning all 
three of the first languages I learned).

Thanks in advance for your advice.  --dawn

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to angular+unsubscr...@googlegroups.com.
To post to this group, send email to angular@googlegroups.com.
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to