Kumbia PHP Framework
KumbiaPHP es un framework para aplicaciones web libre escrito en PHP5. Basado en las prácticas de
desarrollo web como DRY y el Principio KISS para software comercial y educativo. Kumbia fomenta la velocidad y eficiencia en la creación y mantenimiento de aplicaciones web, reemplazando tareas de codificación repetitivas por poder, control y placer.
Características
- Sistema de Plantillas sencillo.
- Administración de Cache.
- Scaffolding Avanzado.
- Mapeo Objeto Relacional (ORM) y Separación MVC.
- Soporte para AJAX.
- Generación de Formularios.
- Componentes Gráficos.
- URL amigables
- Seguridad ACL (Listas de Acceso)
- Patrón ActiveRecord para los modelos
- Orientado al público de habla castellana
El número de requisitos para instalar y configurar es Unix o Windows con un servidor web y PHP5 instalado. Kumbia es compatible con motores de base de datos como MySQL, PostgreSQL, Oracle y Otros.
Kumbia intenta proporcionar facilidades para construir aplicaciones robustas para entornos comerciales. Esto significa que el framework es muy flexible y configurable. Al escoger Kumbia esta apoyando un proyecto libre publicado bajo licencia GNU/GPL.
Kumbia es un esfuerzo por producir un framework que ayude a reducir el tiempo de desarrollo de una aplicación web sin producir efectos sobre los programadores.
Historial
Versión | Descripción | Fecha de lanzamiento |
---|---|---|
0.3.2 | Primer lanzamiento | Enero 2007 |
0.4 | Febrero 2007 | |
0.4.4 | Abril 2007 | |
0.4.5 | Mayo 2007 | |
0.4.6 beta | Julio 2007 | |
0.4.7 | Última versión 0.4.x | Septiembre 2007 |
0.5 alpha | Kumbia estrena nueva estructura de directorio | Septiembre 2007 |
0.5 RC1 | Release Candidate 1 | Junio 2008 |
0.5 RC2 | Release Candidate 2 | Septiembre 2008 |
5 RC3 | Release Candidate 3 | Noviembre 2008 |
0.5 Stable | Versión Estable Rev. 731 | Enero 2009 |
0.5.1 | Versión 0.5.1 | -- |
Kumbia nació en un esfuerzo por no esforzarme para hacer las cosas. Puede sonar raro pero así fue. Un día empecé a hacer un proyecto de un sistema de información donde habían muchos formularios y dije: - Esta cosa siempre es lo mismo, así que si yo hiciera algo para no repetir tanto y sólo escribir lo que cambiaba en cada formulario entonces sería más rápido.
Después de haber terminado las funciones para generar los formularios me dí cuenta que habían quedado muy bien y entonces lo empecé ha implementar en otras cosas. Así es que Kumbia nació de una aplicación real y lo puse a disposición de la Comunidad. Mi trabajo era muy independiente del objetivo de sistema de información que se iba a desarrollar con los generadores de formularios, así que me propuse usarlo en otro proyecto. El resultado fue muy bueno, había logrado desarrollar algo más del 70% de un sistema de información en tan sólo unos días. Entonces me puse a organizar las funciones, comentar el código y mejorar la instalación para que pudieran ser usadas en otros proyectos.
En esa época propuse llamar el proyecto AuroraForms, agregué alguna funcionalidad extra y decidí darle propaganda en algunos foros de Internet. Quise darle un tono interesante al proyecto promulgué las facilidades que ofrecía y puse un demo para que otros pudieran comentar sobre él.
Esperaba que mucha gente se interesara, pero lo único que logré fue muchas críticas “constructivas”. El proyecto no tenía documentación así que era como decirles miren lo que sé hacer, pero no les digo cómo usarlo. No era mi intención pero fue un error publicar sin documentar. Igualmente es necesario hacer muchas cosas para crear un proyecto de software libre y no pensé que tuviera que tener en cuenta tantas cosas para que así fuese.
Otro paso importante fue acoger la licencia GNU/GPL en vez de otra, como la BSD o la MIT, que aunque son menos restrictivas no favorecen el movimiento del software libre y eso es algo que quise transmitir con el proyecto.
Pienso que el software libre permite crear el ambiente de colaboración ideal que quería lograr con el proyecto, liberar las ideas permite que otros intervengan y busquen el camino ideal esperando aportar y ayudar con algo que le pueda servir a toda la comunidad.
Buscar la mejor forma de hacer las cosas a veces puede resultar difícil, pues si encontramos alguna, que probablemente parezca la mejor, no siempre es aceptada por los demás y terminan rechazando las ideas que queremos vender, así demos todos los argumentos del caso.
Tiempo después fui contratado para desarrollar un software algo grande y que patrocinaba el esfuerzo de trabajar en Kumbia. El resultado fue muy bueno, siempre me empeño en dar lo mejor cuando trabajo en un proyecto, así que el framework empezó a crecer y la funcionalidad agregada forma gran parte de lo que hoy es como tal.
Trabajar en una aplicación real con características versátiles incrementó la estabilidad y las soluciones creadas para necesidades reales aumentó su funcionalidad. Algún tiempo después fue agregado el proyecto a sourceforge.net/kumbia y esto también ha sido un gran logro para posicionarlo como un proyecto serio y con futuro. Las herramientas proporcionadas en este forge dieron pie para empezar a mejorar muchos aspectos que estuvieron centralizados por mucho tiempo. El proyecto ahora posee muchas características que han ayudado a su crecimiento como por ejemplo los muchos servidores que replican Kumbia en todo el mundo, el sistema de gestión de bugs, el svn y el más reciente dominio kumbiaphp.com.
Muchas personas han sido también fundamentales para levantar este proyecto sin duda, la colaboración tanto en apoyo económico, moral, de desarrollo, motivación a usuarios, testeo de funciones, sugerencias y pruebas han contribuido a lo que es el proyecto hoy como tal. Aun en el auge de las framework's para php y otros lenguajes, Kumbia fue pensado desde un punto de vista muy diferente. Al pasar de los días el objetivo de este proyecto se volvía cada vez más claro. Kumbia debía ser potente como para desarrollar proyectos a nivel empresarial; pero al mismo tiempo sencillo, tanto que hasta alguien que empezara a desarrollar en PHP pudiera adoptarlo como herramienta de trabajo saltándose muchos días de leer y releer tutoriales de principiantes.
Es muy motivante cuando dicen que nuestro trabajo es “fácil de usar”, “práctico” o “útil” ya que se ha logrado satisfacción colectiva. La motivación engranada con el deseo de hacer las cosas bien es algo que busco constantemente.
Pienso que los límites de la computación empezaron a verse muy lejanos cuando el Internet entró en furor, para mí creo que marcó lo que siempre ha sido mi visión de lo que quiero. Programar para Internet es mi constante y la preocupación por aprender y mejorar es el pilar de todo lo que hago para él.
Programar fácil es importante. Cuando escribo código, primero sueño y luego trabajo por ese sueño. Escribo código pensando si esto fuera tan sólo esto, entonces ya hubiera terminado sin hacer casi nada. Luego dedico varias horas para que ese poquito haga todo lo que tiene que hacer sin dañar la fantasía. Luego me dí cuenta que así funciona todo y que muchas cosas nos tocan fáciles por el trabajo soñador de otros.
Depende de la cultura, se pueden rechazar una propuesta cuando parece muy alocada o inalcanzable para el medio en la que se plantea. Encontrar las personas que tengan suficiente experiencia o necesidad para apoyar ideas o contribuir con el mejoramiento de éstas puede ser una larga tarea, pero cuando las encuentras, te motivas a continuar y a mejorar, porque piensas que puede ser útil para alguien más.
Con esta introducción espero se haya interesado por este proyecto que también fue pensado y desarrollado para alguien como usted.
Andres Felipe Gutierrez
Objetivos
Kumbia esta diseñado teniendo en cuenta los siguientes aspectos:
- Ser compatible con muchas plataformas
- Fácil de instalar y configurar
- Fácil de aprender
- Listo para aplicaciones comerciales
- Convención sobre Configuración
- Simple en la mayor parte de casos pero flexible para adaptarse a casos más complejos
- Soportar muchas características de Aplicaciones Web Actuales
- Soportar las practicas y patrones de programación mas productivos y eficientes
- Producir aplicaciones fáciles de mantener
- Basado en Software Libre
El principal objetivo es producir aplicaciones que sean prácticas para el usuario final y no solo para el programador. La mayor parte de tareas que le quiten tiempo al desarrollador deberían ser automatizadas por Kumbia para que el se pueda enfocarse en la lógica de negocio de su aplicación.