por Marco Cantu, David Millington e Sarina DuPont
Table of Contents
Introdução
A equipe de gerenciamento do produto Embarcadero RAD Studio atualiza regularmente o roteiro de desenvolvimento de produto para Delphi, C ++ Builder e RAD Studio. Como você pode ver em nossa postagem do blog oficial do roteiro, acabamos de lançar uma nova versão do roteiro, cobrindo os principais recursos que planejamos para os próximos 12 meses. Junto com os slides do roteiro oficial, queríamos oferecer mais detalhes, informações e percepções com esta postagem de blog adicional. Pode ser útil abrir os slides para referência enquanto lê as informações expandidas que fornecemos aqui.
Em nosso roteiro, você pode encontrar os principais recursos que planejamos para o ano civil de 2021. Antes de entrarmos nos detalhes de nosso roteiro atualizado, queremos recapitular o que entregamos até agora.
No início deste ano, lançamos 10.4 Sydney. O lançamento 10.4 foi muito bem recebido por nossos clientes e incluiu a primeira entrega de nossa reescrita completa do mecanismo Delphi Code Insight, agora baseado na arquitetura de protocolo Language Server, um novo depurador para C ++ Win64, que atendeu a uma solicitação de cliente muito antiga e novos recursos de linguagem Delphi, como registros gerenciados personalizados. Também expandimos significativamente o caso de uso de estilos VCL com suporte para monitores HighDPI e estilo por controle.
Demos seguimento à versão 10.4 de Sydney com a versão 10.4.1 em setembro de 2020, que se concentrou principalmente na qualidade e nas melhorias adicionais dos recursos fornecidos na 10.4, em particular o suporte Delphi LSP recém-adicionado. 10.4.1 inclui mais de 800 melhorias de qualidade, incluindo mais de 500 melhorias de qualidade para problemas relatados publicamente no Portal da Qualidade da Embarcadero.
Antes de entrarmos em detalhes sobre as versões 10.4.2 e 10.5, gostaríamos de destacar que a 10.4 / 10.4.1 foi uma das versões mais populares até o momento, com mais downloads em comparação com a 10.3 e a 10.2. Isso é especialmente impressionante no meio do COVID-19. Atribuímos o sucesso tanto ao lançamento quanto ao nosso maior engajamento com parceiros de tecnologia que continuam a colaborar com nossa equipe para atualizar e desenvolver novos recursos. Também queremos agradecer a vocês, nossos clientes, pelo ótimo feedback que vocês têm fornecido à equipe de produto, em termos de recursos que gostariam de ver adicionados e áreas nas quais gostaria que nos concentrássemos em termos de qualidade, e sua participação em nossos programas beta (que é um dos benefícios de ter uma assinatura).
Atualmente, estamos trabalhando na versão 10.4.2, planejada para a primeira parte do ano civil de 2021 e detalhada no roteiro e nesta postagem de blog de comentários. Algum tempo antes do lançamento, esperamos convidar os clientes RAD Studio, Delphi e C ++ Builder com uma assinatura de atualização ativa para ingressar no teste beta para o próximo lançamento. O beta 10.4.2 será um beta NDA, exigindo que os participantes assinem nosso acordo de não divulgação antes de poderem participar do beta. Poder ingressar nos betas e participar do fornecimento de feedback para o gerenciamento de produtos no início do ciclo de desenvolvimento é um dos benefícios de estar atualizado com a assinatura de atualização.
Para o 10.5, planejamos introduzir uma nova plataforma de destino para Delphi, macOS ARM (baseado em CPUs Apple Silicon), trabalho significativo em torno do suporte IDE HighDPI, extensões de cadeia de ferramentas C ++ e muitos outros recursos adicionais e melhorias de qualidade. Veja abaixo para mais detalhes.
RAD Studio Roadmap Timeline
Antes de entrarmos nos detalhes dos recursos nos quais a equipe de desenvolvimento está trabalhando hoje ou pesquisando para o futuro, vamos dar uma olhada na linha do tempo dos próximos lançamentos, conforme mostrado no slide principal do roteiro:
Comentário de David sobre 10.4.2 Planos
Delphi Code Insight
Como Marco escreveu acima, em 10.4.1 nos concentramos muito na qualidade. Isso continua em 10.4.2, com uma área de trabalho significativo sendo o novo Delphi Code Insight (também conhecido como Delphi LSP). O 10.4.2 não apenas incluirá muitas correções e ajustes, como também recursos de insight de código menos usados que não incluímos incluem na versão inicial, mas também alguns recursos novos ou significativamente aprimorados no autocompletar de código. Por exemplo, planejamos adicionar ctrl-click em ‘herdado’, bem como preenchimento retrabalhado em cláusulas ‘usa’, entre outras.
C ++ Code Insight
C ++ também continua o tema do trabalho de qualidade contínuo, com foco em duas áreas.
O mais notável para todos os clientes C ++ será uma revisão completa do auto-completar de código C ++ ao usar os compiladores Clang. No 10.3, quando atualizamos para C ++ 17, tivemos que substituir a tecnologia de autocompletar de código que o IDE usava. Desde a sua introdução, temos aprimorado o preenchimento de código em cada versão, abordando casos de uso em que padrões de código ou configurações de projeto específicos podem causar problemas de conclusão.
Para 10.4.2, decidimos realizar uma revisão completa do preenchimento de código para C ++, para fornecer a produtividade do desenvolvedor que os clientes estão procurando. Os clientes de C ++ devem descobrir que o preenchimento de código e a navegação funcionam bem e de maneira confiável.
Já abordamos alguns casos mais difíceis, como fornecer preenchimento em um arquivo de cabeçalho (muito mais difícil do que em um arquivo .cpp)! O resultado final deve ser tudo o que você nos pediu.
Qualidade C ++ e tratamento de exceções
O outro foco de qualidade significativo para C ++ em 10.4.2 é em torno do tratamento de exceções.
O tratamento de exceções é uma área complexa, que requer interoperabilidade estreita entre o compilador e o RTL para funcionar corretamente. Existem convenções comuns para exceções, como nunca permitir que uma exceção ultrapasse o limite de um módulo (por exemplo, ser lançada em uma DLL, mas capturada em um EXE), mas nem sempre são seguidas, às vezes por bons motivos. Em C ++, precisamos lidar com exceções C ++, exceções do sistema operacional e SEH, não esquecendo o tratamento de exceções do Delphi também.
Em 10.4.2, revisamos o sistema de tratamento de exceções. À medida que nos aproximamos do lançamento, esperamos uma postagem no blog detalhando os cenários que oferecemos. Internamente, estamos vendo algumas grandes melhorias atualmente!
IDE
Além do foco no autocompletar de código para ambas as linguagens, o IDE tem algum outro trabalho planejado para 10.4.2.
No 10.3, introduzimos os dois temas atuais, um estilo claro e escuro (na verdade, um estilo escuro, embora significativamente diferente, foi introduzido pela primeira vez em 10.2.3. Era um de nossos recursos mais populares.) O estilo claro é predominantemente azul pálido. Nesta versão, estamos adicionando um terceiro estilo, que usa cinza tradicional e não azul para as cores principais. Considere um estilo retro para quem gosta de como o IDE parecia na era 2010-XE7, um retorno ao visual clássico. Também acreditamos que pode ser útil para aqueles que precisam de acomodações especiais para a visão.
Também planejamos mais trabalho de qualidade em torno de layouts de desktop, layouts de vários monitores, design de formulários e áreas semelhantes. Isso inclui permitir que você projete seu formulário no designer de formulário ao mesmo tempo em que abre o código desse formulário. De acordo com o feedback, este foi o motivo mais comum para usar o antigo designer desencaixado, que removemos em 10.4.1, e estamos felizes em permitir que você codifique e projete em uma unidade de formulário usando o designer moderno.
Finalmente, queremos aprimorar a ferramenta de migração de configurações, para ajudar a mover as configurações do RAD Studio de uma versão para outra (como de 10.3 para 10.4) e para melhor preservar sua configuração ao mudar para uma versão de atualização (como de 10.4.1 para 10.4.2 ) Planejamos adicionar configurações predefinidas específicas para cada cenário e incluir arquivos de configuração, além das configurações de registro consideradas hoje.
Comentário de Marco sobre 10.4.2 Planos
Em termos de sistemas operacionais de destino, estamos atualmente focados em melhorar as plataformas existentes suportadas em 10.4.x, e há duas áreas de foco nas quais estamos trabalhando para 10.4.2.
O primeiro é parte de nosso foco contínuo no Windows como nosso alvo principal. No sistema operacional da Microsoft, estamos seguindo de perto a direção atual da Microsoft de unificar a API WinRT e a API Win tradicional, por meio do Project Reunion. O Project Reunion (https://github.com/microsoft/ProjectReunion) compreende diferentes tecnologias, sendo as iniciais WinUI 3, WebView2 e MSIX.
O controle WebView2 é um novo componente da plataforma Windows que incorpora o Edge Chromium. Fornecemos suporte para esse recurso na versão 10.4 com o componente TEdgeBrowser VCL.
O segundo bloco de construção será o suporte para o formato de pacote MSIX que planejamos para 10.4.2. MSIX é o sucessor do APPX, um destino que oferecemos atualmente como parte da integração do RAD Studio IDE Desktop Bridge, e se destina à Microsoft Store e à implantação empresarial.
Outra área de nosso suporte aprimorado para a plataforma Windows, e em particular para aplicativos VCL, é a adição de dois novos controles que visam ajudar nossos clientes a modernizar e melhorar a UX de seus aplicativos. Estamos trabalhando em novos controles nativos do Windows VCL, para que você possa fornecer uma interface de usuário mais moderna para seus clientes:
- Um deles é uma visualização de lista virtual altamente otimizada, que permitirá a você exibir um grande número de itens com uma combinação flexível de texto e gráficos. O controle será vagamente baseado na abordagem do controle DBCtrlGrid existente, mas sem exigir uma fonte de dados. Ele suportará o uso de Live Bindings.
- O outro novo componente da VCL que estamos adicionando é um controle de entrada numérica, semelhante ao controle da plataforma WinUI NumberBox. Este controle fornece uma entrada numérica mais fácil e suave, levando em consideração diferentes formatos (inteiros, números de ponto flutuante, valores monetários) e também incluindo a avaliação de expressões simples.
A segunda parte de nossas melhorias concentra-se nas plataformas de destino atualmente suportadas. Planejamos oferecer compatibilidade total com novas versões de sistemas operacionais lançados pela Apple e Google após o lançamento do RAD Studio 10.4.1. Embora você possa direcionar essas plataformas hoje, existem alguns problemas em aberto que queremos abordar adequadamente (em vez de por meio de soluções alternativas). O objetivo é ter suporte completo para:
- iOS 14 e iPadOS 14 (Delphi e C ++)
- macOS 11.0 Big Sur (Intel) (Delphi)
- Android 11 (Delphi)
Em termos de qualidade, continuaremos com um esforço significativo de estabilidade, desempenho e qualidade em 10.4.2 (como fizemos em 10.4.1). Planejamos resolver os problemas relatados pelos clientes e dar suporte ao escalonamento em muitas áreas do produto. As ferramentas e bibliotecas nas quais iremos nos concentrar particularmente, além das listadas por David anteriormente, incluem:
- O compilador Delphi (para todas as plataformas) para melhorar sua robustez e compatibilidade com versões anteriores, mas um foco particular e profundo no desempenho do compilador (e do vinculador) para reduzir o tempo de compilação para grandes projetos e também acelerar o mecanismo LSP (que usa o compilador para analisar o código-fonte).
- A biblioteca do cliente SOAP junto com a ferramenta de importação WSDL que gera o código do cliente usado para fazer interface com os servidores SOAP
- A Biblioteca de Programação Paralela (PPL), que oferece uma grande abstração das diferentes plataformas e capacidades de threading de CPUs multi-core, em termos de tarefas, futuros e loops paralelos
- As soluções de serviço da web multicamadas parte do RAD Studio, com melhorias no servidor RAD e no mecanismo DataSnap mais antigo, e melhorias gerais nas bibliotecas de cliente HTTP e REST. Também continuaremos nos concentrando em nosso suporte à nuvem Azure e AWS.
- Estilos VCL e estilos HighDPI vão receber atenção extra, junto com VCL em geral
- Para a biblioteca FireMonkey, continuamos aprimorando os componentes do TMemo (na plataforma e nas versões estilizadas), o driver de biblioteca Metal GPU introduzido no 10.4 e retrabalho o gerenciamento do sensor no Android, para oferecer melhor suporte para uma variedade de dispositivos Android.
RAD Studio 10.5
Para referência, aqui está o slide do roteiro principal novamente:
Comentário de David sobre 10.5 Planos
Experiência de usuário
Temos uma série de novos recursos excelentes, esperados por muitos clientes, planejados para 10.5.
Em primeiro lugar, planejamos suporte total de alta DPI no IDE. O VCL oferece suporte a DPI alto há algumas versões agora, e o RAD Studio IDE, que usa principalmente o VCL, agora também oferece suporte a DPI alto. Isso garante que a renderização será nítida em todas as telas modernas de alta resolução, inclusive conforme você move as janelas nas telas com diferentes resoluções e escalas.
O designer de formulário VCL é uma das principais ferramentas que você usa ao criar seu aplicativo. O objetivo do designer é construir rapidamente uma IU, vendo de perto como ela ficará quando seu aplicativo for executado, em contraste com as ferramentas de IU que descrevem uma IU apenas em texto e não fornecem feedback imediato / loop de iteração. Na versão 10.5, planejamos estender esse elemento de aparência semelhante à aparência de seu aplicativo quando executado adicionando suporte ao estilo VCL para o designer, de modo que quando qualquer um de seus controles for estilizado, você os verá estilizados no designer também.
O designer de formulário FMX é similarmente uma ferramenta importante quando você constrói um aplicativo de plataforma cruzada. Planejamos trazer algumas das ferramentas de design que o designer VCL possui, como guias de alinhamento, para garantir que o designer tenha os recursos de produtividade de que você precisa.
Também planejamos nos concentrar na integração do controle de origem do IDE, para auxiliar a colaboração de sua equipe. Além disso, planejamos algumas melhorias em como o IDE é apresentado quando executado pela primeira vez, para ajudar aqueles que são novos no Delphi e no C ++ Builder para começar.
Finalmente, muitos clientes usam Delphi ou C ++ Builder em um servidor de compilação dedicado. Junto com o controle de origem, testes e práticas semelhantes, é uma boa prática ter compilações oficiais em uma máquina ou VM específica. Atualmente, para instalar o RAD para um servidor de construção, você precisa instalar o IDE completo – mas isso não deve ser necessário, porque a construção só precisa das ferramentas de linha de comando. Planejamos um cenário de instalação especificamente para construir servidores.
C ++ Builder
Em 10.4.0, introduzimos um novo depurador para C ++ Win64. Isso atendeu a uma solicitação comum do cliente, especialmente porque incluímos ‘formatadores’, uma maneira de avaliar facilmente o conteúdo de contêineres STL ou qualquer estrutura de dados, incluindo a sua. Este era um depurador completamente novo, não uma nova versão do que usávamos anteriormente. No 10.5, planejamos uma nova substituição semelhante para outra ferramenta principal, o vinculador. Como o depurador, será para Win64.
Você notará um foco no Windows de 64 bits aqui. Muitos clientes estão usando o Clang para direcionar o Win64 e queremos garantir que nossas ferramentas sejam iguais ou melhores do que as ferramentas com as quais você está acostumado no compilador clássico. Além disso, muitas pessoas estão começando a olhar exclusivamente para 64 bits, com aplicativos de 32 bits sendo atualizados e novos aplicativos sendo apenas de 64 bits.
Visual Assist é uma extensão de produtividade incrível para Visual C ++, fornecendo autocompletar código, refatorações e muito mais. Estamos pesquisando várias maneiras de integrá-lo ao C ++ Builder e planejamos fazer isso no 10.5.
Finalmente, também planejamos melhorar a interoperabilidade Delphi / C ++. Ser capaz de usar duas linguagens é um grande aumento de produtividade e um dos principais motivos para usar C ++ Builder ou RAD Studio, e isso é um trabalho para aprimorar essa integração. Deve fornecer integração mais suave com os recursos RTL.
Delphi Debugger
Na versão 10.4, introduzimos um depurador inteiramente novo para C ++ Win64 (mencionado acima) baseado em LLDB. Em última análise, pretendemos usar o mesmo depurador em todas as plataformas – hoje usamos uma mistura de depuradores diferentes. A chave para isso é adicionar um frontend de linguagem Delphi ao LLDB, que permite avaliar a sintaxe Delphi, por exemplo, na caixa de diálogo Avaliar / Modificar. Planejamos introduzir a primeira plataforma usando LLDB com este novo front-end no 10.5.
Comentário de Marco sobre 10.5 Planos
Plataformas
Em relação à plataforma Windows, conforme mencionado anteriormente, planejamos oferecer suporte para as diversas tecnologias que fazem parte do Microsoft Project Reunion. Em particular, na versão RAD Studio 10.5, estamos ansiosos para integrar o suporte para Windows UX moderno por meio da biblioteca WinUI 3. De acordo com o roadmap da Microsoft para a biblioteca, deve ser possível utilizar os componentes desta biblioteca em uma aplicação nativa baseada na API clássica, misturando formas e controles de diferentes tipos. Os detalhes reais dependerão do que a biblioteca fornecerá em termos de integração com aplicativos nativos, mas nosso plano atual é integrar esta biblioteca na VCL com novos controles específicos.
Falando em plataformas, queremos adicionar um novo alvo para os aplicativos Delphi: um novo compilador para a versão baseada em ARM do sistema operacional macOS com hardware Apple equipado com CPUs Apple Silicon. Embora você possa executar aplicativos Intel, o objetivo é ter um aplicativo ARM nativo para a nova geração de Macs.
Esta será uma extensão significativa do Delphi, incluindo um novo compilador, atualizações para a biblioteca de tempo de execução e as várias bibliotecas de alto nível. Também planejamos expandir a sintaxe da linguagem Delphi para todas as plataformas e melhorar o desempenho do código de processamento matemático que o compilador gera no Windows, tornando os aplicativos mais rápidos no processamento numérico.
Também continuaremos a trabalhar na qualidade geral do produto e planejamos selecionar alguns subsistemas nos quais focar, uma decisão que tomaremos avaliando o feedback dos clientes sobre a versão atual e as próximas atualizações.
Resumo
Temos ótimos planos para os próximos lançamentos de Delphi, C ++ Builder e RAD Studio! De mudanças emocionantes à conclusão de código para ambas as linguagens, para um IDE de alto DPI, melhorias de produtividade ao codificar e projetar, IU do Windows e novos componentes VCL, depuração Delphi, suporte Apple Silicon (M1) para Delphi, trabalho de qualidade para os compiladores, Delphi e C ++ RTL, SOAP, multicamadas e mais, um novo vinculador para C ++ – os próximos lançamentos contêm trabalhos realmente interessantes. Mal podemos esperar para levá-los até você!
Nota: Esses planos e roteiro representam nossas intenções nesta data, mas nossos planos e prioridades de desenvolvimento estão sujeitos a alterações. Conseqüentemente, não podemos oferecer nenhum compromisso ou outras formas de garantia de que, no final das contas, lançaremos um ou todos os produtos descritos na programação ou na ordem descrita, ou em todos. Essas indicações gerais de cronogramas de desenvolvimento ou “roteiros de produtos” não devem ser interpretadas ou interpretadas como qualquer forma de compromisso, e os direitos de nossos clientes a upgrades, atualizações, melhorias e outras versões de manutenção serão estabelecidos apenas no contrato de licença de software aplicável .
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition