Llevo ya varios días sin publicar nada pero, no os preocupéis, ¡sigo vivo! He empezado a hacer un curso de Diseño de Aplicaciones Web con Patrones Java que me ha vuelto a dar el empujón que necesitaba para ponerme de nuevo con el desarrollo.
En concreto en el curso estamos viendo los diferentes patrones, tanto arquitectónicos como de diseño, para el desarrollo de aplicaciones. Un patrón, en esencia, es una solución en forma de modelo (diagrama de clases e interacción entre ellas) a un situación o problemática típica que se presenta que se presenta muchas veces en el desarrollo de software. Hay patrones para muchas de esas situaciones “tipo”, solo hay que elegir el más adecuado e implementarlo. No nos libra de tener que desarrollar, pero nos viene a decir más o menos cómo hacerlo.
Los patrones los vemos desde la perspectiva de los estándares J2EE para desarrollar en Java. Concretamente en la parte práctica utilizamos el framework de desarrollo web en Java, Apache Struts. Un framework es un conjunto de patrones arquitectónicos y de diseño ya implementados en algún lenguaje, que establecen un entorno y proporcionan las herramientas necesarias para desarrollar un aplicación web más o menos compleja. En concreto Struts utiliza la arquitectura Modelo Vista Controlador para su desarrollo.
En estos días estoy refrescando mis conocimientos de Java, que hace prácticamente 4 años que dejé aparcados. Recuerdo que me gustaba bastante, sobre todo por la manera de abordar los proyectos. Por supuesto Orientado a Objetos, pero ya no solo eso, con algún tipo de metodología tradicional o ágil, con una documentación aunque sea mínima… Me había acostumbrado a la programación de “andar por casa”, a retocar cosas ya hechas con “lo mínimo para que funcione”, a la continua corrección de errores y bugs, a los continuos cambios de requisitos… y claro esto ahora es como ver la luz de nuevo. Pero ya hablaré de metodologías en futuros posts.
Una vez metido en esto de los frameworks de nuevo, me entró la curiosidad de ver qué había sobre esto para PHP. Mas que nada porque lo de Java está muy bien, pero orientado a nivel más “industrial”, debido a los costes. Pues bien, buscando encontré cosas como CakePHP, Zend o Symfony y siguiendo algunos consejos y opiniones por Internet me he quedado con este último.
Y ahí ando, de momento familiarizarme con este framework siguiendo un tutorial diario que describe el desarrollo de una aplicación web en 23 días con Symfony. Una vez familiarizado con su manera de hacer las cosas, Symfony promete un desarrollo rápido de aplicaciones web, de manera modular y bien estructurada, sin tener que estar reinventando la rueda cada vez que empezamos un proyecto. En contrapartida, la aplicación tendrá un mayor consumo de recursos, algo que con las máquinas de hoy en día podemos permitirnos siempre y cuando esté controlado. Algunas voces añaden a esto que tiene una curva de aprendizaje bastante lenta, aunque todo depende si estas acostumbrado a este tipo de frameworks o no ya que de ser así solo tendras que comprender y dominar sus peculiaridades.
En definitiva, me parece un buen punto de partida para el desarrollo de aplicaciones que espero poder utilizar de ahora en adelante en mis proyectos.
Y… el framework este… ¿lleva condensador de fluzo?
Ante semejante alarde de palabras, siglas, etc de las que no entiendo nada, sólo puedo decir….
PARRA PA PA PA PA PA PA PA PA PA
PARRA PA PA PA PA PA PA PA PA PA
PARRA PA PA PA PA PA PA PA PA PA
Por hacer el tema un poco más llevadero:
La palabra inglesa framework define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular, que sirve como referencia para enfrentar y resolver nuevos problemas de índole similar.
En el desarrollo de software, un framework es una estructura conceptual y tecnológica de soporte definida, normalmente con artefactos o módulos de software concretos, en base a la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros programas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio. Provee una estructura y una metodología de trabajo la cual extiende o utiliza las aplicaciones del dominio.
De todas formas, para los no iniciados en esta material, alguna ilustración de tipo lúdico-festivo entre párrafo y párrafo hubiera hecho el asunto algo más digerible.
Lo que RL quiere decir es que una foto de Elsa Pataky habría hecho que tuvieses seguro más visitas, jeje
Vale, es un ladrillo, pero vete tu a saber si alguno buscando en google encuentra esto y lo ilumino… jajaja
Pues también es verdad!!