Qué hay geeks?!
Vamos a ver que es un framework y que ventanajes tiene.
Hoy en día en el mundo de la programación, esta muy de moda el uso de distintos frameworks para realizar nuestros desarrollos, pero,
¿Qué es un framework?
Un framework no es más que un entorno de trabajo (marco de trabajo) en el que existen un conjunto de conceptos, prácticas, diseño o arquitectura estandarizados.
De esta manera, resulta mucho más fácil estructurar tu proyecto, reutilizar código y facilita enormemente que una persona externa al proyecto, pueda incorporarse y entender como está distribuido o bien entrar en el grupo de desarrolladores.
Cuando utilizas un framework, te adaptas a la estructura o esquema que te proporciona para le desarrollo o implementación de la aplicación. Usas sus funciones ya hechas, su estructura, en definitiva, te ayuda a estructurar tus desarrollos, a preocuparte en tu código y dejar de lado cosas que deberían ser ‘básicas’ como por ejemplo, el sistema de autenticación de usuarios.
¿Qué ventajas proporciona un framework?
- No es necesario pensar como vas a estructurar tu aplicación, simplemente, usas e introduces tu código a medida que lo vas necesitando dentro del Framework.
- Gracias a que los utilizan muchos programadores, existen un sin fin de librerías, tutoriales, documentación y funcionalidades para cada framework. Cada problema o duda que tengas, seguramente puedas encontrar la solución e incluso, una funcionalidad concreta que necesites, seguramente ya esté desarrollada y solo necesites adaptarla.
- Como indique antes, facilita que otro programador entienda el proyecto, sepa donde puede estar cierta funcionalidad o pueda hacer desarrollos evolutivos sobre la aplicación con un cose muy bajo. Esto evita el tedioso trabajo de coger le código de otro programador y tener que entender como lo ha estructurado y donde ha ido colocando el código y por que.
¿Y.. qué framework utilizar?
Bien, creo que esta es la pregunta del millón. No existe una respuesta exacta, no hay un framework definitivo y quien diga lo contrario es que no tiene mucha idea de este mundo.
Algunos de los más importantes son:
Es cierto que hay grupos de framework más orientados a ciertas funcionalidades ó son más recomendables para ciertos tipos de aplicaciones. También, como en otros ámbitos, hay algunos que están de moda.
En mi opinión, el mejor framework del mundo es aquel con el que te encuentres cómodo. Aunque son de la opinión de que es bueno conocer distintos lenguajes para poder valorar y saber cuando usar uno u otro, a la hora de decidirte por un framework, te recomendaría:
- Que esté escrito en un lenguaje que conozcas y estés cómodo
- Identificar cual es el ámbito de tu aplicación y adaptar así el lenguaje y el tamaño del framework. Por ejemplo, para montar un servicio muy simple para una API, quizás no sea necesario utilizar un framework muy potente y con muchas funcionalidades ya que no las vas a usar y te penalizará en el rendimiento y uso de recursos.
- La documentación y la comunidad. Quizás, este sea uno de los puntos más importantes si no el que más. Por mucho que el framework esté escrito en en lenguaje que te gusta y que estés muy cómodo, tendrás mil preguntas y problemas. Tener una comunidad activa y una buena documentación es fundamental. En mi caso, esto me ha hecho decantarme más de una vez en mis decisiones. A modo de ejemplo, un framework con una documentación muy completa y fácil de leer es Laravel.
- La sintaxis del framework es muy importante. Cada vez más, se busca lo simple, hacer más con menos, como dice Jquery, Write Less, Do More. Además, es muy interesante que los comandos sean casi como escribir es decir, que si lees el código entiendas lo que hace, por ejemplo1234567<?php// Imaginemos que tenemos un objecto de tipo user y queremos acceder a los// mensajes que tenga, pero solo queremos los que no ha leido y además queremos// los resultados paginados a 10. En Laravel sería algo así$usuario->mensajes->where('leido', false)->paginate(10);<?
- Y sobre todo, que te guste, que disfrutes escribiendo en él.
En definitiva….
Si no utilizas un framework en tus desarrollos, sea el que sea, plantéate empezar a utilizar uno. Al principio parecerá que el desarrollo se complica, la curva de aprendizaje hace que al principio, el coste inicial, sea superior, pero pronto descubrirás que no es así, medio largo plazo, el desarrollo y mantenimiento es mucho más.