jueves, marzo 05, 2009

De regreso del Open House en Madrid.

Ya lo sé, ya lo sé prometí 4 artículos mensuales en el blog, en Febrero no hubo nada, pero tranquilos que ya estoy de vuelta con muchos artículos bajo el brazo que iré publicando conforme vaya terminándolos.

Estuve ausente el mes de febrero por nuestros tradicionales cursos en San Sebastián (Donostia) del 22 de Enero al 1 de Febrero, llegué unos días antes porque me hacía ilusión asistir a una tradicional fiesta donostiarra: La tamborrada del día de San Sebastián el día 19 de Enero.

La nueva oficina de Geroa .... uffffff.... preciosa, estupenda, elegante, sofisticada, vamos a la altura como siempre, nuestra nueva sede para cursos: Oartsoaldea con unas instalaciones pa' morirse de la envidia, vamos que como dice JM García, esta año nos superamos.

Este año en nuestros cursos presentamos la manera de hacer aplicaciones WEB con Xailer, el truco es muy similar a como se hace con el modo híbrido que comentaremos mas adelante, en este momento estamos desarrollando una serie de clases para apoyar el desarrollo rápido de aplicaciones CGI usando Xailer y todos sus componentes de programación.

Después de los cursos, a los cuales asistieron además del personal de Europa, los amigos Leandro y Manuel de Venezuela, y después de la sidrería, un ciclón en Donosti donde vimos volar perros, farolas, semáforos y después del intrépido rescate de una damisela en apuros por parte de nuestro campeón JM García, el siguiente punto en el viaje como siempre: Madrid.

Este año tenía las ganas, pero no mucha intención de pasar unos días en Madrid, con el tema de la crisis y el Euro por la nubes el presupuesto se reduce y los días extras que suelo tomarme también, sin embargo gracias a la empresa Megas Internet que me solicitó una asesoría en programación en (x)Harbour, el viaje a Madrid se hizo realidad.

Con el presupuesto recortado, entonces lo mejor fue olvidarse del avión y usar el tren.... el resultado: maravilloso, tenía muchos años de no viajar en tren, si mal no recuerdo la última vez que lo hice fue un viaje de Valencia a Madrid, hace como 5 años en un increíble (para mí) tren Alaris. Esta vez fue un Alvia y un trayecto de 5 horas que se pasan volando porque el tren es comodísimo, tienes una cafetería, te ponen películas, y tienes un contacto eléctrico debajo del asiento para ir trabajando con tu laptop (y mucha gente lo hace), lo único que le falta para ser perfecto sería tener internet a bordo, pero eso se soluciona gracias a los servicios 3G de Vodafone de prepago, por solo 108€ (69€ del modem usb con tarjeta SIM + 39.00€ del servicio ilimitado por 15 días), para personas como yo, que tenemos que estar conectados casi todo el tiempo, es fenomenal, no es un gasto, es una inversión, además el modem me va a servir en futuras visitas y solo tengo que pagar el servicio de conexión.

Realmente tenía muchísimas ganas de ir a Madrid por una cosa: El Open House de Xailer.

Y vaya que mereció la pena, Jose e Ignacio están dejando niquelada la versión 2.0 de Xailer, el amigo José Manuel Serrano me mostró el modo "hibrido" de Xailer, y Bingen y Juajo, me dejaron patidifuso con el control que tienen de FastReports con Xailer y eso que me perdí medio día del Open House porque tuve que atender asuntos personales por la mañana del sábado.

Pero vayamos por partes:

Viernes, con un frío que pelaba (2 grados centígrados en la calle) lluvia intermitente y alerta de nevada en Madrid, comenzamos el Open House que prácticamente fue para mí y otros 2 colegas, vaya lujo, tener al padre de la criatura para preguntarle todo lo que yo quería..... bien bien bien.

Gracias Ignacio por aclararme un montón de dudas que tenía con respecto a DataSets, como te comenté le he metido mano al ADSDataSource y estoy en vías de dejarlo fino.

Por otro lado lo mejor del día: El modo híbrido de Xailer.

....pero .....

¿ Qué es el modo híbrido de Xailer ?

El buen amigo José Manuel Serrano, que cómo le gusta enredar en sus ratos de ocio, descubrió que ¡¡¡¡ Xailer acepta la compilación de programas para MS-DOS puro !!!!.

Es decir, que tu tomas tu programa Clipper como lo tienes, abres tus PRGS con el IDE de Xailer, haces unos cambios en los módulos de arranque de Xailer (son 2 líneas de código) y agregas la librería de la terminal consola a tu proyecto Xailer y ....... voila !!!!!, te sale un programa en MS-DOS compilado con Xailer.

Vaya gracia, pero si ya existe el XEdit para compilar programas en modo consola con xHarbour... ¿ Para que quiero compilarlos con Xailer ?

Pues muy simple, porque con Xailer puedes hacer uso de todas la herramientas del IDE, depurador incluído, así es, puedes usar el depurador gráfico de Xailer para hacer debug de tus programas (x)Harbour en modo consola.

Lo mas sorprendente no es esto, lo increíble es que puedes mezclar código MS-DOS con código Windows y hacer un programa "hibrido" es decir, que dentro de un mismo achivo EXE vayan trozos de código en MS-DOS y trozos de código que utilicen los recursos gráficos de Xailer, como los formularios, controles, DataSets, motor de informes, etc.

Esta técnica sería útil por ejemplo para migrar rápidamente un programa Clipper MS-DOS a xHarbour 32 bits: Creas un proyecto en Xailer, haces las modificaciones al módulo de carga, que como comenté es simplemente añadir 2 líneas de código tal cual se explica en Xailer.Info, ya que el código permanece sin cambio, sin embargo, el problema de los informes MS-DOS quedaría en el aire, ya sabemos que las impresoras gráficas, laser o inyección de tinta no se llevan precisamente bien con los reportes hechos con Clipper, y las impresoras USB definitivamente no van, pues bien, usando el modo híbrido de Xailer, puedes hacer tu interface en Ms-DOS y luego, dentro del mismo EXE, usar el motor de informes de Xailer para generar bonitos reportes gráficos que se ejecutarán en cualquier impresora Windows, y además exportarlos a PDF o a Excel directamente, ya que motor de reportes de Xailer te permite hacer la exportación directa.

De momento el modo híbrido está en período de experimentación, es "uselo bajo su propio riesgo", estoy preparando un artículo con un ejemplo para ver mas en profundidad como se puede sacar mayor provecho de esta característica de Xailer.

Sábado, día 2 del Open House, un día estupendo con sol que invitaba a un paseo por Madrid, aún a 10 grados centígrados con un viento helado, pero yo tenia un compromiso personal por la mañana y me uní a los participantes por la tarde, como siempre un gustazo ver a Bingen, Juanjo, Paco Viru, JM García, a David (no me llama, no me escribe, no me habla), amigos de toda la vida.

Pero pasemos a lo interesante del Open House:

Xailer 2.0:

¡ OMG ! Xailer 2.0 tiene nuevas características operativas que lo hace muy apetecible para el desarrollador de software, se han añadido nuevas características y mejorado otras tantas, veamos:

En el editor de código se añadió el IntelliType, es decir, tu tecleas una función de xHarbour en el editor de código de Xailer, y te aparece un Tooltip con la sintaxis correcta de la función, he estado probando esta característica personalmente durante las 2 últimas semanas y ahorra muchísimo tiempo al no tener que ir a buscar información a la ayuda de xHarbour.

Por sugerencia de Jose Manuel Serrano, se agregó un atajo muy interesante en el inspector de objetos, un simple Ctrl+* sobre una propiedad en el inspector de objetos, genera en el editor de código una expresion del tipo objeto : propiedad := valor en el inspector, realmente muy interesante.

Por otro lado la versión 2.0 d Xailer permite crear DLLs que realmente funcionan (otros productos no pueden generar DLLs), los DLLs de Xailer pueden contener tanto código como recursos, y por supuesto formularios, una DLL creada en Xailer solo puede ser usada por programas Xailer, ya que depende del Runtime de xHarbour, así como de las funciones "base" de Xailer, que van dentro del programa EXE, pero presenta una ventaja adicional:

!!!!! Te permiten crear componentes visuales para Xailer !!!!!

En la versión 1.9x se proporcionó información de como crear tus propios componentes gráficos con Xailer, para la versión 2.0, y de la mano de ambas tecnologías, la creación de Dlls y la capacidad de crear componentes visuales, puedes crear tus propios controles e INCLUIRLOS EN LA BARRA DE HERRAMIENTAS DE Xailer, tal cual se explica en estos artículos de Xailer.info

Otra característica nueva de Xailer 2.0 es la herencia visual.... eso si que es una PASADA, cuando Ignacio lo explicó se me fue la mandíbula al suelo:

Escenario: tienes varios formularios que básicamente contienen los mismos controles, y es algo tedioso tener que diseñar y rediseñar y rediseñar un formulario que ya hiciste antes simplemente porque necesitas quitar o poner controles adicionales, la herencia visual consiste en crear un formulario "base" y heredar de el otros "sub formularios", agregar o quitar los contorles que necesitas y listo, menos trabajo para el programador. Al ser una característica de la programación orientada al objeto, los cambios que hagas en el formulario base, son heredados automáticamente a los subformularios.... simplemente IMPRESIONANTE.

La herencia visual también puede servir para cambiar el tipo de formulario, por ejemplo puedes crear un formulario estandar de Xailer, y en vez de heredarlo de la clase TForm, heredarlo por ejemplo de TFolderPage e incrustar ese formulario directamente en una pestaña de un folder, en fin, las posibilidades son amplias.

FastReports:

Para cerrar el día, Bingen y Juanjo nos presentaron la integración de FastReports con Xailer.

FastReports es un poderoso generador visual de informes que originalmente nació para el mundo Delphi pero que puede usarse sin ningún problema con (x)Harbour.

FastReports, no tiene nada que envidiarle a otros productos similares como Crystal Reports o List & Label, excepto la complejidad de instalación, ya que es un solo DLL que tiene que ir en la misma carpeta donde va tu EXE, tampoco les envidia el tamaño porque la DLL solo mide 3 megas y mucho menos el precio, la versión completa con soporte para (x)Harbour es de solo 300€, y puedes distribuirlo libremente con todas tus aplicaciones.

Sergey, Spirin un estupendo programador ruso, quien hizo una clase que te permite "conectar" FastReports nativamente con (x)Harbour, con lo cual tienes control absoluto de la DLL de FastReports por medio del motor de objetos de (x)Harbour.

La DLL contiene tanto el diseñador visual, como el motor de vistas previas, además el diseñador visual soporta conexiones a DBFs, o a tablas SQL via ADO, las cuales pueden ser "alimentadas" al diseñador de FastReports en tiempo de ejecución desde el código fuente Xailer.

Por otro lado, el motor de vista previa se alimenta de los datos que TU LE ENVIES DESDE CODIGO FUENTE, pero lo mas sorprendente es que la DLL de FastReports puede "extraer" datos de tu programa EXE, es decir, desde tu reporte FastReports puedes llamar y ejecutar cualquier función o variable que esté definida en tu programa Xailer.

El motor de vista previa es totalmente configurable desde tu programa y exporta a 11 formatos distintos entre los que se encuentran por su puesto Excel, Word, JPG, PDF, correo electrónico, etc. cada motor de exportación se puede manipular individualmente lo que te permite exportar directamente los reportes sin necesidad de pasar por la vista previa.

Bingen y Juanjo han mejorado la clase de Sergey para que pueda "interpretar" los datasets de Xailer y poder presentarlo dentro del diseñador visual de FastReports para que puedas elegir los campos directamente de un DataSet de Xailer.

También han creado toda clase de informes distintos, desde los tipicos listados, hasta cosas mucho mas complejas como la impresión de cheques bancarios, o reportes con imágenes guardadas en campos BLOB de la base de datos..... simplemente increíble.

Estas son algunas fotos del evento:



Bonita foto de los asistentes tomada por JM Garcia:



Y una vista general de la presentación:





Como me comentó el amigo José Luis Capel.... no vale la pena comparar a Xailer con otros productos gráficos para (x)Harbour porque ninguno tiene nada que hacer frente a él, ni FiveWin (que por cierto..... casi 3 meses y del IDE nada de nada.... Odio tener razón) , Visual xHarbour es lo mas aproximado pero aún está a AÑOS de llegar a tener lo que Xailer tiene hoy en día. La comparación mas justa de Xailer sería con productos mas grandes, como Visual Basic. Delphi, etc, porque hoy por hoy Xailer ya es un producto grande.

Hay que mirar siempre hacia adelante, y equipo de Xailer esta haciendo muy bien las cosas, FELICIDADES.

3 comentarios:

Anónimo dijo...

Buenas.

Espero con ansia el tema de xharbour modo consola en Xailer.
Yo como mucha gente nos sobra con xharbour pero tiene alguna pega que al integrarlo con Xailer pudiera solucionarse. (la mayor es la salida a impresoras windows sin necesidad de zarandajas intermedias)

Gracias

Un saludo

Eduardo Martin
España

Anónimo dijo...

Sí, impresionante, acojonante y todo lo que tu quieras.. pero ¿para cuando ese manual sobre Xailer que prometiste hace ya ni me acuerdo..? A ver si te va a pasar lo mismo que al IDE de Fivewin, mucho prometer y luego agua de borrajas. ¿ No será que no te salen las cuentas y que el número de futuros compradores no llega ni a los dos dígitos?

Rene Flores dijo...

Anonimo:

Yo comente que estaba escribriendo un libro para Xailer, pero nunca dije que lo iba a publicar, ese topico ya se toco en otro tema, donde también descartamos la posibilidad de hacer una distribución del mismo.

Por otro lado tienes razon en lo de los números, no sale a cuenta, y por lo mismo anticipo aquí publicamente que no habra por nuestra parte un libro IMPRESO de Xailer, y que el material que desarrollemos se repartirá unicamente a la gente que tome los cursos con nosotros.

Tenemos 15 años en el negocio de la formacion Xbase y en la publicación de contenido técnico, y se perfectamente como moverme para que los numeros salgan, y definitivamente la publicacion de un manual impreso de Xailer no se hará.