lunes, 23 de diciembre de 2013

Mi primera app Android escrita en pascal.

Quisiera compartir mi experiencia en la construcción de una aplicación para Android muy simple.

Mi aplicación tiene 3 pantallas, la pantalla principal , la pantalla de datos y pantalla de configuración. Eso sólo se conectan a un servidor de RO construir con delphi y trabajando ver bien desde algunos como 5 años , creo.

Tengo que hacer una decisión de diseño . Que usar? Tengo una herramienta familiar con tantos cambios de menor importancia que pueda hacer una aplicación en la hora , y por otro lado tengo Oxygene , una buena herramienta, pero que requiere una gran cantidad de conocimiento de Java y los secretos de Android .

Podrán entender fácilmente mi decisión inteligente fue Delphi.

Entonces, a empezar!

Diseñar la interfaz de usuario ha sido fácil , muy fácil. En unas horas tengo toda la interfaz de usuario y el comportamiento básico. Observo algunos errores aquí y allá , pero mi aplicación estaba funcionando. Eso fue impresionante y era muy feliz de tener una aplicación android trabajando sin saber nada de Android!

El paso siguiente fue conectar con el servidor de Delphi . El problema principal era la falta de apoyo de RO a Delphi móvil.

Debo utilizar SOAP para esto. Después de algunos problemas, resueltos por Team de RO , me pongo en marcha.

Ok , es hora de probar ! La aplicación comienza a tener algunos errores , cerrarse de la nada sin ningún mensaje , se estrelló aquí y allá ... No puedo conseguir que funcione más de 2 horas en mis pruebas.

Intento todo para simplificar aún más la aplicación , utilice hilos para asegurarme de que no se sobrecargue ,  todo lo que puedas imaginar. No hubo suerte . Siempre sale con errores relacionados con los hilos , gráficos, etc, en su mayor parte de las veces.

¿Qué hacer? Mi aplicación debe ejecutarse en modo 24x7 kiosco , no puedo liberar algo tan  inestable. No puedo encontrar una solución allí, siempre cerca de la señal 11 , el funcionamiento de puntero no válido o error en los canvas.

Ok , vamos a tratar de hacer algo , no con la misma calidad , creo , pero correr para probar Oxygene estabilidad.

Mi aplicación estaba listo en 2 días, y hace todas las cosas que necesito. La dejo ejecutando días con prueba de esfuerzo, y el resultado fue una aplicación muy estable , conectandose utilizando canales RO estándar , que reincida el equipo android si no encuentra el servidor a la hora determinada , y tienen 150 Kb (vs 15 mb en Delphi)

Mi conclusión:

El proceso de trabajar en Oxygene fue increíble. Tenía un montón de prejuicios antes del arranque. La necesidad de conocer java y Android por ejemplo, pero la realidad el completado de código, gendarme y oxidizer hace la mayor parte del trabajo y todas las preguntas relacionadas con android se resuelven con una simple búsqueda en google .
Lo mismo para la interfaz de usuario , el trabajo fue rápido y fácil al ajustar mi interfaz de usuario mediante editores externos y ajuste de XML a mano cuando sea necesario. Incluso en el último tiempo, ya no uso los editores y añadí algunos controles a mano.

Soy un amante de delphi , amo delphi y yo he sido un amante de delphi durante años. Aquí todo el mundo lo sabe , yo incluso estuve muy contrariado a la idea que viene de RO de no permanecer compatible con móviles delphi, y siento que es como una traición .

Ahora tengo que decir que FM no está listo todavía , y hasta cuándo va a estar listo si sucede algún día, es una opción muy diferente ( no quiero decir inferior ) que la oferta Oxygene . Ahora entiendo por qué mh se queja mucho de lo que la FM tiene que ofrecer y por eso la mejor manera de ir es Oxygene .

Espero que no se pierdan mis amigos de la Comunidad delphi pero siempre ser honesto y yo no pienso dejar de ser honesto ahora .

Es bueno tener opciones y tal vez en una próxima versión de Delphi estará listo para una experiencia más estable.

Enjoy!

martes, 18 de mayo de 2010

Lazarus en OS X (versión corta)

Pasos simples para tener la última versión de lazarus funcionando en Mac OS X

Se requiere Mac OS X 10.6.2

about_mac_os

1) Instala XCODE completo desde la página de APPLE (requiere registro gratuito).

2)Instalar FPC desde aquí .

mac_download_fpc

3)Bajate los fuentes de lazarus trunk, compile y ... listo!

pasos para compilar:

Abre una terminal

ir al directorio devs

cd /Developers

svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

cuando termina

cd /Developers/lazarus

make clean all

./startlazarus



Enjoy.

domingo, 21 de febrero de 2010

Librerías DCPCrypt para 64 bits disponibles.

La mejor librería para encriptado y desencriptado en delphi y lazarus esta disponible para 64 bits ahora. Por el momento solo para lazarus/fpc debido a que embarcadero no ha lanzado un compilador de 64 bits.

Gracias a el increíble trabajo de David Barton, el creador de estas librerías, podemos encriptar y desencriptar lo que sea a velocidades superiores, utilizando la potencia de los 64 bits/

Puede descargarse aquí

Gracias David!

Enjoy!

domingo, 3 de enero de 2010

Feliz Año Nuevo! FPC 2.4.0 esta aqui!

Anuncio de Marco van de Voort en la lista de lazarus:

"Feliz año nuevo!

Como un regalo epecial, estamos complacidos en anunciar un "major release" del compilador libre para pascal version 2.4.0 en nuestros servidores ftp.

Cambios que podrian causar incompatibilidades con código previo estan documentados aqui:
http://wiki.freepascal.org/User_Changes_2.4.0 (ingles)

Descargas disponibles aqui:

Servidor principal FTP

ftp://ftp.freepascal.org/pub/fpc/dist/2.4.0/

y

ftp://freepascal.stack.nl/pub/fpc/dist/2.4.0/"

Esta version del compilador es la mas compatible con Delphi en la historia. Excelentes noticias para los desarrolladores de Delphi que estan necesitando versiones para otras plataformas como Mac Os y Linux.

Enjoy!

miércoles, 23 de diciembre de 2009

Los formularios de Lazarus(FPC) son mas compatibles que nunca con Delphi.

Empezando con la version 2.5.1 de FPC, lazarus and FPC permiten almacenar los formularios en el formato LFM sin la necesidad de los MOLESTOS archivos LRS.

Este cambio permite migrar facilmente un formulario Delphi a Lazarus.

Prereqs:

Versión trunk de Lazarus.
Versión trunk de FPC. (Los he testeado con la versión 2.5.1, desconozco cual es la versión mínima de FPC requerida).

Los pasos son:

1) Ir a Opciones de Proyecto, tab miscelaneos y seleccionar recursos FPC.

2) Copiar el archivo dfm a uno con extensión lfm.

3) Abrir el archivo extensión pas relacionado en lazarus.

4) Buscar la referencia en el código al archivo dfm y reemplazar por el siguiente código

{$IFDEF LCL}
{$R *.lfm}
{$ELSE}
{$R *.dfm}
{$ENDIF}

5) Buscar la sentencia que incluye el archivo *.lrs en la sección de inicialización de la unidad y removerla.

6) HIT F12 (para ver el archivo lfm).

7) Es posible ignorar las advertencias sobre propiedades inexistentes, o no presentes en lazarus. Sin embargo esto es verdad para la mayoria de los casos. Como usted es un programador serio revisara cada mensaje para evaluar la importancia o no del mismo, verdad? ;)

Guardar.

8) Build. Listo!

Como siempre, no olvide agregar las unidades necesarias a la clausula uses. Me refiero a LclType, LResources,etc).

Enjoy!

jueves, 24 de septiembre de 2009

Librerías de Zeos no funcionan en sistemas de 64 bits.

Ante todo, por favor no llores.

Si eres un escritor de código utópico, y piensas que puedes desarrollar un sistema de base de datos increíble usando lazarus + fpc +zeoslib en un OS de 64 bits, eres un soñador!

Lo descubrí ayer, a las 3 de la mañana, de la manera mas dura, luego de terminar la migración de un servidor Remobjects/DatAbstract. Compilo perfecto, pero ZEOS tiene una pila de errores en 64 bits.

Entonces, mi amigo, continua soñando que existe un mundo mejor, donde las aplicaciones funcionan en 64 bits sin problema, o toma en tus manos el problema y ayuda a los desarrolladores de zeos a abrir sus ojos a este universo de 64 bits (estoy en este mismo momento chequeando con ellos como sacamos este burro adelante).

Después de tantos años con micros y OS de 64 bits en el mercado, siempre encontraras una piedra en el medio de tu camino, es bastante frustrante.

Namaste.

martes, 12 de mayo de 2009

Nominemos a Lazarus para los premios Sourceforge 2009

Esta es otra manera de colaborar con el proyecto.