Escribo aplicaciones Java empresariales y servicios web en el trabajo ( Spring , Hibernate, Maven, RESTEasy) y PHP (CakePHP) y Python (Django) para mis proyectos paralelos.
Si bien veo el valor que aporta la Inversión de control, la Programación orientada a aspectos, etc., que Spring aporta, no estoy seguro de cómo las aplicaciones web masivas que no están en la pila de Java se gestionan sin un marco como Spring.
Entonces, ¿los desarrolladores solo tienen que "soportar" componentes estrechamente acoplados y otras quejas que Spring elimina o me falta algo?
Para aquellos que no están familiarizados con Spring, las características que más utilizamos son:
Inversión del contenedor de control: configuración de componentes de la aplicación y gestión del ciclo de vida de objetos Java,
Programación orientada a aspectos: permite la implementación de rutinas transversales,
Gestión de transacciones: unifica varias API de gestión de transacciones y coordina transacciones para objetos Java.