Tenho boas notícias para você, o futuro do desenvolvimento de software chegou! Bem, para ser preciso, o próximo grande acontecimento no futuro do desenvolvimento de software está aqui … de novo.
Table of Contents
Funciona em qualquer lugar, basta adicionar RAM
Eu tenho esse bloqueio mental sobre o nome Electron. Não tenho certeza do porquê, mas sempre que tento lembrar o nome dessa estrutura onipresente da web, minhas pequenas células cinzas gritam “Eclipse” e, por mais que tente, não consigo invocar o nome correto no momento apropriado durante o vaivém de um webinar.
Acho que tenho uma teoria sobre por que isso está acontecendo; minha mente inconsciente está tentando me impedir de cruzar para o lado negro para usar o Electron para criar aplicativos de plataforma cruzada.
O que há de errado em usar o Electron?
Olha, não há nada de errado em usar o Electron como tal. Na verdade, usei o Electron e produzi um aplicativo que era, na verdade, um site encapsulado pela estrutura e pelo tempo de execução do Electron. Mas, dito isso, é um comedor voraz. Ele consumirá cada parte dos recursos de RAM e CPU de sua máquina se for deixado por conta própria. Se você não acredita em mim, faça uma busca rápida na web por “problemas de elétrons”.
As vantagens do Electron são que ele pode ser um caminho rápido para o mercado. Se você tem um aplicativo da web, não é uma tarefa massiva envolver esse site ou aplicativo da web com a estrutura Electron. Além disso, ele implementa um sistema de atualização automática, o que significa que você pode lançar novas versões e melhorias com um atrito bastante baixo.
Um desenvolvedor da web não é necessariamente um desenvolvedor de aplicativos
Alguns problemas surgem. Nos bastidores de quase todos os aplicativos Electron está a besta que é o Node.js – portador do NPM, o Node Package Manager. O NPM é um repositório excelente de add-ons, componentes, módulos e Nodestuffs que economizam tempo. Os desenvolvedores de elétron / nó podem obter um pacote para quase tudo. Se você é um desenvolvedor da Web com algum conhecimento de JavaScript, o NPM pode permitir que você extraia componentes para economizar muito trabalho.
Usar o NPM não é um pouco como instalar componentes do Delphi?
Bem, é sim. Exceto com uma diferença muito específica: o Delphi é compilado para o código nativo com um compilador otimizado. Se você incluir pacotes de 1000 Node – seja deliberadamente devido a alguma forma de otimismo excessivo ou inadvertidamente devido a um pacote ter uma dependência de outro que depende de outros cinco que dependem de outros seis pacotes – então você terá 1000 pacotes de Node em seu mesmo que tudo o que faça é exibir uma página dizendo ” olá, mundo ” em magenta piscando.
Se você fizer o mesmo em um aplicativo Delphi, terá um monte de lixo desnecessário incluído – mas o compilador e o mecanismo de vinculação do Delphi excluirão uma grande quantidade de coisas que você puxou, mas não foi realmente usado. Ele não pode protegê-lo totalmente de você mesmo e de seus acumuladores de componentes na pia da cozinha, mas definitivamente o salvará de criar um aplicativo Gigagbyte quando ele precisava de apenas alguns MB no máximo.
O código baixo é a próxima grande novidade
Certo. Aplicativos de baixo código . Você já viu alguns deles e, sim, eles podem ser ótimos para criar aplicativos, geralmente respondendo a perguntas em um assistente ou arrastando e soltando blocos visuais predefinidos para desenhar o programa na tela como um fluxograma em esteróides.
Sim, bem feitas e em campos estreitos de implementação, essas linguagens de programação desenhe você mesmo podem ser muito úteis, especialmente no setor educacional, onde podem ajudar os novatos a visualizar o funcionamento do fluxo de um programa.
Temos até um FireMonkey Low Code Wizard para RAD Studio, então não é uma ideia totalmente horrível.
Mas espere um minuto …
O desenvolvimento visual é uma coisa nova?
Tenho idade suficiente para ser um programador de computador que aprendeu a programar nas décadas de 1970 e 1980. Eu escrevi meu primeiro aplicativo por dinheiro, um banner de texto publicitário, em 1979. Era um texto porque tudoera texto. Sem mouses, sem ponteiros, sem janelas, sem diretórios / pastas – sem MS-DOS ou Windows. Passei a escrever COBOL para viver e, depois, programas C, todos feitos da ‘maneira mais difícil’ com Vi, Edit ou EdLin (sim, eu realmente sei como sair do VIM). Nos primeiros três meses como um desenvolvedor COBOL, nós, programadores juniores, tivemos que escrever nossos programas em folhas de codificação COBOL – literalmente pedaços de papel escritos com uma caneta. Usávamos jalecos brancos porque a computação era uma ciência e os cientistas trabalhavam em laboratórios. Então nós temos ‘terminais’ para que possamos digitar o código por conta própria. Sem mais jalecos, embora de repente tivéssemos que usar ternos de três peças, já que agora éramos um “negócio” e os executivos usavam ternos.
Foi assim, com poucas variações, pelos próximos 12 anos ou mais. Sério, o único ‘desenvolvimento visual’ foi um fluxograma desenhado à mão.
Microsoft corre para o resgate
Então veio o Visual Basic. Foi ótimo, mas foi lento como uma lesma em um festival de cerveja e compilado em uma camada de pseudo-código em vez da supervelocidade de assembly nativo ou programas C. Essa natureza interpretativa também gerou um problema chamado “inferno de DLL”, em que os tempos de execução que tornavam possíveis programas minúsculos em Visual Basic teriam várias versões incompatíveis entre si e davam origem a pontos de entrada de função ausentes que eram terrivelmente difíceis de resolver. Além disso, o VB confiava muito nos controles VBX e OCX que adicionavam funcionalidade, muitas vezes para fazer coisas bastante comuns, mas necessárias que faltavam no tempo de execução – mas eles também podiam ser diferentes do esperado pelo seu aplicativo, frequentemente de maneiras fatais para o seu programa ruim.
Isso não se parece muito com a situação com o Electron? Também soa um pouco como os primeiros dias do Dot Net: “ este aplicativo requer Dot Net Runtime XYZ, baixe-o agora ” – o que significava um download de 500 MB; você poderia iniciar o download com segurança e ir almoçar enquanto ele fazia isso.
A internet é só um bebê
Seu programa VB pode ser muito pequeno. Mas aquele pequeno aplicativo estava realmente aproveitando uma instalação monstruosa do tempo de execução do Visual Basic e muitos artefatos de instalação VBX / OCX. Isso foi quando os modems eram considerados rápidos se chegassem a 56K em uma linha telefônica padrão. Se você não teve sorte, seu modem era apenas 1200/1200 ou 2400 speed box. Cinco megabytes era um download lento, tedioso e frustrante, especialmente se sua mãe pegasse o telefone para ligar para tia Gertrude no meio do caminho.
Um anúncio de revista mudou minha vida
Então, um dia em 1995, eu estava olhando uma revista de informática (que na verdade era impressa em papel real, ee aqueles eram os dias) e vi um anúncio para este novo sistema chamado Delphi que permitiria a você criar seus programas arrastando e soltando elementos visuais em ‘formulários’ – um pouco como você faria no Visual Basic – exceto que era baseado em um compilador e vinculador de otimização incrivelmente rápida que podia produzir código nativo sem a necessidade de tempos de execução crescentes e era, na verdade, imune ao inferno de DLL que me atormentou – e a muitos milhares de outras pessoas – trabalhando com Visual Basic.
Encomendei uma cópia do Delphi 1 no dia em que foi lançado. Eu ainda tenho o recibo.
Olá, mundo, do jeito mais baixo de código – na década de 1990
Portanto, com este novo Delphi você teve que dedicar algum tempo para aprender Pascal. Achei que seria um pouco difícil escalar, mas descobri que não era muito diferente do BASIC ou C. Na verdade, tinha a facilidade de uso do BASIC com todos os profissionais, perto do poder do metal de C, evitando muitas das funções esotéricas alucinantes de ambos.
Para criar um programa que mostrasse uma janela básica com um botão que dizia “olá, mundo” quando você clicava nele, era necessária uma linha de código escrito. Visual Basic era semelhante, até agora tudo bem.
Então compilei o aplicativo Delphi e percebi, ao executá-lo, que seria iniciado de qualquer lugar no computador – ou do computador de qualquer outra pessoa – sem ter que instalá-lo primeiro.
Naquela época, não tínhamos drives USB. O disquete ainda governa o mundo como a ferramenta de escolha para pegar um programa que você escreveu em um computador e instalá-lo em outro. Eu poderia copiar o aplicativo para o disquete e depois levá-lo para o computador de um colega e executá-lo do disquete e tudo isso sem instalar NADA na máquina dele. Não era apenas baixo código – era também nenhuma instalação.
Você não poderia fazer isso com um programa Visual Basic, a menos que a outra máquina tivesse o runtime do Visual Basic instalado.
O método de baixo código, sem instalação ainda funciona hoje para Delphi
O vento avança algumas décadas. Hoje eu tenho um aplicativo cliente-servidor bastante popular que é bastante abrangente para o mercado-alvo e repleto de recursos. Ele se conecta a um banco de dados MySQL e ‘fala’ com um serviço do Windows escrito de maneira personalizada (em Delphi, por mim) para empacotamento de dados e licenciamento.
O aplicativo, completo com recursos gráficos de multi-resolução compilados, acesso direto ao MySQL nativo, criptografia, PDF e geração de visualização de relatório – repleto de recursos, compila para um tamanho de aplicativo final de 10 MB. DEZ megabytes.
A parte do servidor tem apenas 917kb. Sim, menos de um megabyte .
Você pode executar tudo a partir de um stick de memória USB, uma vez que ainda não requer instalação para o lado do cliente.
Seu aplicativo moderno é um monstro inchado
Compare meu aplicativo Delphi de dez megabytes com alguns dos novos queridinhos do mundo do código baixo, especialmente o Electron, e você verá que o Delphi, o garoto do código baixo original, ainda tem muitos truques. É o mesmo conjunto de truques que sempre teve em seu repertório: desenvolvimento baseado em componentes fácil e rápido, um compilador vertiginosamente rápido, compilando até o código de nível nativo que produz aplicativos sólidos que rodam e continuam rodando enquanto o sistema operacional e o hardware evolui.
A Delphi é antiquada?
Bem, o RAD Studio Delphi não permanece fixo nos dias felizes do boom da tecnologia dos anos 90; além da óbvia modernidade do IDE, o RAD Studio adiciona agora o FireMonkey FMX Low Code Wizard para lhe dar uma vantagem sobre o trabalho burro, o REST Debugger para mantê-lo atualizado com o mundo moderno de consumir serviços online, cada vez mais implantação destinos como iOS, Android e Linux e também a Web. O mercado de componentes de terceiros ainda é forte, com algo disponível para quase tudo que você possa desejar. Mas, melhor ainda, o compilador e o vinculador certificam-se de que, ao contrário da pobre lista de pacotes Node do Electron, você está apenas puxando o código real que pode ser executado, não tudo e nada apenas porque é referenciado por nada mais do que um arquivo de inclusão.
O futuro do desenvolvimento de software
O futuro do desenvolvimento de software parece que pode incluir alguns recursos irritantemente precisos de “IA inteligente”, como aqueles em beta no momento para o projeto Copilot . O Copilot trata de tentar adivinhar qual código você está tentando criar e, em seguida, tentar escrevê-lo com base no que o aprendizado de máquina foi treinado, principalmente retirado de repositórios públicos.
Ele já entrou em perigo por ser um pouco bom demais em regurgitar o código de outra pessoa literalmente e por sugerir um texto de licença que acabou sendo uma licença perfeitamente boa, mas para o contexto errado no qual o desenvolvedor do aplicativo estava trabalhando.
Serei substituído por um programador de IA com habilidades de codificação de aprendizado de máquina? Pode ser. Embora já tenha ouvido isso antes, ao longo das décadas trabalhei no setor. A realidade é que estou muito mais propenso a ser substituído pela terceirização para algum país onde o custo de vida é baixo o suficiente para que a disparidade no que eles estão preparados para trabalhar seja grande demais para eu competir.
Porém, se eles usarem o Electron … prevejo que o cliente voltará … eventualmente …
RAD Studio Delphi é a maneira mais rápida e eficiente de criar aplicativos com o mínimo de esforço. Pegue suas ideias e transforme-as em realidade baixando um teste hoje.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition