Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   FireMonkey (https://www.clubdelphi.com/foros/forumdisplay.php?f=50)
-   -   ¿Que tal es FireMoneky? (https://www.clubdelphi.com/foros/showthread.php?t=92657)

strelok 20-12-2017 17:14:36

¿Que tal es FireMoneky?
 
Hola a todos,

En el pasado he desarrollado aplicaciones móviles nativas usando Android Studio, inclusive antes que existiera este mismo, haciendo uso de Eclipse, la última aplicación que hice fue la simulación de una app, encapsulando un aplicación web con responsive design en un WebView, en algunas cosas facilitaba mucho el trabajo, pero ya cuando necesitabas acceder a componentes del móvil las complicaba.
Actualmente estoy trabajando en una empresa que necesita una app, y tiene FireMonkey ¿como es? ¿me podrían pasar ejemplo? ¿me podrían decir ventajas y desventajas? ¿me recomiendan usar xamarin u otra herramienta? ¿para compilar para iPhone necesito una MAC y licencia?, la idea de la empresa es desarrollar una app plataforma, que se conecte a la base de datos (Firebird) ¿como es el tema de la conexión?:cool:

jhonny 20-12-2017 18:12:20

Hola,


Para mí Firemonkey es genial porque la han puesto muy fácil para los despliegues y mantenimiento, aunque sí tengo una advertencia... al menos debes saber usar muy bien el tema de hilos (Task, future, sincronización y parallels) si quieres que las cosas queden bien. Si vas a intentar usar Firemonkey programando como se hacia antes, vas a tener problemas y terminarás diciendo que Firemonkey es malo, cuando es tú aplicación la que no estaría bien escrita.

En cuanto a la conexión con Firebird, lo que puedes hacer es usar una arquitectura de por ejemplo 3 capas donde tengas tu backend (podría ser con DataSnap en REST, RADServer o hasta con WebBroker), tu FrontEnd (en Firemonkey que se conecte a dicho BackEnd) y bueno... por ende el Backend es el que conectarías a la BD Firebird. Pero no conectes directamente la aplicación Firemonkey a tu base de datos porque tendrás problemas de escalabilidad e incluso de rendimiento si tu conexión es remota (Aunque esto último ya sería un asunto meramente de Firebird).

En cuanto a los ejemplos... bueno, en el canal Youtube de Embarcadero hay muchísimos https://www.youtube.com/channel/UCMm...-WlJ-IVBzPhbgA, en mi web también https://www.purodelphi.com hay otros tantos, en la de https://neftali.clubdelphi.com muchos más y bueno... también hay cursos gratuitos por la red, libros y vídeos geniales para comprar... y en fin apuesto que los demás compañeros tienen muchos enlaces para mencionar.

luisgutierrezb 20-12-2017 21:08:17

Revisa B4A (Basic for Android) https://www.b4x.com/b4a.html una sintaxis similar a Basic, lo que hace es que te pasa tu código a java y luego ya, la mejor recomendación es tu prueba, en base a tus requerimientos, esta un Trial y la licencia no es cara, si quieres desarrollar para IOS tambien esta B4i y puedes "rentar" el hosted builder para ahi hacer el build sin necesidad de mac... Es solo una opción, no es mejor ni peor que firemonkey...

Saludos!

Neftali [Germán.Estévez] 21-12-2017 08:53:15

Cita:

Empezado por strelok (Mensaje 523653)
¿como es?

Yo creo que es realmente rápido en comparación con otras opciones.
Basta con que hagas una prueba y nos digas tú, que has desarrollado con otras.
No todo es perfecto y el problema es que estás limitado (para hacerlo fácil) por los warppers que ha desarrollado Embarcadero. Si necesitas más cosas, se complica un poco, aunque siempre tienes la opción de hacer las cosas con Java.
Aquí lo explico un poco para que lo entiendas (cómo acceder a clases Java):
http://neftali.clubdelphi.com/cuestin-de-volumen/


Cita:

Empezado por strelok (Mensaje 523653)
¿me podrían pasar ejemplo? ¿me podrían decir ventajas y desventajas?

Como ya te han comentado, puedes acceder directamente a los ejemplos que distribuye Embarcadero de casi todos los aspectos.
El repositorio está compartido:
https://sourceforge.net/projects/radstudiodemos/

Según la versión puedes acceder a ellos desde el IDE con el control de versiones (Git o SVN)
Revisa también las webs y el canal de Youtube (https://www.youtube.com/channel/UCMm...-WlJ-IVBzPhbgA) donde tienes cientos de vídeos para empezar.


Cita:

Empezado por strelok (Mensaje 523653)
¿para compilar para iPhone necesito una MAC y licencia?

Si.
Aunque si no queréis comprar un MAC hay opciones en Internet. De todas formas si fuera yo, para probar y testear me haría con un MAC y un iPhone.


Cita:

Empezado por strelok (Mensaje 523653)
... que se conecte a la base de datos (Firebird) ¿como es el tema de la conexión?

Pues tenéis un problema (http://docwiki.embarcadero.com/RADSt...bases_(FireDAC)). Que yo sepa no hay driver de Firebird para conexión en Android. Tendréis que buscar otras opciones.
Una opción podría ser esta: http://www.tmssoftware.com/site/remotedb.asp
Otra, cambiar la Base de Datos.

strelok 21-12-2017 10:11:44

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 523666)
Yo creo que es realmente rápido en comparación con otras opciones.
Basta con que hagas una prueba y nos digas tú, que has desarrollado con otras.
No todo es perfecto y el problema es que estás limitado (para hacerlo fácil) por los warppers que ha desarrollado Embarcadero. Si necesitas más cosas, se complica un poco, aunque siempre tienes la opción de hacer las cosas con Java.
Aquí lo explico un poco para que lo entiendas (cómo acceder a clases Java):
http://neftali.clubdelphi.com/cuestin-de-volumen/



Como ya te han comentado, puedes acceder directamente a los ejemplos que distribuye Embarcadero de casi todos los aspectos.
El repositorio está compartido:
https://sourceforge.net/projects/radstudiodemos/

Según la versión puedes acceder a ellos desde el IDE con el control de versiones (Git o SVN)
Revisa también las webs y el canal de Youtube (https://www.youtube.com/channel/UCMm...-WlJ-IVBzPhbgA) donde tienes cientos de vídeos para empezar.



Si.
Aunque si no queréis comprar un MAC hay opciones en Internet. De todas formas si fuera yo, para probar y testear me haría con un MAC y un iPhone.




Pues tenéis un problema (http://docwiki.embarcadero.com/RADSt...bases_(FireDAC)). Que yo sepa no hay driver de Firebird para conexión en Android. Tendréis que buscar otras opciones.
Una opción podría ser esta: http://www.tmssoftware.com/site/remotedb.asp
Otra, cambiar la Base de Datos.

Excelente respuesta, muchas gracias.
Entonces ¿la única forma de conectarme es comprando el componente de TMS?

identsoft 21-12-2017 10:34:45

Ya hace unos meses que salió Firebird para Android(aunque es de pruebas)
http://www.firebird.com.mx/noticias/detalle/3197/

strelok 21-12-2017 11:07:17

Cita:

Empezado por identsoft (Mensaje 523670)
Ya hace unos meses que salió Firebird para Android(aunque es de pruebas)
http://www.firebird.com.mx/noticias/detalle/3197/

Pero ese SGDB ¿sería como un análogo de SQLite?.
Nosotros tenemos un sistema de escritorio que tiene una base de datos Firebird, y queremos que la app se conecte a esa misma base de datos, es resumen, que el programa y app compartan la base de datos, ¿eso se podría hacer únicamente con el componente TMS que me comentaron mas arriba?

identsoft 21-12-2017 11:16:13

No sabría decirte. Todavía no lo he probado.Esperemos que alguien del foro aclare las ideas.

WHILENOTEOF 21-12-2017 12:31:26

Cita:

Empezado por strelok (Mensaje 523671)
Pero ese SGDB ¿sería como un análogo de SQLite?.
Nosotros tenemos un sistema de escritorio que tiene una base de datos Firebird, y queremos que la app se conecte a esa misma base de datos, es resumen, que el programa y app compartan la base de datos, ¿eso se podría hacer únicamente con el componente TMS que me comentaron mas arriba?

En mi opinión la forma más lógica de acceder a Firebird desde un cliente mobile (te sirve también para un cliente web), es montar un backend con un servicios REST (Mira por ejemplo el framework MVC Framework que está en github). También puedes montar el backend con Datasnap.

Sobre lo que han comentado de la rapidez de Firemonkey, a mí me decepcionó hacer pruebas para una aplicación des escritorio en Windows 10, ver que era más rápido la VCL que Firemonkey.

jhonny 21-12-2017 15:22:17

Cita:

Empezado por strelok (Mensaje 523669)
Entonces ¿la única forma de conectarme es comprando el componente de TMS?

¡Caramba¡, a veces creo que mis letras son transparentes :eek:

Neftali [Germán.Estévez] 21-12-2017 15:22:38

Cita:

Empezado por strelok (Mensaje 523669)
Entonces ¿la única forma de conectarme es comprando el componente de TMS?

No te puedo asegurar que sea la única, habría que investigar.

Neftali [Germán.Estévez] 21-12-2017 15:24:36

Cita:

Empezado por identsoft (Mensaje 523670)
Ya hace unos meses que salió Firebird para Android(aunque es de pruebas)
http://www.firebird.com.mx/noticias/detalle/3197/

Pero entiendo que lo que se pretende no es instalar FB en un Android, sino desde Android conectar a un SGBD FB, por lo tanto se necesita "una librería que haga de cliente".

strelok 21-12-2017 16:00:50

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 523685)
Pero entiendo que lo que se pretende no es instalar FB en un Android, sino desde Android conectar a un SGBD FB, por lo tanto se necesita "una librería que haga de cliente".

Yo cuando hice la app nativa android, me conectaba a un servicio web en php, que a su vez, el mismo se conectaba a MySQL. ¿A eso se refieren con un servicio con REST?

WHILENOTEOF 21-12-2017 18:20:00

Cita:

Empezado por strelok (Mensaje 523689)
Yo cuando hice la app nativa android, me conectaba a un servicio web en php, que a su vez, el mismo se conectaba a MySQL. ¿A eso se refieren con un servicio con REST?

Así es, esa es la idea. Yo creo que hoy en día la mayoría de accesos a datos que hacen las aplicaciones mobile son mediante el acceso a servicios (normalmente rest y json). Si buscas en youtube encontrarás varios ejemplos de rest en Delphi, y el framework open source que te comenté (MVC Framework), también lo utiliza. Viene con numeros ejemplos, algunos clientes firemonkey que te pueden servir. En algunos de ellos emplea Firebird. Yo hace años, con Windows Mobile si que accedía directamente a la base de datos Firebird, pero hoy parace más buena idea montar un servidor rest para recuperar, editar e insertar datos. Una vez montado, lo puedes emplear en clientes vcl, firemonkey (escritorio o mobile), y web.

strelok 22-12-2017 13:32:01

Vale, muchas gracias.

¿Qué opinas de xamarin? https://store.xamarin.com/ La versión gratis (la segunda) que tipo de restricciones tendrá?

WHILENOTEOF 23-12-2017 13:09:01

Cita:

Empezado por strelok (Mensaje 523712)
Vale, muchas gracias.

¿Qué opinas de xamarin? https://store.xamarin.com/ La versión gratis (la segunda) que tipo de restricciones tendrá?

Por lo poco que he visto (algún libro y pequeños ejemplos), creo que está muy bien Xamarin. Aunque obviamente necesitas conocer C# para empezar a trabajar. Creo que se darán situaciones donde Xamarin resolverá mejor algunos problemas, y en otros será Delphi-Firemonkey quien lo resuelva mejor. Mi impresión siempre ha sido que Delphi planteaba soluciones más elegantes y simples para muchos problemas que uno tiene que resolver en una aplicación Mobile. Por ejemplo el consumo de servicios REST, o si hicieses un acceso de Datasnap, te permitiría una mayor flexibilidad en cuanto a parámetros a emplear, que el que pueda tener una aplicación REST.


La franja horaria es GMT +2. Ahora son las 04:32:08.

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