A proliferação atual de ferramentas para aprimorar o desenvolvimento de software é um motivo de comemoração. Muitas pessoas incríveis trabalham diariamente para construir e distribuir utilitários, plug-ins e IDEs que tornam nosso desenvolvimento mais fácil! No entanto, o outro lado da moeda da proliferação descreve uma luta constante para identificar a melhor ferramenta para o trabalho atual e para o futuro. Se você já se deparou com oito estruturas competindo por sua atenção no mesmo domínio de software e sentiu paralisia de escolha, você entende como pode ser difícil fazer essa escolha pessoal e empresarial significativa. Com isso em mente, estamos embarcando na missão de publicar uma série de white papers que comparam e contrastam o RAD Studio com outras estruturas importantes para o desenvolvimento de aplicativos para descobrir a melhor escolha de longo prazo. Nosso público-alvo são desenvolvedores que devem entender intimamente sua ferramenta de escolha e também tomadores de decisão e estrategistas de negócios que buscam uma estrutura que oferecerá suporte a entrega no prazo, expansão futura e estabilidade de longo prazo.
Metodologia
Cinco aplicativos de referência serão usados para comparar as estruturas selecionadas
- Calculadora simples estilo Windows 10
- Explorador recente do GitHub
- Explorador de arquivos do Windows
- Leitor de notícias Unicode RSS (com banco de dados local)
- Aplicação de captura de tela e histórico
Cada aplicativo incorpora funções básicas cumpridas por um bom framework, como design de UI, comunicação REST API, suporte Unicode, suporte de banco de dados, etc. Esses aplicativos serão desenvolvidos por especialistas nos frameworks selecionados (voluntários para Delphi e contratados para outros frameworks) e avaliados de acordo com às principais métricas do projeto.
Métricas
Esses documentos avaliarão as estruturas nas áreas de produtividade do desenvolvedor , funcionalidade da estrutura , flexibilidade da ferramenta e desempenho do tempo de execução .
- Produtividade do desenvolvedor é a medida de esforço e código necessário para que os desenvolvedores concluam tarefas de desenvolvimento típicas. O tempo necessário para concluir as tarefas de desenvolvimento impacta a entrega da solução e o volume de código produzido impacta os esforços de manutenção (mais código = mais bugs). A produtividade impacta diretamente o tempo de chegada do produto ao mercado e os custos de mão de obra de longo prazo. A produtividade será medida comparando a velocidade de desenvolvimento inicial, o tempo de construção de “speedrun” final e o tamanho do código de cada aplicativo de benchmark escrito nas estruturas em questão.
- Funcionalidade refere-se à sua adequação a uma tarefa específica, definida neste projeto como sua extensibilidade e segurança. A excelente funcionalidade do framework permite que as empresas criem suas próprias extensões na língua nativa e também protejam seu código-fonte contra exploração. A funcionalidade do framework será avaliada de acordo com sua extensibilidade nativa, resistência à descompilação e exploits conhecidos.
- Flexibilidade se refere à amplitude de tarefas que podem ser realizadas com a ferramenta. Embora IDEs e estruturas sejam tecnicamente infinitamente flexíveis porque qualquer coisa pode ser desenvolvida dentro deles, este projeto se concentrará no uso de plataforma cruzada, complexidade e requisitos de implantação, ferramentas, integração com “lojas de aplicativos” e ferramentas de acesso a banco de dados. A flexibilidade da estrutura permite que os desenvolvedores atinjam seus objetivos com a incorporação mínima de outras linguagens / ferramentas e fornece um terreno fértil para um mercado robusto de ferramentas de terceiros . A flexibilidade será avaliada qualitativamente com base nos recursos nativos de cada estrutura, opções de implantação e ofertas de terceiros.
- O Runtime Performance permite que os usuários finais julguem um aplicativo em comparação com outro com os mesmos recursos e interface. As empresas que criam aplicativos com desempenho de tempo superior evitam a insatisfação do cliente, minimizando os tempos de espera e o uso de recursos em máquinas lentas. O desempenho do tempo de execução será avaliado pelo tempo de inicialização, pico de uso de memória e uso médio de memória.
Roteiro do Projeto
A Embarcadero planeja este projeto como uma comparação iterativa entre RAD Studio, Delphi e C ++ Builder com outros frameworks, com o objetivo de estimular a conversa com outros desenvolvedores de framework. Todas as pesquisas e dados serão publicados no GitHub, para outros revisarem. A primeira comparação é entre a Visual Component Library (VCL) do RAD Studio e o Windows Presentation Foundation (WPF) .NET usando o aplicativo de benchmark Calculator. Em seguida, a estrutura de multi-aplicativos FireMonkey da RAD Studio será testada em relação ao Electron. Espere futuras iterações para continuar a trabalhar por meio dos projetos de referência mencionados acima, incorporar novas estruturas e construir sobre esses documentos iniciais para fornecer uma comparação abrangente das principais ferramentas de desenvolvimento de 2020.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition