Dica para migração de VCL para Firemonkey

Toda migração é problemática. Se migrar de uma versão para outra de compilador já pode ser um problema, em virtude das alterações de funcionalidades, imagine migrar de um framework para outro.

O Firemonkey é o novo (nem tanto assim) framework da Embarcadero, no qual a empresa está investindo todas as suas fichas. Lembro-me que no comesso a comunidade o recebeu preocupada, pois já havia sofrido com o fiasco do Kylix, mas parece que agora as coisas mudaram. Vejo muita propagando em cima dele não apenas do marketing da própria Embarcadero, mas também de membros da comunidade que pularam de cabeça nessa tecnologia. Claro que tudo isso deve-se à mudança de estratégia da Embarcadero para o fomento de uma comunidade muito maior, que veio ocorrendo nos últimos anos, através dos eventos oficiais, webinars, programas MVPs, etc.

A questão é que o Firemonkey se consolidou no mercado, e existe uma forte tendência de migração para essa nova tecnologia. Mas como fazer isso de forma menos traumática? Nativamente, a VCL e o Firemonkey não trabalham juntos, porque o compilador divide muito bem isso. Criar um novo projeto seria a solução? Claro que não, principalmente se o projeto for de grande escala. Trabalhar com dois projetos paralelos? Poderia resolver, mas imaginou as dificuldades de gerenciamento disso tudo?

Basicamente, se você adicionar um form firemonkey em um projeto VCL ele funciona, e o contrário também. O problema reside na dificuldade de trabalhar com isso no mesmo projeto, pois o compilador apenas permite criar novos formularios VCLs em projetos VCLs, e novos formulários FMX (FireMonkey) em projetos FMX.

A dica aqui é mudar abrir o arquivo DPROJ do projeto e alterar a tag FrameworkType de:

para

Assim, quando estiver em FMX, será possível adicionar novos formulários FMXs, e quando estiver em VCL, será possível adicionar novos formulários VCLs.

Muito simples, hein?

Mas e para os casos onde seja necessário a alteração contínua dessa tag? Ainda bem que Simon J. Stuart criou  um plugin chamado MonkeyMixer que faz isso facilmente, bastando escolher no popup menu do projeto qual o tipo de framework você quer trabalhar. Assim não precisamos adentrar nas entranhas do DPROJ para realizar nenhuma alteração, e podemos fazer as alterações em tempo de design, deixando tudo mais produtivo.

 

Video aula demonstrativa do MonkeyMixer: 
https://www.youtube.com/watch?v=TbCLU6vWjeQ

Código fonte do pugin MonkeyMixer:  https://github.com/LaKraven/MonkeyMixer

 

Pronto para iniciar sua migração?