Lazarus

En pocas palabras, podríamos decir que Lazarus es un clon opensource de Delphi, pero usando la infraestructura también de código abierto de Freepascal.

En su última versión estable 0.9.30, Lazarus está disponible para diferentes plataformas: Windows x86, Windows x64, Linux x86, Linux x64, Mac OS Intel, Mac OS PowerPC, y UNIX en general.

Lo mejor esto, no es poder desarrollar en cualquier plataforma, y generar un ejecutable para ésta, sino sus capacidades de compilación cruzada (cross-compiling), es decir, desarrollar en una plataforma, y desde ella, compilar para otras.

La librería de componentes de Lazarus, LCL (Lazarus Component Library), ofrece más que lo básico, pero no llega a la altura de la de Delphi XE. Las interfaces, van encapsuladas sobre API de Windows, u otras librerías como Qt o GTK+, lo que permite que sean multiplataforma, pero a costa de unos ejecutables algo más voluminosos.

El IDE, vendría a ser similar al de Delphi 7, es decir, suficiente, aunque sin ser tan funcional como el de versiones recientes de Embarcadero. Lo malo, es que continua con la filosofía MDI de Delphi 1-7, que es bastante confusa si tenemos muchas ventanas abiertas. Lo bueno, incluso comparado con Delphi, es que está totalemten traducido al español. Relacionado con la internacionalización, Lazarus tiene soporte nativo a archivos PO.

Una aplicación con un formulario vacío, genera un ejecutable de 1,9 Mb. en la versión Win64, y de 1,5 Mb. en la versión Win32. Una vez eliminados los símbolos de depuración, y comprimidos por ejemplo con MPRESS, quedan en poco más de 500 Kb. en ambos casos. De nuevo, no está tan pulido como Delphi, pero va mejorando poco a poco.

En términos de velocidad de los ejecutables generados, podríamos decir que están en linea con los de Delphi, siendo a veces algo más rápidos, y otras algo menos. Sin embargo, y a falto todavía de una versión x64 de Delphi, Lazarus es la única alternativa.

La estabilidad en general es bastante justa, y me refiero sobre todo al IDE, ya que los programas generados son correctos. El IDE, acostumbra a colgarse a poco que hagamos cosas de cierta complejidad, y no puedo evitar que me venga a la memoria C++ Builder 4.

A día de hoy, Lazarus funciona, apenas unas pocas aplicaciones populares están creadas con él: PeaZip, Cheat Engine o Double Commander; lo cual personalmente me parece extraño. Sin embargo el problema, y este es más mío que de Lazarus, es que sigue sin gustarme el lenguaje Object Pascal… Vamos ¡que necesitaría un Lazarus para C++, que replicase a C++ Builder!



4 comentarios en “Lazarus”

  1. Yo en su momento tuve la idea de pasar mis aplicaciones en Delphi 5/7 a Lazarus, pero no es sencillo, implica reescribir muchas cosas.

    He de decir que hoy en dia es muy estable (las primeras versiones se colgaban sin mas y no daban indicios de porque)

    Por otra parte, descubri C#, que personalmente me gusa mas, pues tiene muchos puntos en comun con Object Pascal, pero es un lenguaje mas moderno (Anders Hejlsberg el jefe de proyecto de Delphi, estuvo a cargo del equipo que creo C#). Aun asi, no es tan trivial programar apps multiplataforma en C#, ahi sale ganando Lazarus.

    Saludos

    Jonatan

  2. Yo desde hace aproximadamente un año migre todas mis aplicaciones desde Delphi (BSD2006) a Lazarus y la verdad que en poco tiempo lo tenia todo migrado (paquetes y librerias). El IDE actualmente es bastante estable tanto en Windows como en Linux (programo para las dos plataformas) tanto en 32 como en 64 bits. La verdad que estoy muy conteto con el cambio 😀

  3. aevora, yo encuentro que el IDE (similar al de Delphi 7), aunque estable, todavía le faltan capacidades. La generación de código de Freepascal, no es de momento tan buena como la de DCC.
    Por lo demás, es multiplataforma, de código abierto, y gratuito (algo nada desdeñable con los precios de Embarcadero).

Deja un comentario