Descargo de responsabilidad: recientemente escribí una publicación en el blog [1] sobre las experiencias que tuve al crear aplicaciones de una sola página usando marcos como Marionette, AngularJS y cómo siento que React resuelve algunos de los problemas que encontré. Si desea más contexto en torno a mi respuesta, no dude en consultarlo
Lo que descubrí es que existe una relación inversa entre cuán sucinto y “mágico” es un marco y cuán fácil es mantener y escalar la aplicación en un entorno de desarrollo ágil. Por ejemplo, Angular proporciona una gran cantidad de construcciones ingeniosas listas para usar que le permiten crear funcionalidades complejas rápidamente utilizando mucho menos código (en comparación con un marco como Backbone e incluso React). Descubrí que esto tiene el costo de renunciar a la propiedad y la simplicidad de su lógica a la magia del marco, lo que hace que sea mucho más difícil iterar y desarrollar la funcionalidad en el futuro.
Para responder qué tan “limpio” es el código es difícil porque puede significar cosas diferentes para diferentes personas. Algunos consideran que el código limpio es conciso y hacen todo lo posible mientras usan lo menos posible. Personalmente, considero un código limpio para demostrar claramente la propiedad de la vista, usando la menor magia posible para lograr la funcionalidad deseada, incluso si tiene el costo de escribir más código.
- Si quiero convertirme en desarrollador web y trabajar para el desarrollo web, ¿qué debo aprender y dónde puedo comenzar?
- Tengo 20 años. ¿Debo aprender a hackear o ir al desarrollo web? Estoy asistiendo a cursos de CS en Italia. Estoy dispuesto a poner todo mi esfuerzo para lograr ambos.
- Quiero ser desarrollador web, ¿por dónde debería comenzar?
- Tengo una base de datos de información de usuario de mi sitio web. ¿Cómo puedo vender esos datos para financiar mi sitio web?
- Hago desarrollo web. ¿Cómo puedo obtener más clientes?
Para usar un ejemplo de la publicación del blog, considere el siguiente fragmento de Angular:
Ahora como usted, ¿ quién es el propietario de la (s) vista (s)?
En el ejemplo anterior, hay 4 controladores diferentes. La mitad está explícitamente administrada por el desarrollador, y la otra mitad está creada implícitamente por Angular para facilitar su control mágico sobre el estado y el DOM.
La propiedad , al igual que el estado , es difícil de administrar y predecir en un marco como Angular. Sus enlaces bidireccionales lo convierten en una opción atractiva en primer lugar, pero con una amplia experiencia y construcción de directivas y componentes personalizados, la magia oscura del bucle de resumen y las llamadas de vigilancia dificultan la gestión de la creciente cantidad de lógica que se desarrolla bajo capucha.
Para concluir, no hay bala de plata. Ni React ni Angular resolverán todos los problemas que encontrará y serán la solución perfecta para su aplicación web. Tendrá que comprender sus prioridades en cuanto a la creación de la aplicación web, ya sea mantener una base de código grande con múltiples desarrolladores o crear rápidamente prototipos de funcionalidad, y elegir la herramienta que mejor se adapte a sus necesidades.
[1]: Harry Potter y el marco mágico