PDA

Ver la Versión Completa : Como migrar de VCL a Firemonkey ?


rolandoj
07-09-2012, 05:03:05
Hola a todos,

Según he leído, en algún momento es probable que seamos obligados a migrar de VCL a Firemonkey.

Yo no trabajo Firemokey. De hecho solo he leído algunos artículos y visto algunos ejemplos de su código; pero, quisiera prepararme para esa posibilidad con muchísimo tiempo de anticipación porque el código que tengo con VCL es inmenso y el cambio abrupto podría ser desastroso.

La migración en mi caso tiene algo de particular :

Debido a malas experiencias con la costumbre de Delphi de cambiar constantemente tecnologías entre versiones, nosotros optamos por no usar directamente ningún componente de la VCL. Todos los componentes que usamos son descendientes que desarrollamos de los que vienen con la VCL.

La idea, que ya probamos con éxito en varios casos es que si toca cambiar de componentes Delphi usuales, como cuando pasamos de BDE a dbExpress, no tengamos que tocar, salvo casos excepcionales, el código de nuetros programas finales; tan solo, en nuestras librerías maestras, cambiar el padre de nuestros componentes y redefinir las propiedades del caso para que nuestro componentes, a efectos de los programas finales, sigan comportandose como si no hubiesen habido cambios internos de tecnología.

Para que esta estrategia funcione, se requiere que los componentes en la nueva tecnología sean muy parecidos a los de la anterior. Eso me lleva a unas preguntas que considero claves y agradecería mucho si pudieran comentarme al respecto:

1. Que tan diferentes son los componentes Firemonkey de los VCL ?. Bien entendido, me refiero a que tantas propiedades, métodos y entiendo que hasta componentes, fueron suprimidos en FireMonkey ?

2. Si las diferencias son grandes, podrían indicarme en cuales componentes la situación es más crítica ?

3. Que pasa con tecnologías de terceros vitales, concretamente con TeeChart, QuickReport e Indy ?.

rolandoj
07-10-2012, 23:49:11
Hola,

Hace más de un mes que hice una pregunta de como migrar VCL a FireMonkey porque de acuerdo a lo que había leído se suponía que FireMonkey sería el reemplazo de VCL; pero, un mes después no solo no he obtenido ninguna respuesta, es que más nadie ha escrito más nada en este foro.

Peor, revisando con calma veo que desde hace mucho tiempo solo ha habido alguna que otra nota aislada. Parece ser que casi nadie está trabajando con FireMonkey.

En esas condiciones, la pregunta obvia para quienes lo estén usando es :

FireMonkey es una alternativa viable a VCL ?.

En este momento parece que no. Los que lo usan que opinan ?

Casimiro Notevi
08-10-2012, 00:48:55
Hola, rolandoj, como bien dices, si nadie te ha contestado, entonces no abras otro hilo, sigue con el mismo y se pone el primero de la lista.

En cuanto a tu pregunta, efectivamente, firemonkey es algo nuevo y todavía no es muy usado, ten en cuenta que la mayoría de personas que colaboran/visitan clubdelphi tienen proyectos hechos en VCL, y no es pruedente convertirlo a firemonkey.
En todo caso eso puede quedar para nuevos proyectos.
Un amigo está empezando un proyecto con firemonkey, así que en cuanto haya avanzado algo le preguntaré para que nos dé su opinión.
Saludos.

rolandoj
08-10-2012, 02:01:27
Hola Casimiro,

Gracias por contestar. En realidad me imaginé que FireMonkey no había logrado penetrar en la comunidad.

Abrí otro hilo para poner un título más impactante que atrajera un poco de atención al tema.

En realidad, y como anotaba en mi pregunta original, yo ni siquiera tengo FireMonkey. Solo quería explorar que podía esperar en el futuro, ya que lo que había leído apuntaba a que FireMonkey reemplazaría al VCL.

En ese escenario, dado que, como muy bien anotas, todos los veteranos tenemos enormes cantidades de código desarrollado alrededor de VCL, la palabra clave es : Migrar.

En Delphi, tradicionalmente no han entendido que si un cliente compra una versión de Delphi, y sobre todo una Enterprise, es porque planea desarrollar proyectos complejos sostenibles a largo plazo. En esas condiciones, uno no se puede poner a perder un montón de tiempo en revisar y/o re-escribir enormes cantidades de código, solo para migrar a plataformas que funcionalmente no aportan ningún valor agregado realmente significativo.

Si uno reflexiona un poco, termina dandose cuenta que buena parte de esos desarrollos de sistemas son gastos inoficiosos y no costos. Lo peor es cuando personal administrativo clave se da cuenta de eso, porque es muy preocupante para las empresas gastar sus recursos en cosas inoficiosas, en lugar de estar desarrollando nuevas funcionalidades que representen verdaderas ventajas productivas.

Debido a esos antecedentes de la gente de Delphi, quise averiguar, con mucho tiempo de anticipación, lo que podría avecinarse con FireMonkey. Tristemente, todo parece indicar que, tal como me lo temía, las cosas siguen igual con ellos. De todas formas, considerando que. precisamente por esos antecedentes, mucha gente puede no estar animada para probar FireMonkey, migrando aunque sea pequeños aplicativos, creo que podemos dar el beneficio de la duda y esperar lo que nos cuente el colega que mencionas.

Por mi parte, y como ya sabes del otro hilo, dado que Delphi, desde hace demasiado tiempo, no nos entrega algo realmente importante para los desarrollos que hacemos, la idea es más bien migrar a Lazarus. Ahí sigo probando, y te cuento que iba bien; pero, me topé con un gran escollo. Mañana haré un último intento por superarlo y, si no puedo, el Martes abriré un hilo al respecto

Por cierto, a propósito de hilos, por ahí abrí uno acerca de videos. Quizás sepas algo al respecto. El enlace es http://www.clubdelphi.com/foros/showthread.php?t=81075

Casimiro Notevi
08-10-2012, 02:19:40
En teroría irán cambiando poco a poco de la VCL hacia FireMonkey, aunque seguro que será muy poco a poco.

Hay muchas personas que están pasándose a Lazarus, yo mismo me instalé hace un par de semanas la última versión (la 1.0) y me ha gustado bastante, la he encontrado muy estable, muy "delphi 7", pero incluso con más detalles, más en línea con un delphi 2007.
Con la ventaja de que funciona en Linux (mi equipo sólo tiene Linux) y algo que me gusta mucho: es rapidísima, carga apenas en un segundo y la compilación vuela.

CSIE
08-10-2012, 12:01:11
Hola a todos

Yo soy de la opinión de Casimiro, si se produce un cambio hacia FireMonkey será poco a poco. Seguro que Embarcadero sigue trabajando en mejorar la VCL. El motivo principal de FireMonkey sigue siendo la multiplataforma, teóricamente puede admitir cualquier plataforma, pero pienso que quedan muchos años de VCL.

radenf
08-10-2012, 12:22:22
Estimado rolandoj :

Embarcadero ya se ha preocupado del tema y ha puesto a disposición de sus usuarios registrados la versión gratuita de Mida converter, que justamente hace lo que tú deseas. No la he probado y no sé si es tan adecuada.
Más información puedes obtener en este webinar de Embarcadero.

http://forms.embarcadero.com/forms/AMUSCA1207VCLFireMonkeyWebinar7-25

Saludos

erickahr
08-10-2012, 19:30:37
Como bien dice Casimiro, el cambio sería a mediano o largo plazo, poco a poco, pero todo apunta a que es el futuro (como lo mencionó el propio Diego Navarro en la presentacion de XE3 en México D.F.)

Al parecer el equipo de embarcadero esta invirtiendo mucho tiempo en FireMonkey, tanto que las novedades de XE3 en gran parte giran en torno a ello.

Para proyectos ya existentes lo veo un poco complicado, pero para arrancar un proyecto nuevo creo que resultaría muy interesante comenzar a experimentar, y acostumbrarnos a FM; Aunque falta ver que pasa con Developer Express y demas componentes 3rd party, tendrian que hacer algo para dar soporte a ese "Exodo".

rolandoj
09-10-2012, 05:14:58
Hola a todos,

Muchas gracias por los aportes y perdonen la demora en escribir; pero, el día ha sido muy complicado y solo he podido mirar esto ahora en la noche.

Encuentro especialmente interesante el dato de radenf de que Embarcadero ha trabajdo en una herramienta de conversión. Como yo solo estoy explorando lo que podemos esperar, y no tengo FireMoneky, no puedo probar por mi mismo. Habría que esperar a que alguién pueda retroalimentarnos al respecto.

Sin embargo, la propia propaganda solo promete que la herramienta hará "un montón del trabajo de conversión" por tí. Eso da a entender que en la práctica será necesario bastante trabajo manual.

De todas formas hay que otorgar el beneficio de la duda y esperar a ver que noticias vamos teniendo poco a poco. Lo que si me ha parecido prudente, como dije antes, es ir migrando a Lazarus poco a poco.

Por ahora, pude migrar toda la parte de Base de Datos muy facilmente a Zeos; pero, fué porque yo, desde que ocurrió lo de BDE, opté por no usar directamente componentes de Delphi, sino trabajar con clases derivadas, así que en general solo tengo que cambiar mis clases intermedias.

Eso en la parte de Base de Datos fué muy simple; mucho más facil que de BDE a dbExpress, porque Zeos está muy basado en la interfaz BDE. Sin embargo, en otras partes el asunto no pinta tan facil. De hecho tengo problemas que más tarde consultaré en otro hilo.

Lo anterior lo comenté aquí para indicar que uno debería cambiar de tecnología usando la metodología que expuse antes. En otras palabras, en el caso de Delphi, aparte de agregar nuevas propiedades, métodos o eventos, las clases deberían, en la medida de lo posible, mantener los mismos métodos y propiedades expuestos al usuario de la clase y cambiar tan solo sus implementaciones.

servicomp
18-10-2014, 01:16:25
Cordial saludo a todos

Les comento que ya he tomado la desición de iniciar un proyecto en FRM, pero hemos iniciado a tener los primero problemas.

Primero ya no tenemos la tecnología MDI, ya que HD no se encuentra. Así que hasta el momento estoy buscando como resolver este problema, con la misma eficiencia del MDi. Apropósito si alguien ha encontrado la manera de hacerlo, le agradecería el link o el comentario.

La segunda es el nuevo manejo de bases de Datos el cual se llama FIREDAC, la cual no tengo nada que decir hasta el momento, pues estoy haciendo los primero pinos y leyendo mucho sobre el tema.

Seguiremos haciendo las preguntas segun necesitemos y avancemos en el proyecto que estamos migrando a FRM y les sigo comentando.