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.