Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiRAD StudioResearch

Delphi oferece viabilidade de longo prazo em relação à estrutura WPF .NET de elétron e fim de vida em constante mudança

wp1 long term

Qual é o desempenho do Delphi, do WPF .NET Framework e do Electron em comparação entre si, e qual é a melhor maneira de fazer uma comparação objetiva? A Embarcadero encomendou um white paper para investigar as diferenças entre Delphi, WPF .NET Framework e Electron para a construção de aplicativos de desktop do Windows. O aplicativo de referência – um clone da Calculadora do Windows 10 – foi recriado em cada estrutura por três voluntários Delphi Most Valuable Professionals (MVPs), um desenvolvedor WPF freelance especialista e um desenvolvedor freelance Electron especialista. Nesta postagem do blog, vamos explorar a métrica de Viabilidade de Longo Prazo, que faz parte da comparação de funcionalidade usada no white paper.

calc

Viabilidade de Longo Prazo

Quando as empresas escolhem o Delphi como sua estrutura de desenvolvimento, elas estão investindo em uma estrutura proprietária (que inclui o código-fonte da biblioteca em tempo de execução) com custos iniciais e uma taxa de atualização anual opcional. Por esse custo, eles ganham uma estrutura estável, compatível com as versões anteriores e crescente, e podem ter certeza de que os aplicativos desenvolvidos hoje terão suporte e manutenção no futuro.

O Windows Presentation Foundation com .NET Framework oferece às empresas uma estrutura econômica com o apoio total da Microsoft, mas inclui todos os desafios que as escolhas da Microsoft induzem. O WPF tem uma história mais curta do que o Delphi, mas foi liberado em 2018, o que pode dar a alguma versão dele uma perspectiva brilhante de longo prazo, apesar de seus laços com o .NET Framework proprietário para a maioria do desenvolvimento do Windows. .NET Framework 4.8 foi o último lançamento em 18 de abril de 2019, de acordo com a Microsoft.

Electron é uma plataforma de código aberto gratuita que oferece às empresas a oportunidade de desenvolver aplicativos a partir de qualquer sistema operacional importante. O futuro da Electron é incerto, entretanto. O projeto Electron é executado pelo GitHub, que agora é uma subsidiária da Microsoft. É o mais novo dos três frameworks e ainda está em fase de lua de mel. Ele carece de um IDE nativo, dando às empresas uma escolha, mas também removendo algumas conveniências como compilação integrada e bibliotecas de teste incluídas. As empresas que desenvolvem ferramentas internas teriam mais dificuldade com o Electron do que com outras estruturas.

wp1 feasibility badge

Vamos dar uma olhada em cada estrutura.

Delphi

O Delphi tem crescido, amadurecido e se expandido desde 1995. Seu desenvolvimento mantém a compatibilidade com versões anteriores ao grau que um aplicativo de 1995 pode ser portado para a versão atual do Delphi com mudanças mínimas. A documentação abrangente ajuda na manutenção, e uma equipe de suporte completa está disponível para atualização, migração ou ajuda na solução de problemas. No momento em que este livro foi escrito, a versão mais recente do Delphi estava disponível no RAD Studio 10.4.1 Sydney, que foi lançado em 2 de setembro de 2020. Quer saber mais? Verifique as notas de lançamento de muitas versões do Delphi .

Para algum contexto na linha do tempo da linguagem de programação, C ++ foi lançado em 1983, Python em 1991, Java em 1995, PHP em 1995, JavaScript em 1995 e Delphi em 1995. 1995 foi um ano de nascimento para muitas dessas linguagens de programação, como você pode ver. O site de aniversário da Delphi contém um cronograma de lançamento do Delphi de 1995 até o presente. Aqui está um trecho da linha do tempo de lançamentos nos últimos 25 anos.


DELPHI 1 – 14 DE FEVEREIRO DE 1995

Suporte a Windows 3.1 de 16 bits, ferramentas visuais bidirecionais, componentes / VCL, suporte a banco de dados via BDE e links SQL, dados de banco de dados ao vivo em tempo de design

DELPHI 2 (1996)

Suporte para Windows 95 de 32 bits, grade de banco de dados, automação OLE, herança de formato visual, strings longas, Delphi 1 incluído para 16 bits

DELPHI 3 (1997)

Interfaces (baseadas em COM), Code Insight, Modelos de Componente, Depuração de DLL, WebBroker, ActiveForms, Pacotes de Componente, arquitetura MIDAS multicamadas

DELPHI 4 (1998)

Ancoragem, âncoras e restrições, sobrecarga de método, matrizes dinâmicas, suporte para Windows 98  

DELPHI 5 (1999)

Layouts de desktop, frames, suporte a XML, DBGo para ADO, traduções de linguagem  

DELPHI 6 (2001)

Janela de estrutura, SOAP Web Services, dbExpress, BizSnap, WebSnap, DataSnap   

DELPHI 7 (2002)

Desenvolvimento de aplicativos da Web, temas do Windows XP          

DELPHI 8 (2003)

Suporte .NET                                            

DELPHI 2005 (2004)

Namespaces de várias unidades, Error Insight, guia History, for..in, Function inlining, Theme-enabled IDE, Refactorings, Wild-card in usa declaração, Data Explorer, Integrated Unit Testing     

DELPHI 2006 (2005)

Sobrecarga do operador, métodos e propriedades estáticos, Diretrizes do Designer, Visualização do posicionador de formulário, Modelos de código ativo, Completação de bloco, números de linha, Barras de alteração, edição sincronizada, Dobramento de código e navegação de método, Dicas de ferramentas de depuração, Paleta de ferramentas pesquisáveis, gerenciador de memória FastMM , Suporte para MySQL, suporte Unicode em dbExpress, TTrayIcon, TFlowPanel, TGridPanel

DELPHI 2007 (2006)

MS Build, Build Events, Build Configurations, suporte para Windows Vista – glassing, theming, dbExpress 4 – pool de conexão, drivers delegados, janelas de visualização de CPU, aprimoramentos de FastCode, suporte IntraWeb / AJAX, página de boas-vindas, Sim-ship of English, French, German , Japonês

DELPHI 2009 (2008)

Unicode, genéricos, métodos anônimos, controles de faixa de opções, DataSnap, configurações de compilação, explorador de classes, janela do editor de biblioteca de tipos, suporte a PNG                           

DELPHI 2010 (2009)

Atributos, RTTI aprimorado, tela Direct2D, suporte para Windows 7, toque / gestos, formatador de código-fonte, pontos de interrupção específicos de thread, visualizadores de depurador, unidade IOUtils para arquivos, caminhos e diretórios, auditorias e métricas de código-fonte, compilação de plano de fundo, código-fonte para MIDAS. DLL

DELPHI XE (2010)

Regular Expression Library, Subversion Integration, dbExpress –Filters, Authentication, ProxyGeneration, JavaScript Framework, suporte REST, Indy WebBroker, Cloud – Amazon EC2, Microsoft Azure, Build Groups, Named Threads no Debugger, Auditorias de linha de comando, Metrics and Documentation Generation

DELPHI XE2 (2011)

Windows de 64 bits, Mac OSX, FireMonkey, Live Bindings – FireMonkey e VCL, VCL Styles, Unit Scope Names, Platform Assistant, DataSnap – Connectors for Mobile Devices, Cloud API, suporte HTTPS, monitoramento TCP, suporte dbExpress para drivers ODBC, implantação Gerente

DELPHI XE3 (2012)

Metropolis UI para Windows 8, 7, Vista e XP, ações FM, toque / gestos, layouts e âncoras, suporte FM para estilos de bitmap, fonte de material TM para componentes FM 3D, áudio / vídeo FM, suporte VCL / FM para dispositivos sensores, FM Componente do sensor de localização, suporte para teclado virtual, suporte para DirectX 10

DELPHI XE4 (ABRIL DE 2013)

Suporte iOS – dispositivo, simulador, loja de aplicativos iOS, suporte iOS para telas padrão e retina, estilos iOS, estilos retina, teclados virtuais, designer de formulário móvel, componente TWebBrowser, iOS ARC (contagem automática de referência) para todas as classes TObject, Platform Services, Notificações, componentes do sensor de localização, movimento e orientação, componente TListView, suporte para tela cheia Mac OSX, gerenciador de implantação para dispositivos iOS, componentes de acesso universal a dados FireDAC, InterBase – IBLite e IBToGo

DELPHI XE5 (SETEMBRO DE 2013)

Suporte para Android – dispositivos e emulador. Versões do sistema operacional: Jelly Bean, Ice Cream Sandwich e Gingerbread, componente de notificação, suporte ao estilo iOS 7, designer de formulário configurável para dispositivos móveis, gerenciador de implantação para dispositivos Android, acesso de cliente de serviços REST e componentes de autenticação, suporte Android para todos os XE4 FM e recursos de banco de dados listados acima

DELPHI XE6 (ABRIL 2014)

Estilos Windows 7 e 8.1, Acesso à nuvem RESTful WEB Services, FireDAC compatível com mais bancos de dados, Suporte InterBase totalmente integrado                           

DELPHI XE7 (SETEMBRO 2014)

Aplicativos FireMonkey para vários dispositivos suportam plataformas de desktop e móveis, banco de dados incorporável IBLite para Windows, Mac, Android e iOS, suporte para vários monitores, suporte para multitoque e alterações de gestos, modo imersivo de tela inteira para Android, FireMonkey oferece suporte para Pull- to-Refresh Feature para TListView no iOS e Android, FireMonkey Save State Feature

DELPHI XE8 (ABRIL 2015)

GetIt Package Manager, melhorias FireDAC, nova barra de ferramentas da comunidade Embarcadero, apresentação nativa de TListView, TSwitch, TMemo, TCalendar, TMultiView e TEdit no iOS, mapas interativos, novas opções para biblioteca de mídia, InputQuery agora suporta mascaramento de campos de entrada

DELPHI 10 ‘SEATTLE’ (AGOSTO 2015)

Suporte a Android Background Services, suporte FireDAC para o banco de dados NoSQL MongoDB, FireMonkey controla o suporte zOrder para Windows, Nova classe TBeaconDevice para transformar um dispositivo em uma das plataformas suportadas em um “beacon”, StyleViewer para Windows 10 Style in Bitmap Style Designer, High – Consciência de DPI e suporte a monitores de 4K, estilos do Windows 10, suporte para serviços Android no IDE, suporte para chamada de APIs WinRT

DELPHI 10.1 ‘BERLIM’ (ABRIL DE 2016)

Suporte para Android 6.0, suporte para Windows Desktop Bridge, Catálogo de endereços para iOS e Android, Novo ListView Item Designer, Novo controle CalendarView, QuickEdits para VCL, Suporte para alto DPI no Windows, Hint Property Changes, EMS Apache Server Support, instalador da Web baseado em GetIt

DELPHI 10.2 ‘TÓQUIO’ (MARÇO DE 2017)

Suporte Linux de 64 bits para Delphi, FireDAC fornece suporte Linux para todos os DBMS habilitados para Linux, suporte MariaDB (v5.5), suporte MySQL para v5.7 e suporte Firebird para Direct I / O, QuickEdits para FMX, Novos controles VCL para Windows 10, aparência e comportamento IDE atualizados (tema escuro), licença de implantação de servidor RAD incluída

DELPHI 10.3 ‘RIO’ (NOVEMBRO 2018)

C ++ 17 para Win32, novos recursos de linguagem Delphi, FireMonkey Android zOrder, controles nativos e API de nível 26, Windows 10, VCL e melhorias de HighDPI, modernização extensiva de interface de usuário IDE, extensão de arquitetura de servidor RAD, melhorias de qualidade e desempenho

DELPHI 10.3.1 ‘RIO’ (FEVEREIRO 2019)

Suporte expandido para dispositivos da série iOS 12 e iPhone X. RAD Server Console UI reprojeto e migração para a estrutura Ext JS (disponível via GetIt). Suporte FireDAC aprimorado para Firebird 3.0.4 e Firebird embutido. Aprimoramentos da biblioteca de cliente HTTP e SOAP no Windows. Duas novas ferramentas de produtividade IDE: Bookmarks e Navigator. 15 novos estilos personalizados de VCL Windows e FireMonkey de vários dispositivos.

DELPHI 10.3.2 ‘RIO’ (JULHO DE 2019)

Delphi macOS 64-bit, C ++ 17 para Windows 64-bit, C ++ LSP Code Insight Improvements, RAD Server Wizards e Deployment Improvements, Enhanced Firebase Android Support, Delphi Linux Client Application Support

DELPHI 10.3.3 ‘RIO’ (NOVEMBRO 2019)

Suporte Delphi para Android de 64 bits, suporte para iOS 13 e macOS Catalina (Delphi), RAD Server Docker Deployment, Enterprise Connectors in Enterprise & Architect Edition

DELPHI 10.4 ‘SYDNEY’ (MAIO 2020)

Suporte nativo do Windows de alto desempenho significativamente aprimorado, maior produtividade com conclusão de código incrivelmente rápida, código mais rápido com registros gerenciados e tarefas paralelas aprimoradas em CPUs modernas de vários núcleos, mais de 1000 melhorias de qualidade e desempenho e muito mais.

DELPHI 10.4.1 ‘SYDNEY’ (SETEMBRO 2020)

RAD Studio 10.4.1 tem um forte foco em melhorias de qualidade para IDE, Delphi Code Insight (LSP), Biblioteca Paralela, SOAP e XML, C ++ Toolchain, FireMonkey, VCL, Delphi Compiler e iOS Deployment.

WPF .NET Framework

Lançado em 2006, o WPF foi desenvolvido junto com a estrutura .NET. O código-fonte foi aberto pela Microsoft em 2018 e forneceu vários roteiros indicando o envolvimento e o crescimento da comunidade em um futuro próximo. Mudanças significativas no .NET e as decisões de mudança de design da Microsoft afetam a viabilidade de longo prazo do WPF. O WPF .NET Framework 4.8 era a versão final do .NET Framework de acordo com a Microsoft e foi lançado em 18 de abril de 2019.

O WPF foi introduzido no .NET Framework 3.0 em 2006. De acordo com um artigo no site CodeProject, as versões e aprimoramentos do WPF estão listados nesta tabela:

WPF Version Release (YYYY-MM) .NET Version Visual Studio Version Major Features
3.0 2006-11 3.0 N/A Initial Release.
WPF development can be done with VS 2005 (released in Nov 2005) too with few additions.
3.5 2007-11 3.5 VS 2008 Changes and improvements in:
Application model, data binding, controls, documents, annotations, and 3-D UI elements.
3.5 SP1 2008-08 3.5 SP1 N/A Native splash screen support, New WebBrowser control, DirectX pixel shader support.
Faster startup time and improved performance for Bitmap effects.
4.0 2010-04 4.0 VS 2010 New controls: Calendar, DataGrid, and DatePicker.
Multi-Touch and Manipulation
4.5 2012-08 4.5 VS 2012 New Ribbon control
New INotifyDataErrorInfo interface
4.5.1 2013-10 4.5.1 VS 2013 No Major Change
4.5.2 2014-05 4.5.2 N/A No Major Change
4.6 2015-07 4.6 VS 2015 Transparent child window support
HDPI and Touch improvements

A seguir, um trecho da página Histórico de versões do Wikipedia .NET Framework para .NET Framework 4.6.1 a 4.8

.NET Framework 4.6.1 – O lançamento do .NET Framework 4.6.1 foi anunciado em 30 de novembro de 2015. Esta versão requer Windows 7 SP1 ou posterior. Novos recursos e APIs incluem:

.NET Framework 4.6.2 – A visualização do .NET Framework 4.6.2 foi anunciada em 30 de março de 2016. Foi lançada em 2 de agosto de 2016. Esta versão requer Windows 7 SP1 ou posterior.

.NET Framework 4.7 – Em 5 de abril de 2017, a Microsoft anunciou que o .NET Framework 4.7 foi integrado ao Windows 10 Creators Update, prometendo um instalador autônomo para outras versões do Windows. Uma atualização para o Visual Studio 2017 foi lançada nesta data para adicionar suporte para o .NET Framework 4.7. O prometido instalador autônomo para o Windows 7 e posterior foi lançado em 2 de maio de 2017, mas tinha pré-requisitos não incluídos no pacote.

.NET Framework 4.7.1 – .NET Framework 4.7.1 foi lançado em 17 de outubro de 2017. Entre as correções e novos recursos, ele corrige um problema de dependência do d3dcompiler. Ele também adiciona compatibilidade com o .NET Standard 2.0 pronto para uso.

.NET Framework 4.7.2 – .NET Framework 4.7.2 foi lançado em 30 de abril de 2018. Entre as mudanças estão melhorias para ASP.NET, BCL, CLR, ClickOnce, Networking, SQL, WCF, Windows Forms, Workflow e WPF. Esta versão está incluída no Server 2019.

.NET Framework 4.8 – .NET Framework 4.8 foi lançado em 18 de abril de 2019. Era a versão final do .NET Framework, todo o trabalho futuro indo para a plataforma .NET Core que eventualmente se tornará .NET 5 em diante. Esta versão incluiu aprimoramentos JIT portados do .NET Core 2.1, aprimoramentos de alta DPI para aplicativos WPF, aprimoramentos de acessibilidade, atualizações de desempenho e aprimoramentos de segurança. Suportava Windows 7, Server 2008 R2, Server 2012, 8.1, Server 2012 R2, 10, Server 2016 e Server 2019 e também enviado como uma imagem de contêiner do Windows. A versão mais recente é 4.8.0 Build 3928, lançada em 25 de julho de 2019 com um tamanho de instalador offline de 111 MB e uma data de assinatura digital de 25 de julho de 2019.

-WIKIPEDIA

Elétron

Lançado em 2013, Electron é desenvolvido e mantido ativamente pelo GitHub e rapidamente forneceu suporte para tecnologias emergentes como o Apple Silicon (cerca de novembro de 2020). Ele não tem o histórico e a longevidade estável necessária para determinar se os aplicativos Electron desenvolvidos em 2020 sobreviverão até 2030. O GitHub é uma subsidiária da Microsoft. Electron oferece uma alternativa gratuita para Delphi e WPF, familiaridade para desenvolvedores front-end e capacidade de plataforma cruzada ao custo de proteção IP, ferramentas IDE padrão e desempenho de aplicativo.

De acordo com o cronograma de lançamento de elétrons (https://www.electronjs.org/docs/tutorial/electron-timelines), aqui estão os lançamentos.

Version -beta.1 Stable Chrome Node
2.0.0 2018-02-21 2018-05-01 M61 v8.9
3.0.0 2018-06-21 2018-09-18 M66 v10.2
4.0.0 2018-10-11 2018-12-20 M69 v10.11
5.0.0 2019-01-22 2019-04-24 M73 v12.0
6.0.0 2019-05-01 2019-07-30 M76 v12.4
7.0.0 2019-08-01 2019-10-22 M78 v12.8
8.0.0 2019-10-24 2020-02-04 M80 v12.13
9.0.0 2020-02-06 2020-05-19 M83 v12.14
10.0.0 2020-05-21 2020-08-25 M85 v12.16
11.0.0 2020-08-27 2020-11-17 M87 v12.18
12.0.0 2020-11-19 2021-03-02 M89 v14.x

A Delphi oferece a perspectiva de longo prazo mais garantida, a melhor segurança de propriedade intelectual e a personalização interna mais fácil ao custo de uma compra única de licença comercial. A barreira de entrada do WPF é menor e oferece melhores opções de acessibilidade, mas está sujeito às revisões do .NET da Microsoft, é mais difícil de personalizar e pode ser descompilado com facilidade. O Electron é totalmente gratuito e pode ser desenvolvido em cada uma das três principais plataformas de desktop, mas paga por essa flexibilidade por meio de sua perspectiva incerta de longo prazo e contando com patrocínios corporativos e suporte da comunidade para desenvolvimento adicional.

Explore todas as métricas no white paper “Descobrindo a melhor estrutura de desenvolvedor por meio de benchmarking”:

Baixe o artigo gratuito Delphi vs. WPF vs. Electron para desktops Windows

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Sobre o autor

Diretor de Consultoria Delphi da GDK Software USA. Muitas patentes relacionadas a software, incluindo desbloqueio por deslize e padrão e mecanismos de pesquisa. Primeiros emblemas Silver e Gold Delphi no Stack Overflow Ex-advogado de desenvolvedores da Embarcadero Technologies. Fã de longa data de programação, principalmente de Delphi. Autor, Podcaster/YouTuber, Improvisor, Orador, Pai e Amigo.

Leave a Reply

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

IN THE ARTICLES