Modernize suas aplicações
Por Atanas Popov
A modernização continua sendo um dos temas mais importantes para vários de nossos clientes. O Delphi está no mercado há muito tempo e há diversos aplicativos “legados” que incluem até o Delphi 7. Embora seja uma confirmação da qualidade de nossas estruturas de desenvolvimento, em alguns pontos aplicativos com dez anos são, simplesmente, velhos demais. Nossa comunidade de desenvolvedores está migrando para as versões mais recentes para que possa proporcionar produtos modernos e interessantes para seus clientes. Internamente, realizamos a mesma jornada com o próprio RAD Studio e, embora nem sempre seja fácil, ela vale a pena. Acredito que finalmente estamos obtendo muito progresso, algo que me motiva a compartilhar algumas lições aprendidas que podem ajudá-lo a planejar a sua própria jornada.
Atualizar a UI
Na minha opinião, a parte mais difícil de qualquer projeto de modernização é o argumento chave para uma atualização de UI. Há um raciocínio antigo que diz: se funciona, quem se importa se um ícone parece velho? Também é difícil para desenvolvedores ficarem muito animados com isso, uma vez que eles não costumam se importar com o visual e o estilo. Ainda assim, visual e estilo renovados são IMPORTANTÍSSIMOS. Fizemos diversas atualizações graduais no RAD Studio ao longo dos dois últimos anos e há outras no forno. Quando realizamos pesquisas, raramente o visual e o estilo são priorizados. Clientes de software empresarial raramente admitem comprar uma solução de software porque ela é “bonitinha”. Mas, depois que melhorias de UI são feitas, o impacto tende a ser incrivelmente alto. Especialmente para aplicativos Delphi que vêm com um “viés” de legado inerente. É uma jornada que vale a pena e, felizmente, algumas das ferramentas de FMX e VCL atualizadas facilitam as implementações. Reserve o seu tempo e faça do jeito certo. Vale totalmente a pena contar com a ajuda de um designer profissional (de novo, algo que muitos desenvolvedores não fazem). Lembre-se de não ignorar o impacto de ícones de alta qualidade. Aqui estão alguns exemplos dos ícones que usamos para a versão 10.2.2. Há diversas escolhas disponíveis que são muito baratas. Por exemplo, eu amo o www.icons8.com.
Não se esqueça dos aparelhos móveis
Uma das grandes vantagens do Delphi hoje é o FMX. A medida em que a adoção de smartphones aumenta (cerca de 70% em 2018), o FMX ficará mais relevante. Se você já conhece VCL, o desenvolvimento com FMX é relativamente natural. Há, é claro, detalhes específicos de comportamento e estilo e, francamente, precisamos melhorar o fluxo de trabalho do RAD Studio ainda mais, mas a produtividade é incrível. A maioria das outras abordagens requer uma equipe separada e mais investimentos. Historicamente, aplicativos móveis eram terceirizados como um pacote – mas isso está mudando. O FMX permite que uma equipe Delphi desenvolva o aplicativo móvel. Você não precisa recriar o aplicativo antigo com FMX, mas desenvolver extensões móveis significativas é importante. Você vai ganhar um respeito enorme e o técnico Delphi será, merecidamente, reconhecido como moderno. E você desenvolve sua equipe. Há diversas opções de treinamento para lhe ajudar com os primeiros passos. Pessoalmente, gosto do Delphi Styles, que oferece alguns visuais personalizados muito estilosos (abaixo estão alguns excelentes modelos de estilo de FMX do www.delphistyles.com)
Faça em multicamadas
A arquitetura não é simples. Infelizmente, até mesmo grandes desenvolvedores podem não ter conhecimento de outras áreas, simplesmente devido ao vasto conjunto de áreas no desenvolvimento de software. Às vezes, isso significa que fazer mudanças de arquitetura, como mudança de um aplicativo desktop para um multicamada, pode ser uma experiência de aprendizado mesmo para os mais experientes. É sempre bom aprender ou obter suporte externo para auxiliar. Visamos simplificar as transições de arquitetura, como o RAD Server vem com excelentes recursos de suporte de arquitetura multicamada. Não é uma tarefa complicada repensar um aplicativo antigo para um multicamada, embora não haja garantias (depende de como foi desenvolvido). Falei com vários desenvolvedores que, à primeira vista, estavam assustados mas, depois de irem mais fundo, identificaram que o esforço é muito menor do que o esperado. Com certeza, é muito menos caro do que criar uma nova plataforma com uma linguagem completamente diferente como Java. De novo, uma abordagem simples é começar pequeno e criar módulos ao máximo possível. Além disso, não se apresse para perder o cliente VCL. A velocidade que ele pode proporcionar, especialmente em ambientes onde segundos fazem a diferença, é inigualável. Conheço vários reprojetos em Java multimilionários que visaram substituir um aplicativo VCL e os usuários simplesmente não o adotaram – um incrível desperdício.
“Webifique”
O termo não está no dicionário, mas você entende o significado. Há várias abordagens para se fazer isso com o Delphi hoje. O ideal é que você possa criar um aplicativo em níveis e desenvolver um cliente da Web independente. É claro que recomendamos o Ext JS, já que ele faz parte da família agora, mas há várias outras boas tecnologias da Web para clientes. Outra abordagem que pode ser mais rápida é usar uma ferramenta como UniGui, que adota um método como VCL e aproveita o Ext JS para desenvolver um cliente da Web. Isso não funciona para tudo, mas é muito rápido e produtivo. Você com certeza pode criar um módulo de seu aplicativo rapidamente e demonstrar que o Delphi funciona na web e de forma ágil. Diversas interfaces da Web para aplicativos Delphi são desenvolvidas com .NET devido à conexão de legado do Windows. Isso, é claro, funciona, mas, com base em nossa experiência mais recente e nas novas tecnologias de JS, a flexibilidade e a velocidade que você pode conseguir com o JS são excelentes.
Integre
O RAD Studio tem algumas das melhores estruturas e componentes de integração. Um dos aspectos mais desafiadores de outras tecnologias é normalmente a tecnologia – e fazemos isso super bem e rápido. Nossa pesquisa recente de produtos indica que uma enorme porcentagem de nossos clientes adotou o FireDAC, o que é fantástico. Descubra novas maneiras para seu aplicativo moderno ser mais integrado. Que tal acessar o inventário de um sistema de gestão integrado (ERP) ou inserir dados nele? Nossos conectores empresariais são baseados na estrutura do FireDAC e funcionam muito bem. Usamos eles até mesmo internamente para criar um portal ExtJS para nossa instância no SFDC (ilustração abaixo). É uma experiência de desenvolvimento incrível.
Inove
O Delphi, através do RAD Studio, oferece suporte para várias novas capacidades, incluindo notificações push, sinalizadores e o editor móvel Woll 2 Woll (www.woll2woll.com/beam). Fico surpreso como os clientes usam pouco os novos recursos do Windows 10. Uma das minhas tecnologias favoritas e subutilizadas é o sinalizador. Eles estão incluídos GRATUITAMENTE no RAD Studio Enterprise. O editor móvel pode acelerar os aplicativos móveis desenvolvidos com essa tecnologia significativamente. Devido ao fato de como aplicativos Delphi internos lidam com a captura de dados de localização, esse deve ser um recurso fácil e interessante de se incluir. E a melhor coisa sobre o Delphi é que a inovação não custa centenas de milhares de dólares…
Supere o argumento do legado
Esse não é tão relevante para nossos esforços com o RAD Studio, mas é um empecilho que cada cliente precisa superar. A percepção é que o Delphi é de legado ainda existente, apesar de recentes tentativas para superá-la. Por fim, adotei uma abordagem levemente diferente que considerei bastante bem-sucedida. Em vez de mergulhar fundo para defender os vários méritos do Delphi, vou apenas citar alguns fatos e deixar dessa forma. Funciona! O Delphi hoje é um dos maiores ecossistemas comerciais – muitos programas de código aberto perderam o momento à medida em que a economia caiu e o suporte minguou. Sem falar o fato de que o Delphi é a ferramenta de desenvolvimento mais rápida, mais fácil de usar e mais funcional (um pouco subjetivo, mas real). Nossa estrutura de VCL para desenvolvimento do Windows continua a fornecer o suporte mais nativo para Microsoft Windows – e é insuperável. O FMX oferece melhor suporte multiplataforma nativo do que o Xamarin e sua popularidade, especialmente para desenvolvimento no Android, está crescendo rapidamente. Acredito que, para qualquer empresa que quer gerenciar um risco de tecnologia, Delphi e VCL são as escolhas mais seguras do que mesmo as tendências e estruturas mais na moda. Sim como alguém que passou por várias iterações do Angular ou passou por uma difícil migração no Java. A combinação de uma linguagem altamente produtiva que é reutilizável e pode funcionar com back e front-ends flexíveis torna o Delphi um sólido páreo de tecnologia.
Bem, acabei me estendendo mais do que o planejado, mas há um ponto sobre modernização que talvez seja o mais difícil de superar. Ela tem a ver com percepção em vez da tecnologia. Os clientes continuam a encerrar a discussão sobre a falta de disponibilidade de profissionais qualificados em Delphi. Infelizmente, ainda é verdade que há menos desenvolvedores aptos para Delphi em comparação com outras tecnologias populares. Empresas terceirizadas são especialmente negativas a essas ferramentas, uma vez que a produtividade tende a ir contra seu modelo de negócios. Por que vender a você 5 desenvolvedores Delphi quando você pode vender 50 do Java? Mas esse também é o argumento da vitória: você não precisa de tantos desenvolvedores Delphi, porque a ferramenta é MUITO boa. E, se você precisar aprimorar suas habilidades ou treinar uma nova equipe, continuamos a desenvolver o Embarcadero Academy com mais conteúdo e opções de curso. Na nossa experiência, um desenvolvedor sênior pode aprender Delphi muito rápido. Vamos acabar com os céticos da tecnologia usando aplicativos incrivelmente modernos!
Atanas Popov é presidente da Embarcadero Technologies