Introducción
En este manual podrás conocer de que se trata el framework Flexmind®.
Origen y Objetivo
flexmind® es un framework desarrollado por SOEM desde el 2010 teniendo su primer versión cerrada en Enero del 2011. El mismo introduce un nuevo paradigma en programación basado en componentes que crean estructuras en tiempo de ejecución.
El objetivo principal del flexmind® es facilitar y agilizar programación de sistemas, brindando herramientas para la rápida generación y actualización de módulos. Así mismo, busca ofrecer una interfaz estandarizada, veloz, amigable y sencilla al usuario final.
Por que usar un framework?
- Patrones de diseño
Los patrones de diseño nos ayudan a encontrar soluciones efectivas a problemas comunes que se nos presentan en el proceso de desarrollo de nuestras aplicaciones web, estos patrones nos presentan esquemas para definir estructuras de diseño para la construcción de aplicaciones. Esto permite estandarizar el desarrollo de aplicaciones, mejorando la usabilidad de los mismos - Evitemos reinventar el mundo
Al construir una aplicación desde cero, es muy frecuente encontrarse con funcionalidades comunes y necesarias (inicio de sesión, recuperar contraseñas, envíos de correos, etc) que representan un tiempo mal invertido en el desarrollo de funcionalidades que quizá un framework ya nos lo puede facilitar y de manera mucho mas consistente. No quiero decir que un framework hará todo por nosotros, sino que evitando reinventar el mundo los desarrolladores pueden centrarse unicamente en el desarrollo de funcionalidades específicas y particulares.
Estructura de directorios y archivos
A diferencia de desarrollar aplicaciones con PHP en forma nativa, utilizando un framework se adquiere disciplina siguiendo una linea de convenciones en los directorios y archivos. Esto ayuda a ser mas organizados de tal forma que cuando la aplicación crezca ya sabremos donde estarán situados cada uno de los componentes del mismo.
Seguridad
Una gran razón para utilizar un framework es que puede brindar herramientas integradas como ser validaciones de datos, prevenciones a inyecciones SQL, ataques XSS, CSRF, modificación de cookies, etc.
Rapidez y Buenas prácticas
Es una de las razones mas relevantes de utilizar un framework, la rapidez para construir una aplicación desde la mas básica y hasta poder dotarnos de sólidos pilares para la construcción de grandes aplicaciones, gracias al poder de su núcleo y sumándole su estructura y su manera correcta de escribir códigos, un framework brinda la rapidez y ligereza para realizar aplicaciones web de distintos tipos.
Un framework siempre tendrá como objetivo inculcar buenas prácticas, es decir, tener un PHP bien escrito.
Tecnologías
Lenguajes de programación: HTML, JS, CSS, PHP
Motores de base de dato compatibles: Mysql, Postgresql y Oracle.
Algunas de las librerías incorporadas:
Comparativo
Para tener una "vista preliminar" de las bondades o del poder del framework, a continuación mostramos un resumen de las acciones necesarias para desarrollar un "módulo" simple, en dos tipos de desarrollos. Este comparativo se abstrae de todo el desarrollo del diseño (css, fuentes, etc), estructuras (css, html), base de datos, funcionalidades del núcleo (inicio de sesión, administración de usuarios, etc) de la aplicación, para centrarse en la comparación, a modo de ejemplo, del desarrollo de un módulo cuyo objetivo es:
- Mostrar el listado de alumnos inscritos en una institución educativa
- Gestionar (agregar, modificar y eliminar) alumnos
OPCIÓN A: Utilizando Flexmind | OPCIÓN B: SIN FRAMEWORK | |
---|---|---|
Tiempo de desarrollo | Bajo | Alto |
Conocimiento HTML | Nulo | Medio |
Conocimiento Javascript | Bajo | Alto |
Conocimiento CSS | Nulo | Medio |
Conocimiento PHP | Medio | Alto |
Conocimiento SQL | Medio | Alto |