La ventaja de los framework

Estándar

Hola a todos!

Primero de todo, FELIZ NAVIDAD y FELIZ AÑO (con retraso :P)

Hacía mucho que no escribía por aquí y os tenía un poco abandonados pero os aseguro que las excusas razones son buenas. El motivo es que estoy liado con un proyecto que tengo en mente desde hace algunos meses y ahora estoy empezando a darle un poco más de caña (ya os hablaré, espero en breve, de él) y me estoy dando cuenta de lo que os voy a hablar hoy: LA VENTAJA DE USAR FRAMEWORKS.

Algunas personas ya han hablado de ello (por ejemplo César en http://www.alzado.org/articulo.php?id_art=798 acerca del uso de Drupal) pero no obstante quiero hacer hincapié en que REALMENTE ES CIERTO eso de que se es mucho más productivo usando frameworks. En mi caso estoy usando Symfony y os he de confesar que por el momento estoy muy contento.

Los detractores de los frameworks dicen cosas como “usar frameworks es más lento”, “yo prefiero controlar como funciona todo”, “para que me voy a molestar en aprender un framework de un lenguaje si ya domino ese lenguaje y me es más rápido hacer las cosas en ese lenguaje”, “voy a tardar más aprendiendo ese framework que lo que tardo yo en hacerlo a mano”… a lo que respondo a todo rotundamente NO.

  • Usar framewoks es más lento? Pues no, es como todo, necesitas saber como configurar las cosas para que funcionen de forma más óptima y en muchos casos esa configuración ya viene por defecto así que… esa excusa NO SIRVE.
  • ¿Control sobre el funcionamiento? Tampoco sirve. Bien es cierto que los frameworks como Symfony nos abstraen de ciertas cosas o funcionalidades, pero lo que pretenden es hacernos la vida más fácil a cambio únicamente de tener que conocer un poco la forma de trabajar que tiene. Además, en sentido estricto, SIEMPRE tenemos que saber como funciona todo tanto en caso de que estemos realizando un proyecto solos, como en caso de que lo estemos realizando con otra persona y mucho más si se trata de un proyecto de alto nivel o en el que participan muchas personas.
  • ¿Rapidez? Es una verdad a medias, es decir, está claro que nos es más cómodo hacer las cosas como estamos acostumbrados a hacerlas. Si ya domino PHP ¿para qué me voy a molestar en aprender Symfony? Claro que a priori puede parecer más rápido.Seguramente (al principio) tarde más en hacer algo con Symfony que en hacerlo con PHP, pero debemos ir más allá y pensar… bien, si tengo pensado realizar mas proyectos para web ¿por qué no me molesto en aprender ésto que la gente dice que es tan productivo?. Sí, posiblemente tarde 10h en empezar a dominar la creación de formularios en Symfony (por poner un ejemplo) y habría tardado 2h en hacerlo con PHP pero ¿y luego?… pues como ya lo sabré hacer la siguiente vez tardaré diez minutos en hacerlo mientras que haciéndolo con PHP a mano tardaré siempre lo mismo…. siempre tendré que añadir los campos, las validaciones, relacionarlo con su tabla de base de datos,…. Así que REFUTADISIMO.

En lugar de eso yo animaría a la gente a usar frameworks por algunos de los siguientes motivos:

  • Potencia. Como hemos dicho los frameworks son muy potentes. Nos ahorrarán muchísimo tiempo de desarrollo a la larga mientras que haciendo las cosas a mano el tiempo que tardemos será siempre lineal y no podremos mejorar la productividad.
  • Actualización. Con un framework nunca estamos desactualizados.Hay muchísima gente que esta constantemente desarrollando nuevas funcionalidades (no únicamente del equipo de desarrollo del framework sino usuarios que en un momento determinado necesitan cierta funcionalidad y cuando la tienen desarrollada la comparten). Aferrarse a un framework es garantía de futuro, desarrollarlo uno mismo (según con que objetivo, si no tenemos pensado cambiar mucho la aplicación es totalmente válido) es garantía de “estancarse”
  • Aprender a hacer las cosas correctamente (best-practices). MVC, patrones de diseño,… ¿te suenan? Muchos de éstos frameworks (por no decir todos) emplean multitud de patrones de diseño. Al respecto recomendaría personalmente por mi experiencia usar un framework acorde a lo que queremos desarrollar. Si vamos a desarrollar una aplicación web quizá sea mejor usar un framework que integre todas las capas, si vamos a desarrollar un backoffice quizá sea mejor usar frameworks por separado como Hibernate, Spring, JSF,…

Espero que éste artículo sea útil para los que os encontráis indecisos al respecto y os anime a USAR FRAMEWORKS.

Anuncios

2 comentarios en “La ventaja de los framework

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s