Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Linux (https://www.clubdelphi.com/foros/forumdisplay.php?f=25)
-   -   ¿Como realizar aplicaciones multiplataforma? (https://www.clubdelphi.com/foros/showthread.php?t=24864)

burasu 05-09-2005 11:54:05

¿Como realizar aplicaciones multiplataforma?
 
Hola amigos, me voy a iniciar en Linux, por que siempre me ha fascinado este SO y principalmente por que dispongo de 2 ordenadores y así puedo probar con Linux sin tener que deshacerme (de momento) de Windows y todo lo que conlleva.

Principalmente deseo realizar aplicaciones en Linux, debido a que he leido que al no usar ni depender de las APIs de Windows, se consigue un código más limpio y menos propenso a fallos por los cambios que realice M$ a su sistema operativo.

Entonces mi duda para empezar es la siguiente, si realizo una aplicación en Linux por ejemplo en C# o en Kylix (de momento no se por cual de los dos lenguajes decantarme) como compilo el código para crear los dos ejecutables que de momento me interesan, uno para Linux y otro para Windows???

dec 05-09-2005 14:42:25

Hola,

Si haces uso de Kylix estarás utilizando la librería "CLX", en lugar de la "VCL", y la misma se encuentra disponible en las versiones para Windows de Delphi. Es cuestión de tener ese cuidado al desarrollar tu programa para luego poder compilar el mismo con Delphi. No tendrás un ejecutable, sino dos, al menos, uno para cada plataforma o sistema operativo Windows o Linux.

Si optas por C#, esto es, por Mono (en Linux) tendrás que tener parecido cuidado que en el caso de Kylix: saber qué librerías, clases, componentes, en fin, estás usando, de tal modo que estas se encuentren en ambas plataformas, quiere decirse en el .NET FrameWork de Windows y en Mono. En este caso, me parece, bastaría con un ejecuable de tu programa.

Puedes optar por Java, igualmente, de forma que desarrolles para una determinada versión de su máquina virtual: es parecido al caso de .NET (si no estoy completamente equivocado) y lograrías que un mismo ejecutable pudiera ejecutarse en los sistemas operativos para los que estuviera disponible la máquina virtual de Java que fuera menester.

Hay otros lenguajes (C++), por ejemplo, pero sobre estos no sabría decirte más o menos qué podrías hacer para lograr cierta portabilidad de tus programas en ambas plataformas Windows y Linux. Por otro lado, esto que dices de:

Cita:

Empezado por burasu
(...) he leido que al no usar ni depender de las APIs de Windows, se consigue un código más limpio y menos propenso a fallos por los cambios que realice M$ a su sistema operativo.

Piensa que Linux también tiene lo que podrías llamar con propiedad API, y así estarías también dependiendo de esta en el momento, claro está, que hicieras uso de la misma. En este caso creo que no hay mucha difencia entre Windows y Linux, vaya.

Por poner un caso. Si desarrollas para la plataforma .NET con Mono no podrías tampoco valerte de llamadas al sistema, o a el API de Linux, del mismo modo que no podrías hacerlo desarrollando en .NET para Windows, puesto que de ese modo perderías la portabilidad. Es cuestión de encontrar las librerías que te ofrezcan de por sí cierta portabilidad: .NET, por ejemplo, o "CLX" en el caso de Kylix y Delphi. No son las únicas, pero no sabría darte razón cabal de las mismas.

mamcx 05-09-2005 17:12:04

Un dato adicional: Se puede programar en Delphi para MONO. Al igual que con la implementacion de .NET de MS, Mono es independiente del lenguaje de programacion...

Ahora, por el momento no es tan facil pero si es posible.

La otra opcion es compilar con Lazarous y FreePascal (compilar, NO desarrollar! todavia no esta a la altura: programa con Delphi y luego haces los cambios necesarios para que compile on FreePascal...)

Fundamentalmente, haz esto: Separa la interface grafica (que es la MAS dificil de portal en CUALQUIER lenguaje) de la logica de negocios (lo mas facil de portal, quizas no hay que hacerle nada) del acceso a las api (que es con wrappers, no tan dificil de portar pero si un poco tedioso)

Choll 05-09-2005 20:21:05

Otra opción bastante buena es programar con QT o con wx-widgets (antiguo wx-windows). En ambos casos el lenguaje de programación seria C++.

En el caso de wx-widgets la licencia te permite realizar software comercial sin ningun tipo de costo.

Crandel 10-09-2005 10:00:19

Podes probar usar CrossKylix, parece muy interesante aunque todavia no lo probe.

Si lo haces nos contas.

Es como un pluggin para el IDE de Delphi en cual te permite compilar aplicaciones CLX generando directamente el ejecutable para Linux.

bastante interesante no?

Casimiro Notevi 10-09-2005 12:13:48

Cita:

Empezado por Crandel
Podes probar usar CrossKylix, parece muy interesante aunque todavia no lo probe.
Si lo haces nos contas.
Es como un pluggin para el IDE de Delphi en cual te permite compilar aplicaciones CLX generando directamente el ejecutable para Linux.
bastante interesante no?

No tengo windows :p

papulo 14-09-2005 17:07:12

Yo ando como tu, mirando como puedo programar en delphi (u objectpascal o como se diga) bajo linux y con herramientas libre.

En cuanto acabe examenes, me pondre con Mono, que me llama mucho la atencion y parece que promete mucho.

ctronx 19-09-2005 16:49:28

Yo estoy probando con delphi usando CLX y no haciendo llamadas a la api de Windows, ahora voy a intentar compilar eso mismo en Kylix el cual segun e leido no debe de tener problemas y de esa forma tendria el mismo programa en windows y linux, aunque claro con diferente ejecutable uno compilado en delphi para windows y otro compilado en Kylix para linux pero practicamente ambos bajo el mismo codigo fuente.

dec 20-09-2005 02:06:56

Hola,

ctronx, tal vez te interese echar un vistazo a este Hilo, concretamente, a este mensaje publicado por Crandel.

lafirma 21-09-2005 21:30:39

no te aconsejo que uses Kylix, este producto ya ha sido abandonado por Borland, no habrá mas actualizaciones ni nuevas versiones... asi que no podras usarlo a mediano y largo plazo... a menos que Borland lo libere como open source, algo que parece muy improbable, creo que deberias inclinarte mas por Free Pascal...

los caminos a seguir creo que van por Free Pascal (si te gusta Pascal), Java (formidable alternativa), C/C++ (sin comentarios) y Net/Mono (tambien sin comentarios)...

Personalmente yo me he inclinado por Java y estoy investigando en el terreno del Free Pascal, Lazarus (el IDE del Free Pascal) no esta todavia concluido... no obstante el compilador si esta completo, en su version 2.0

mamcx 21-09-2005 23:12:23

Es de notar que Borland no ha abandonado el desarrollo en Linux, pero si detuvo el del IDE. Parece que lo que va a ocurrir es algo como el CrossKilyk, asi se compila desde Delphi (en Windows) y se ejecuta en Linux (depuracion remota?) o algo asi.

Tambien la gente de freepascal anuncio su propio CrossFPC, o sea lo mismo pero usando Delphi + FreePascal...


La franja horaria es GMT +2. Ahora son las 03:49:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi