miércoles, 23 de febrero de 2011

Y mis reportes para PHP?

PHP es un excelente lenguaje de alto nivel, fácil de aprender y por sobre todo free. Podemos combinar PHP en HTML y realizar la presentación de datos como deseamos e incluso hacerlo interactivo con JAVASCRIPT. Cómo he comentado en un post anterior, existen muchos frameworks que facilitan el desarrollo rápido y ordenado, pero a la hora de querer generar reportes esto no es tan sencillo y es complicado de aplicar con éstas herramientas.

Luego de mucho investigar, he encontrado una manera ágil de realizar ésta tarea, se trata de una conexión entre lenguajes, especificamente java y php, mediante una clase hibrida desarrollada entre estos dos lenguajes llamada "php-java-bridge", con la cual realizamos un puente (como su nombre lo dice) para utilizar el java.

Una vez que logremos la conexión con java, utilizaremos un diseñador y un compilador de reportes. Para el compilador utilizaremos el jasper report en su versión free y para el diseñador utilizaremos el ireport que es la herramienta visual para el diseño de reportes especialmente generada para JasperReports.

Puede encontrar las herramientas aquí

domingo, 19 de diciembre de 2010

DIEM


Un excelente CMF (Content Management Framework) / CMS (Content Management System) basado en Symfony, jQuery y Zend.

Es muy flexible, puede adaptarlo a la necesidad que tenga. El desarrollador puede crear sus módulos desde un sólo archivo de configuración y con esto Diem genera el código que nos permite manipular los datos con las operaciones básicas conocidas (CRUD, Filtros, Acciones en Batch) basandose en la estructura del Symfony.

Cuenta con una interfaz de desarrollo muy clara para el frontend, por ejemplo, usted puede hacer un "drag&drop" de los módulos creados e insertarlos en cualquier sección de la página seleccionada, usted puede armar el layout principal utilizando el método citado anteriormente y agregar si desea clases css y javascript propios al desarrollo.

Posee un admin backend muy completo, desde menues organizados por los módulos que se crean, la clase AdminForm que tiene agregados especiales (jQueryUI) para algunos widgets, direccionamiento para la edición de registros que son claves foraneas, google analytics para tener control del SEO, control de usuarios (Grupos, Permisos y Usuarios), una consola que le permite ejecutar comandos de unix y muchos agregados que lo hacen interesante. En síntesis, un CMF completo.

Symfony

Es un framework que utiliza la arquitectura MVC (Modelo Vista Controlador), además incluye componentes y herramientas para que los desarrolladores puedan generar aplicaciones complejas de manera rápida y ordenada.

Olvidarse del php4 no es una opción, creo que es necesario. Con esta herramienta uno puede seguir el código que ha desarrollado sin perderse debido a el paradigma de programación que presenta, además para las transacciones con las diferentes bases de datos soportadas utiliza un método de programación denominado mapeo objeto-relacional (ORM en ingles) para la conversión de datos entre la base de datos relacional y la base de datos orientada a objetos, obteniendo así una abstracción de la base de datos original y todos sus componentes representados como objetos (Doctrine/Propel son las utilizadas por symfony).

No he testeado todos los frameworks php aún, pero el symfony cumple con todos los requerimientos básicos que considero importantes (admin (Desarrollo del Backend) / front (Desarrollo del Frontend) ) y también cuenta con agregados que facilitan el desarrollo.

Enlaces de interés:

  1. Página Oficial de Symfony
  2. Aprende Symfony en 24 Días (En español) 

Empezamos un 19/12/2010

Atrasado con la técnologia me vi obligado a seguirle el ritmo, que tiempo he perdido. En fin, dicen que nunca es tarde para comenzar, así que aquí estamos.

Este blog surge por iniciativa propia, deseo compartir los conocimientos que fui capturando a lo largo de estos 6 años informáticos y exponerlos al mundo. Muchas personas me han ayudado indirectamente a realizar mi trabajo, entonces pienso que también puedo hacer eso con cada publicación que haga y con las que ustedes me corrijan o agreguen.