Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-01-2020
ExploradorLZCT ExploradorLZCT is offline
Registrado
 
Registrado: ene 2020
Posts: 6
Poder: 0
ExploradorLZCT Va por buen camino
Question Como crear aplicaciones multiplataforma

Hola a todos,

Antes que nada, un muy Feliz Año Nuevo.

Si es posible, agradecería que me ayudaran con lo siguiente :

Quiero desarrollar, con base en Pascal, a modo de prueba piloto, una muy simple aplicación multiplataforma. Bueno, no tan simple como "Hola mundo".

La idea es que, básicamente, el mismo código fuente se compile, y se ejecute, en tantos sistemas operativos como sea posible. O sea, minimizando la programación condicional que deba hacerse para plataformas específicas.

Aunque Delphi tiene herramientas para esto, en principio pienso más en Lazarus con Code Typhon por dos razones :

1. Porque según parece su lista de SO a los que puede compilar es bastante más grande (incluye algunos que no conozco ni de nombre).

2. Porque para un proyecto piloto de tan corta magnitud el Delphi actual está fuera de presupuesto.

Dejando de lado el problema de como poder ir probando el aplicativo en cada SO, hay dos temas iniciales en que ojalá puedan ayudarme.

El primero es la lista de componentes visuales que podría usar. Obviamente, hay que pensar en términos de aquellos que es más probable que funcionen igual en todas las plataforma (o casi todas).

Tentativamente he seleccionado los siguientes :

TPanel, TEdit, TLabel, TBitBtn, TSpeedButton, TListBox y TScrollBox

Mi primera pregunta es entonces : Alguno sabe de plataformas en las que estos controles tengan problemas ?

El segundo tema es que una cosa es que un programa compile y otra es que se ejecute bajo un sistema operativo. Así, aunque Code Typhon compile a muchos sistemas, supongo que en algunos, tan solo para que el programa arranque, será necesario incluír instrucciones específicas.

Por tanto, mi segunda pregunta es : Podrían indicarme alguna página donde se haya concentrado, para la mayoría de las plataformas, la información necesaria para lograr que los programas realmente corran ?.

De antemano, muchas gracias.

PD 1 : Este tema es más para el subforo "Lazarus, FreePascal, Kylix, etc." de "Otros entornos y lenguajes"; pero, aunque al usar la opción Buscar he podido hallar hilos ahí, y se reportan 5475 post en él, cuando intento entrar directamente al subforo solo me muestra un mensaje. Por eso he colocado el tema aquí.

PD 2 : Mientras investigaba el tema, leí del problema entre el Lazarus oficial y Code Typhon; así como las discusiones acerca de la estabilidad de Code Typhon. Entiendo la situación actual; pero, a efectos de lo que quiero hacer, son temas que no me preocupan. Como pueden ser muy apasionantes para algunos, y quieran aludirlos, les agradezco que se abstengan de comentarlos en esta nota.

Última edición por ExploradorLZCT fecha: 04-01-2020 a las 21:09:11. Razón: Falto resaltar opción Buscar
Responder Con Cita
  #2  
Antiguo 09-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.331
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ExploradorLZCT Ver Mensaje
Mi primera pregunta es entonces : Alguno sabe de plataformas en las que estos controles tengan problemas ?

Por tanto, mi segunda pregunta es : Podrían indicarme alguna página donde se haya concentrado, para la mayoría de las plataformas, la información necesaria para lograr que los programas realmente corran ?.
En cuanto a la primera, entiendo que deberían funcionar todos los de la paleta básica o estandard. Si un lenguaje o entorno se "vende" como multiplataforma y no te funcionan un TLabel, TButton, TEdit, TCheckbox, TListBox, y similares es que tiene poco de multiplataforma.

En cuanto a la segunda, más que instrucciones necesarias para que el programa arranque, es configurar todo lo necesario para que se pueda ejecutar. No deberías necesitar instrucciones diferentes. Al menos para algo tan sencillo como lo que deseas hacer tú.
En tu caso, para temas de configuraciones deberás ir a la informción del IDE/Entorno (Lazarus/CodeTyphon).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 09-01-2020
ExploradorLZCT ExploradorLZCT is offline
Registrado
 
Registrado: ene 2020
Posts: 6
Poder: 0
ExploradorLZCT Va por buen camino
Gracias. Comentarios

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
En cuanto a la primera, entiendo que deberían funcionar todos los de la paleta básica o estandard. Si un lenguaje o entorno se "vende" como multiplataforma y no te funcionan un TLabel, TButton, TEdit, TCheckbox, TListBox, y similares es que tiene poco de multiplataforma.

En cuanto a la segunda, más que instrucciones necesarias para que el programa arranque, es configurar todo lo necesario para que se pueda ejecutar. No deberías necesitar instrucciones diferentes. Al menos para algo tan sencillo como lo que deseas hacer tú.
En tu caso, para temas de configuraciones deberás ir a la informción del IDE/Entorno (Lazarus/CodeTyphon).
Hola,

Muchas gracias por la respuesta.

Sí, la elección inicial de los controles la hice con la misma idea que mencionas. Una esperaría que esos funcionaran; pero, de todas formas he querido verificar si alguno ha hecho la prueba y de pronto reporta problemas.

Ahora, en la segunda parte de tú respuesta tengo una duda : Tal parece que te refieres a configurar el Code Typhon en sí mismo. Yo no estaba hablando de hacer correr el Code Typhon porque de hecho cuando escribí la nota ya lo había instalado completo (El Big IDE; una muy dura experiencia por cierto).

Me refería que un programa escrito para una plataforma específica podría requerir agregarle una líneas condicionales para que corra en ese sistema específico. Por ejemplo, en la sección de Android de estos foros del Club Delphi se habla de que para la última versión de android hay que agregar en Delphi un montón de líneas. Lo que sospecho es que ocurra lo mismo en Code Typhon (y probablement e para algunas otras plataformas).

Muchas gracias por colaborar.
Responder Con Cita
  #4  
Antiguo 10-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.331
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ExploradorLZCT Ver Mensaje
Ahora, en la segunda parte de tú respuesta tengo una duda : Tal parece que te refieres a configurar el Code Typhon en sí mismo.
En realidad sí me estaba refiriendo a eso y te había entendido.
Por ejemplo, en el caso de Delphi (no se cómo se hará en CodeTyphon) no se cambian cosas en cada proyecto, porque si no para cada uno de ellos deberías hacer el trabajo.
Algunas cosas que debes hacer:
1) Configurar en el IDE parámetros referentes al SDK/NDK de Android
2) Configurar conexión con el dispositivo Android si vas a debuggar sobre dispositivo físico
3) Configurar la conexión con Máquinas LINUX si va a desplegar en LINUX
4) Configurar la conexión con Máquinas OSX si va a trabajar para iOS/OSX
5) Instalar en la máquina Linux/OSX el paServer (aplicación para despliegue remoto)
...

Una vez hecho esto, en el IDE te aparecen diferentes opciones sobre las que vas a compilar y SOLO cambiando eso tu aplicación se compila, se linka y se ejecuta en la plataforma seleccionada.
NADA MÁS. El mismo código funciona sobre todas y más uno simple como el que estamos hablando.




En mi blog hay varios ejemplos de aplicaciones que corren sobre Android/OSX/Windows sin tocar ni una línea de código. Y también esta entrada sobre Linux.

Cita:
Empezado por ExploradorLZCT Ver Mensaje
Me refería que un programa escrito para una plataforma específica podría requerir agregarle una líneas condicionales para que corra en ese sistema específico.
Para cosas muy específicas o particulares si, pero para una simple DEMO no.

Cita:
Empezado por ExploradorLZCT Ver Mensaje
...en la sección de Android de estos foros del Club Delphi se habla de que para la última versión de android hay que agregar en Delphi un montón de líneas. Lo que sospecho es que ocurra lo mismo en Code Typhon (y probablement e para algunas otras plataformas).
Creo que estás equivocado. No se a qué mensaje te refieres. Estaría bien que pusieras el link. A no ser que sea para salvar un problema concreto, algo avanzado o algun error, no se...
Pero ko dicho, para una demo básica no debería ser así.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 11-01-2020 a las 18:28:36.
Responder Con Cita
  #5  
Antiguo 10-01-2020
ExploradorLZCT ExploradorLZCT is offline
Registrado
 
Registrado: ene 2020
Posts: 6
Poder: 0
ExploradorLZCT Va por buen camino
Smile Gracias por la orientación

Hola,

Muchas gracias por las indicaciones. Es el tipo de información que me resulta útil.

Disculpa, supuse que no me habías entendido porque no se me había ocurrido que para compilar a cada plataforma hubiera que hacer configuraciones en el IDE.

Como ví el menú que traen y está para seleccionar la plataforma a la que se desea compilar, supuse que nada más era escogerla. No se me ocurrió que para tan solo compilar en una plataforma específica hubiera que hacer los trabajos que dices y por eso no había investigado nada en ese sentido. Me pondré ha hacerlo ahora.

Lo que planteas es un punto de inicio para organizar una metodología de desarrollo de este tipo de aplicaciones; pero, de todas formas, sigo pensando que el problema real estará cuando se vayan necesitando servicios más complicados alrededor del manejo de la pantalla.

No sobra ampliarte la idea a largo plazo :

Este proyecto simple es un piloto destinado a servir como marco de referencia para establecer la metodología de desarrollo multiplataforma que a largo plazo nos sirva para producir posteriormente aplicaciones más complejas y productivas.

Lo que espero es que una vez tenga claras las reglas básicas que permitan crear rápidamente aplicaciones multiplataforma, el avanzar ha desarrollos más grandes se limite a ir agregando pequeñas opciones que prueben los controles que poco a poco vayamos necesitando.

Por ejemplo, con seguridad en algún punto se necesitará una barra de progreso. Si todo lo básico ya está listo, probar una debería ser tan sencillo como lo es en un nuestro ambiente Windows familiarM o sea, simplemente colocarla en una forma, sin tener que preocuparnos de otros factores que podrían estarle impidiendo funcionar bien.

Respecto a lo del código condicional propio a cada plataforma, el caso es que mientras investigaba ví varios hilos que hablaban al respecto, y no solo en este foro; pero, no los estuve marcando. Hice ahora una búsqueda rápida y a modo de ejemplo encontré este:

"Aplicacion Android, Delphi Tokyo v/s Delphi Rio." en el subforo "Desarrollo en Delphi para Android"

Disculpa que no coloque el enlace; pero, al hacerlo me salió un mensaje diciendo que aún no podía poner enlaces. Supongo que es una restricción que tienen en el foro para los usuarios nuevos

Saludos
Responder Con Cita
  #6  
Antiguo 10-01-2020
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Cita:
2. Porque para un proyecto piloto de tan corta magnitud el Delphi actual está fuera de presupuesto.vh
Delphi Commmunity Edition te permite crear multiplataforma y es gratis. 0

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 11-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.331
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ExploradorLZCT Ver Mensaje
Como ví el menú que traen y está para seleccionar la plataforma a la que se desea compilar, supuse que nada más era escogerla. No se me ocurrió que para tan solo compilar en una plataforma específica hubiera que hacer los trabajos que dices y por eso no había investigado nada en ese sentido. Me pondré ha hacerlo ahora.
Piensa que el IDE de delphi es un programa windows que corre sobre una plataforma Windows. Por lo tanto nunca va a poder generar un fichero para OSX. Eso debe hacerlo la plataforma destino.
En el caso de OSX o iOS, la compilación realmente se hace sobre un MAC (al que debes conectarte).

Para android debes configurar el SDk y el NDk, que son los que realmente tienen todo lo necesario para generar la aplicación. Por eso TODAS esas configuraciones debes hacerlas sobre e IDE, para que luego al pulsar F9 todo sea transparente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear aplicación multiplataforma con base de datos en la nube cocute Desarrollo en Delphi para Android 12 07-04-2015 10:48:59
¿ Cómo registrar o crear servidor de aplicaciones ? julian navarro Providers 1 01-08-2012 16:56:20
Aplicaciones multiplataforma con C++ Builder y Twinforms jlrbotella Noticias 1 08-06-2008 18:42:51
¿Como realizar aplicaciones multiplataforma? burasu Linux 10 21-09-2005 23:12:23
Crear un componente multiplataforma para conectar un BD RONPABLO OOP 0 10-02-2005 20:25:49


La franja horaria es GMT +2. Ahora son las 23:46:22.


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
Copyright 1996-2007 Club Delphi