Los siguientes son cuatro aspectos que considero importantes al momento de elegir un framework – enfocado al desarrollo de aplicaciones web -.
- Lenguaje de Programación
- Hacer una aplicación
- Extender el framework
- Despliegue
Lenguaje de programación
Aunque no es estrictamente necesario que conozcas a profundidad el lenguaje de programación sobre el que está desarrollado el framework, te recomendaría que al menos estés familiarizado. Esto te puede ayudar al momento de implementar funcionalidad que sea propia de tu aplicación o a extender el framework – en caso de ser necesario -.
También puede ser que estés utilizando el framework para conocer el lenguaje de programación. Si este es el caso ten presente que algunos de los métodos y / o propiedades utilizadas – en las guías o tutoriales que encuentres – son los que están desarrollados por el framework en lugar de utilizar los propios del lenguaje de programación.
Hacer una aplicación
Parece irónico que mencione el hacer una aplicación para elegir un framework, si estás eligiendo un framework para desarrollar una aplicación.
La aplicación a la que me refiero es básicamente el patrón CRUD – Crear, Leer, Actualizar, Eliminar -. La finalidad de esta aplicación es conocer el framework sin invertir tiempo en definir la funcionalidad.
Una referencia es TodoMVC donde se revisan distintos frameworks escritos con JavaScript implementando una lista de pendientes – ToDo list -.
En este caso hay que revisar algunas de las tareas que comparten las aplicaciones web – sobre todo aquellas donde el framework está del lado del servidor – para construir nuestra aplicación. Las tareas son las siguientes – pueden variar dependiendo de tus necesidades -:
- Conexión a un Administrador de Bases de Datos
- Relaciones entre las tablas 1:1, 1:M, M:M
- Validación
- Sesiones
- Adjuntar archivos.
- Conexión al servidor de correos.
Extender el framework.
Es conveniente revisar si existen repositorios con librerías o plugins que sirvan para extender el framework o el lenguaje de programación – por ejemplo Composer en PHP o Gems en Ruby -.
Despliegue
Una vez que esté desarrollada nuestra aplicación queremos mandarla a producción, hacer ajustes y actualizarla.
Dependiendo del lenguaje de programación / framework y hospedaje seleccionado es probable que existan librerías que nos ayuden a realizar este proceso – en lugar de hacerlo manualmente. Un ejemplo es Capistrano / caPHPistrano.
Por último
Al tomar en cuenta estos puntos vamos a tener una mejor referencia acerca del funcionamiento de el / los framework(s) elegido(s) y podemos decidir si son buenas opciones para nuestro(s) proyecto(s).