Opções de desenvolvimento para aplicações Desktop

Você tocou em um ponto importante. Quando estamos desenvolvendo software, geralmente somos tentados a pensar nos “E se…”. Várias vezes pensamos em situações que nem são as situações reais do uso do software e acaba que escrevemos código mais complexo apenas para satisfazer a situação que prevemos e nem sabemos se vai ocorrer, e isso é uma falha de design muito grande.

Migração de sistemas legados é uma coisa que por si só já dá muita dor de cabeça, então se a sua aplicação não tem como requisito ser multiplataforma (em geral, nem as aplicações feitas em Java tem esse requisito), tente não arrumar mais do de cabeça e faça o sistema na plataforma mais adequada ao caso, que ao meu ver é o .NET