FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Es suficiente maduro el Lazarus?
Hola,
En breve voy a empezar en un nuevo proyecto, que me interesa que sea multiplataforma (Windows 32/64bit, Mac OS X, quizá Linux). Como me estoy acostumbrando al Delphi, pensaba hacerlo todo en Lazarus, pero tengo un poco de miedo... Será el Lazarus suficientemente maduro para esto? La aplicación que voy a hacer es algo muy simple: acceso a base de datos (SQLite? Firebird? todavía no lo tengo claro), algunos informes (LazReport, quizá?), y acceso a un webservice (todavía no me he mirado esto, y puede que ni lo haga). Tendré problemas de estabilidad/fiabilidad? La otra opción que estoy pensando es en usar Java SE (ya hace años que lo conozco, y no hay problemas en esto), pero lo que me tira más para atrás es el hecho de que las aplicaciones Java se ven "raras" en todos los sistemas (no parecen bien integradas en el aspecto visual, cosa que también pasa en Delphi si no se usa el XPManifest). Esto tambien pasa con Lazarus, o usa los widgets estándar de Windows, Mac OS X y Linux? Muchas gracias por vuestra ayuda, Marc |
#2
|
||||
|
||||
El compilador Free Pascal (FPC) es tan estable (o casi) como el de Delphi. El problema está en la biblioteca LCL (la equivalente a VCL/CLX), que es donde cojea. Aun así, si utilizas los controles normales, sin cosas raras (minimizar en la bandeja del escritorio, blablabla... ya me entiendes), es bastante estable en GNU/Linux y Windows. MacOS X es la menos estable, principalmente porque en el equipo de desarrolladores no hay mucha gente que trabaje habitualmente con ese sistema y que además tenga los conocimientos de bajo nivel necesarios (aunque creo que, como la última versión de FPC es capaz de trabajar "en modo Objective C" en MacOS X, la cosa ha debido mejorar mucho).
Las bibliotecas LCL utilizan varios widget en cada sistema operativo:
Adicionalmente se está trabajando para que utilice, también, fpGUI, una biblioteca gráfica que pretende utilizar el gestor de ventanas de cada sistema desde el punto más bajo posible. |
#3
|
|||
|
|||
Hola Ñuño,
La verdad es que estoy un poco asustado con el Lazarus... Lo he instalado en el Ubuntu 10.4, la versión de Lazarus es la 0.9.28.2-8ubuntu1, y sólo ha ocurrido un error: añado un botón al formulario (totalmente vacío), hago doble click para que me genere el evento "onClick", y sale una ventanita diciendo: The component editor of class "TDefaultComponentEditor" has created the error: "No se puede encontrar el método. Compruebe el error mostrado en la ventana de mensajes". Claro, sólo con esta "prueba" la cosa asusta bastante... :P |
#4
|
||||
|
||||
Cita:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
||||
|
||||
Yo he hecho con lazarus en linux algunos programitas de pruebas con acceso a datos firebird y la verdad es que con esta última versión no me ha dado de momento ningún problema.
Pero, de momento, no lo recomiendo para alguien que no tenga mucha experiencia porque pueden surgir incidencias que no sepa resolver fácilmente, y si el programa va a ser para windows, usar un delphi aunque sea una versión obsoleta y se acabó, es lo más seguro. Ahora bien, si de verdad se quiere aprender, investigar, probar, etc. entonces por supuesto que recomiendo lazarus+linux |
#6
|
||||
|
||||
Cita:
Por cierto, ¿qué error muestra la ventana de mensajes? ¿Y qué versión de Free Pascal utiliza? Todos los números de versión se pueden consultar en "Ayuda->Acerca de Lazarus". Pero bueno, coincido con delphi.com.ar y Casimiro. A Lazarus todavía le falta tiempo de cocción. Aun así, siempre puedes utilizar Free Pascal "a palo seco", que ya he dicho que es bastante más estable y es muy completo (incluso tiene su propio IDE: ejecuta desde consola "fp"). Es como el viejo Turbo Pascal pero más mejor. Última edición por Ñuño Martínez fecha: 08-06-2010 a las 09:12:09. |
#7
|
|||
|
|||
Lo investigaré un poco más, e instalaré el Lazarus desde en enlace que ha puesto Ñuño Martínez. De todas formas, veo mucho más maduro el Java...
Un par de preguntas más... Lazarus compila a 32 y 64 bits? Y tiene soporte completo para Unicode? (o sea, que todos los String ya sean unicode, los componentes, etc). Saludos, Marc |
#8
|
||||
|
||||
Disculpa, pero comparar la madurez de Java con la de Lazarus no me parece correcto. El primero ya tiene casi veinte años y el segundo poco más de diez, aparte de que uno está desarrollado por una empresa y el otro por voluntarios sin sueldo, y para terminar un lenguaje de programación tiene poco que ver con un entorno de desarrollo.
Date un capón de mi parte. Cita:
Free Pascal sí tiene soporte completo para Unicode, claro que muchas veces hay que tener en cuenta el soporte del sistema operativo (por mi experiencia, funciona mejor Linux que Windows). Lo mejor es comprobarlo por uno mismo: http://wiki.lazarus.freepascal.org/L...ode_Support/es http://lazarus-ccr.sourceforge.net/f...m/index-5.html |
#9
|
||||
|
||||
Cita:
// Saludos |
#10
|
||||
|
||||
Creo que ñuño lo decía por el tiempo de desarrollo que llevan ambos, que lazarus, al ser hecho por gente que no cobran, no pueden dedicarle todo el tiempo que quisiera y es por lo que, ni siquiera, aunque ambos llevaran el mismo tiempo, tampoco podrían ir igual de avanzados.
Edito: es lo que he comentado en otras ocasiones, lazarus necesita lo mismo que le ocurrió a wine, que google se interesó en ellos y les donó un montón de millones de dólares. A los 3 meses sacaron por fin su versión 1. |
#11
|
||||
|
||||
Roman: Tal como comenta Casimiro. Lo digo porque Lazarus no tiene los recursos de Sun (y ahora Oracle) para dedicarse a trabajara en el proyecto, por lo que no puede compararse uno con otro. Pero eso no significa que Lazarus sea un juguete, sino al contrario. Bastante han conseguido con lo que tienen ya, que es un IDE muy decente. Si alguien donase unos cuantos miles para que tres o cuatro personas puedan dedicarse a él a tiempo completo, seguro que en unos meses tienes algo comparable a Delphi 6, seguro.
|
#12
|
||||
|
||||
Como dije anteriormente: entiendo el punto de vista, es decir, entiendo el porqué (o uno de los porqués) de que Lázarus no tenga un desarrollo más avanzado. Pero, ¿y qué con eso? Desde el punto de vista del programador profesional, de poco valen las razones. Se tiene o no se tiene un entorno listo para usarse de manera profesional. Y, la verdad, hasta ahora, cada vez que alguien pregunta algo similar a lo de este hilo, la respuesta es muy similar a esta:
Cita:
// Saludos |
#13
|
|||
|
|||
En vista de las diferentes respuestas que ha habido, sobretodo aquella de "mejor programarlo en Delphi y compilarlo en Lazarus", he decidido no arriesgar mi tiempo y mi dinero en Lazarus e ir por caminos seguros: VB.Net en Windows, y Java para Mac OS X.
Por otra parte estoy totalmente de acuerdo con Roman. Para hacer pruebas, programitas internos o similares no habría ningun problema en usar Lazarus, pero si voy a hacer algo profesional, no me puedo arriesgar a fallos tontos, o a esperar que alguien, altruistamente, me arregle los problemas. Saludos, Marc |
#14
|
||||
|
||||
Cita:
Yo, en el trabajo, no lo utilizo porque aquí sólo me mandan hacer cosas en PHP. Aun así, me fío bastante de Lazarus. Incluso me hice una herramienta "de extrangis" para ayudarme en ciertas operaciones. Lo que tengo pendiente es rehacer el programa de gestión que he desarrollado en PHP con Lazarus, a ver si consigo darle en los morros a mi jefe y de paso comprobar la madurez de Lazarus. El problema es el tiempo (o el exceso de proyectos, que no lo tengo yo muy claro ). |
#15
|
||||
|
||||
Lo de "programitas de pruebas" es simplemente por eso, porque no hay mucho tiempo libre, pero de momento sí me inspira confianza porque no he tenido ningún problema con esta última versión.
Y algunas cosas que más me gustan es que no consume recursos apenas, ni memoria, se ejecuta rapidísima y es muy ágil, se trabaja muy cómodo, me da la sensación de estar ejecutando un juego de hace años en un ordenador actual, que corre tanto que incluso hay que ponerle "retardos" para ajustarlo a su velocidad original |
#16
|
||||
|
||||
Cita:
__________________
mas confundido que Garavito el día del Niño. |
#17
|
||||
|
||||
Cita:
Cita:
Con esto quiero decir que no son motivos demasiado válidos. Lo importante es saber qué se necesita exactamente y luego encontrar quién me lo ofrece, y vistas las exigencias y necesidades es cuando hay que decidir qué software usar. |
#18
|
|||
|
|||
Espero que esto sea lo suficientemente profesional y no un programita de prueba
http://facturlinex.sourceforge.net/ Cita:
Si no consideras suficientemente estable el entorno de desarrollo Lazarus, puedes hacer uso, desde FreePascal, las qt o gtk de forma directa. Hasta puedes usar glade para desarrollar las gui generer un archivo xml y cargarlo desde freepascal. Si no consideras suficientemente maduro freepascal, puedes decantarte por usar C, C++, python, perl, php, C#, java, etc. etc. etc. y cargarle tu archivo xml generado por glade o puedes optar por definir la interfaz totalmente a mano usando las gtk o las qt y sin olvidarme de las wx. Ej (lo único que hacen es crear una ventana). FreePascal+gtk Código:
program win; uses glib2, gtk2; procedure destroy(widget : pGtkWidget; data: pgpointer ); cdecl; begin gtk_main_quit(); end; var window: pGtkWidget; begin gtk_init (@argc, @argv); window:=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_signal_connect(pGTKOBJECT(window),'destroy', GTK_SIGNAL_FUNC(@destroy), NULL); gtk_widget_show(window); gtk_main(); end. Código:
import gtk class MyWin: def __init__(self): self.window=gtk.Window() self.window.connect('destroy',self.close_window) self.window.show_all() def close_window(self,widget): widget.destroy() gtk.main_quit() if __name__=="__main__": w=MyWin() gtk.main() Código:
#include <gtk/gtk.h> static void destroy(GtkWidget *widget, gpointer data) { gtk_main_quit(); } int main(int argc, char**argv) { GtkWidget *window; gtk_init(&argc, &argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "destroy", G_CALLBACK(destroy), NULL); gtk_widget_show(window); gtk_main(); return 0; } Código:
imports System imports Gtk Public Module MyWin Sub OnDeleteEvent (ByVal obj as object, ByVal args as DeleteEventArgs) Application.Quit() End Sub Public Sub Main() Application.Init() Dim window as Window= new Window("Title2") AddHandler window.DeleteEvent, AddressOf OnDeleteEvent window.ShowAll() Application.Run() End Sub End Module Código:
using Gtk; using System; class MyWin{ static void Main() { Application.Init(); Window window= new Window("Title"); window.DeleteEvent +=delete_event; window.Show(); Application.Run(); } static void delete_event(object obj, DeleteEventArgs args) { Application.Quit(); } } Lo que Lazarus hace es que no tengas que saber nada de esto, las gtk y las QT son muy estables y maduras. Lazarus te provee un entorno en el cual puedas hacer uso de uno u otra sin que realmente lo tengas que conocer pero con una sintaxis familiar y con la que te sientes como pez en el agua (si es que vienes de Delphi) PD: http://www.gtk.org/commerce.html Nero Linux usa las gtk: http://www.gtkfiles.org/app.php/NeroLinux http://wiki.freepascal.org/Lazarus_Application_Gallery http://wiki.freepascal.org/Projects_using_Lazarus PD: Las QT pertenecen a Nokia (por si piensas que la madures viene dada por la empresa que este detrás) y Lazarus te permite hacer uso de ellas sin que las tengas que conocer. PD: Si te vas a la página de las QT te darás cuenta de las aplicaciones profesionales que se han hecho con ellas http://qt.nokia.com/qt-in-use . Artlantis usa qt, ISE de Xilinx usa las QT. PD: Si no consideras cualquier cosa como perdida de tiempo y dinero prueba tambien el QTCreator de Nokia (multiplataforma Embedded Linux, Linux, Mac, Symbian, Maemo, Windows, Windows CE/Mobile). Varias Plataformas si reescribir código. ¿Cuales plataformas soporta el Visual Basic NET? Con la varidad de dispositivos y plataformas que existen actualmente, sería algo *^?¿~#½ desarrollar para una única plataforma y si un entorno, ide, herramientas, bibliotecas, etc. etc. te permite desarrollar para todas ellas (o la mayoría) que mejor, y mejor si la reescritura de código tiende a ser casi nula. Cuantas plataformas soporta freepascal, hasta el iphone aunque a partir de IphoneOS 4 ya es ilegal por políticas de Apple. ¿Cuantas plataformas soporta Visual Basic NET?. Cuantas plataformas soporta Mono, hasta el iphone pero me imagino que también va a ser ilegal por políticas de Apple PD: Si no haces uso de las apis especificas de Windows aunque tu progrma lo hayas hecho en VB.NET (con el Visual Studio o como se llame) instalando en Mac OSX o Linux el Mono vas a poder ejecutar tu programa sin ningún problema y no vas a tener que usar X para el SO X y Y para el SO Y. PD: Java corre tanto en Windows como en MacOSX, si vas a usar Java y VB.NET, porque no mejor usas sólamente java, al cabo corre en ambos SO y otros más. Te ahorrarías "tu tiempo y dinero" ya que no tendrías que mantener el código de dos programas que hacen lo mismo. Así como dice Casimiro primero levanta y analiza tus requerimientos, los requerimientos de tus posibles clientes y tus planes a futuro, porque de todos los lenguajes puedes encontrar aplicaciones profesionales y no juguetitos o pruebas caseras, lo que tu consideres como profesional probablemente para un nivel superior ya no lo sea. Igual tu entorno de desarrollo puede ser extremadamente profesional y tu programa extremadamente profesional que para un nivel inferior es como estar matando moscas a cañonazos. Al final el que le da lo profesional es la habilidad del programador. Def. de profesional: com. Persona que ejerce su profesión eficientemente y con destacada capacidad (http://www.wordreference.com/definicion/profesional) Wiki: Un profesional es toda aquella persona que puede brindar un servicio o elaborar un bien, garantizando el resultado con calidad de excelencia. Puede ser una persona con un reconocimiento de grado universitario, técnico o experto en cierto tema, disciplina o arte. Sin embargo, una persona también puede ser considerada profesional por el hecho de proveer un servicio o producto y exhibir un comportamiento honesto, calificado, responsable y capaz; características que se obtienen con constancia y talento en la disciplina desempeñada. (http://es.wikipedia.org/wiki/Profesional)
__________________
No todo es lo que parece y lo que parece no es todo. |
#19
|
||||
|
||||
Sí, la gestión Linex, que son varios programas: contalinex, facturlinex, recibos y puntos de ventas, la crearon en principio con Kylix, "para no perder el tiempo y el dinero".
Sin embargo, un día, dijo Borland: "casi no vendemos nada a estos frikis de linux, así que quitemos kylix del mercado". Y los que habían invertido en kylix... que les den. Ese es el problema del software privativo. Los de Linex llevan un tiempo pasando todo el proyecto a lazarus, han escogido los componentes de zeos. Cita:
|
#20
|
||||
|
||||
Cita:
Mi empresa tiene su servidor principal corriendo en win32 compilado con delphi y en linux compilado con lazarus. Eso califica como sirve para realizar sistemas? Lo que tiene que tener en claro el que se siente delante de lazarus es que puedo encontrar piedras, cada vez menos, pero puede encontrarselas. Siempre el punto es que se quiere obtener como contrapartida con el esfuerzo. Pero, acaso delphi no las tiene? En fin, lo mejor es que cada uno pruebe y comente su experiencia, la mía: yo uso lazarus como editor del 50% de mis sistemas (servidores con interface gráfica) y compilo luego en delphi cuando es necesario y en linux/lazarus cuando es necesario. El 50% restante (que son clientes de mis aplicaciones servidor) van en delphi porque las librerias que uso no estan disponibles en lazarus. Ahora si, extraño horrores la rapidez de lazarus al usar delphi 2007 o 2010... No tiene ni punto de comparación y para lo que yo uso que es mayormente code completion, error insigth y find declaration lazarus tiene de sobra. Es un gran ide, desconocido por la gran mayoría. Solo mi experiencia, saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ya es maduro el delphi 4 php?? | luisgutierrezb | PHP | 3 | 30-10-2007 02:26:41 |
[Lazarus] GTK+-devel en SUSE. problema instalar lazarus de esa libreria. | sakuragi | Lazarus, FreePascal, Kylix, etc. | 3 | 28-09-2006 03:31:09 |
BDS2006+FibPlus ¿Es suficiente la version Profesional? | josemmerida | Conexión con bases de datos | 4 | 19-05-2006 10:56:42 |
Reflexión de un hombre maduro... | Nuria | Humor | 12 | 04-04-2004 23:42:36 |
Lazarus | DJ VMan | Varios | 2 | 01-08-2003 23:54:56 |
|