Se você está acompanhando o que está acontecendo em torno do RAD Studio, provavelmente já viu nosso anúncio em termos de um foco renovado na linguagem C++ em C++, What’s Coming for C++Builder: An Amazing Preview. Como uma continuação de nossas atualizações empolgantes do C++ Builder, queríamos compartilhar alguns detalhes sobre o que planejamos para as outras partes do produto, em particular nossas bibliotecas VCL e FireMonkey UI.
Uma nova fundação para FireMonkey: Skia
A biblioteca de interface do usuário multiplataforma e multiplataforma do RAD Studio é baseada no conceito de abstrair a renderização real dos elementos da interface do usuário por meio de estilos. Os estilos são implementados usando alguns objetos e elementos gráficos primitivos, mapeados pelo FireMonkey para diferentes drivers gráficos, do DirectX ao Metal.
Nos últimos anos, uma biblioteca surgiu neste espaço, que oferece um nível mais alto de abstração com primitivas mais complexas, enquanto trabalha em cima da mesma plataforma que os drivers nativos do FireMonkey suportam. Esta biblioteca é chamada Skia e fornece um poder incrível para aplicações gráficas 2D de todos os tipos, juntamente com um foco em desempenho significativo. O Skia alimenta alguns dos aplicativos multidispositivos mais bem-sucedidos da atualidade, começando com o navegador Chrome do Google.
É possível usar o Skia para alimentar aplicativos FireMonkey hoje, usando a biblioteca Skia4Delphi, que também está disponível diretamente no GetIt. O que está por vir nas futuras versões do RAD Studio é uma integração profunda e pronta para uso do Skia e do Skia4Delphi: ao torná-lo parte do produto, ofereceremos uma experiência mais suave e o tornaremos um cidadão de primeira classe no ecossistema FireMonkey. As vantagens incluirão renderização mais rápida, especificamente no Android, mas também uma série de recursos e componentes adicionais disponíveis ao usar um driver baseado em Skia.
Observe que, como parte do suporte ao Skia, não planejamos apenas usá-lo como um driver de GPU FireMonkey, mas também planejamos incluir controles de interface do usuário específicos para FireMonkey e até mesmo para a biblioteca VCL.
(O controle SkLabel oferece suporte a várias seções de um único label com atributos de texto diferentes, como você pode ver no Object Inspector)
Modernização VCL: O Retorno do MDI
Em uma frente totalmente diferente, sabemos que muitos de nossos clientes têm aplicativos VCL os quais desejam manter ativos e modernizar. A biblioteca VCL tem continuamente fornecido forte suporte para a modernização de aplicativos, como suporte a HighDPI, uma arquitetura de estilo sofisticada, o uso de versões mais recentes dos controles de plataforma, a integração da API WinRT, o suporte à implantação via MSIX e a integração do controle WebView2 (o mecanismo baseado em Chromium do navegador Edge).
Nos últimos anos, nos afastamos do suporte ao modelo MDI (Multiple Document Interface). Esse é um paradigma de interface do usuário relativamente desatualizado, baseado em ter várias janelas (mostrando o mesmo tipo de conteúdo ou tipos diferentes) hospedadas em uma janela principal de contêiner. Por mais que seja antigo, o modelo MDI pode ser eficaz e muitos de nossos clientes o usam há muito tempo, treinaram seus usuários em torno dele e, por essas razões, preferem continuar usando. Uma das desvantagens de usar o modelo VCL MDI é que ele é um wrapper em torno do suporte à plataforma Windows – e esse suporte tem muitos problemas em monitores HighDPI, por exemplo.
(acima) Um aplicativo MDI com suporte total de estilo em High DPI, mostrado usando o estilo Glow VCL (à esquerda) e o estilo Aqua Light Slate VCL (à direita)
Após uma extensa pesquisa e revisão de engenharia, decidimos que valia a pena tentar contornar todos os principais problemas da plataforma e retrabalhar o modelo VCL MDI. Embora ainda com base na API da plataforma principal, temos trabalhado e resolvido a maioria dos problemas da plataforma. Além disso, estamos introduzindo uma nova opção para hospedar formulários MDI (ou qualquer formulário em geral) em uma interface do usuário baseada em guias, como você pode ver abaixo. Para qualquer um de nossos clientes que usam a interface do usuário MDI, a próxima versão oferecerá uma lufada de ar fresco – injetando um pouco de nova vida nos aplicativos. Em particular, nos concentramos no suporte a HighDPI e no suporte a estilos VCL, para que você possa adotar todos os recursos de modernização VCL existentes também para aplicativos MDI.
(acima) O novo modelo MDI baseado em guias
E muito mais
Há muito mais em que o R&D da Embarcadero está trabalhando atualmente, em termos de bibliotecas, IDE, compiladores, atualizações de plataforma e acesso a banco de dados. A próxima versão do RAD Studio será uma grande versão para desenvolvedores C++, mas será uma versão muito significativa também para desenvolvedores Delphi, com melhorias em todas as áreas do produto.
Fique atento para mais informações nos próximos meses e acesso antecipado ao beta, começando com nossos clientes com uma assinatura Premium ativa.
Disclaimer: Todos os novos recursos e melhorias discutidos nesta postagem de blog para versões futuras do RAD Studio não são confirmados até que seja concluído e o GA lançado.