Tengo una pregunta. Para reescribir una aplicación de AngularJS a Angular 2+, ¿se requiere conocer el primero, o es suficiente conocer solo el Angular 2+?
No necesariamente necesita saberlo por adelantado, pero deberá comprenderlo lo suficientemente bien como para leerlo. A medida que avanza, es probable que necesite aprender enfoques específicos que se utilizaron para comprender su propósito y funcionalidad, y comprender cómo traducir eso en el marco más nuevo.
Pero no todo se traducirá directamente: algunas partes pueden ser simples, otras pueden ser desafiantes y algunas pueden necesitar ser reimplementadas por completo.
También debe considerar cómo evitar traer enfoques o paradigmas obsoletos a la nueva aplicación. Ser fuerte en su marco objetivo (Angular 2) será importante en este sentido.
Esto depende de cuán grande/compleja sea su aplicación. Podría ser más fácil recrear la aplicación desde cero en Angular en lugar de intentar reescribirla.
AngularJS y Angular (versión actual 13) son muy diferentes. Antes de aprender cualquiera de los dos, asegúrese de conocer JavaScript y, para Angular, es útil conocer TypeScript. Para reescribir, al menos debe comprender qué está haciendo AngularJS y cómo funciona. No creo que necesites un conocimiento avanzado.
Si planea reescribir gradualmente la aplicación, consulte NgUpgrade . Es una biblioteca creada por el equipo de Angular para permitir que tanto AngularJS como los componentes de Angular se ejecuten en la misma aplicación.
Angular tiene una buena guía y wiki sobre cómo actualizar desde AngularJS y existen numerosas empresas de terceros que se especializan en actualizar AngularJS.