Delphi (software)
![]() | |
![]() Captura de tela do Delphi 10.4, com o editor de formulários visuais sendo usado para criar um aplicativo | |
Autor(es) original(ais) | Borland , CodeGear , Embarcadero |
---|---|
Desenvolvedor(es) | Tecnologias Embarcadero |
Lançamento inicial | 1995 |
Lançamento estável | RAD Studio 12.2 Atenas [1]
/ 12 de setembro de 2024 |
Escrito em | Principalmente Delphi (Object Pascal) |
Sistema operacional | Funciona no Windows ; [2] tem como alvo Windows , Linux , macOS , Android , iOS |
Tipo | Desenvolvimento de software , Designer , IDE , Compilador , RTL |
Licença | Grátis |
Site | www.embarcadero.com/products/delphi |
Delphi é uma linguagem de programação de uso geral e um produto de software que usa o dialeto Delphi da linguagem de programação Object Pascal e fornece um ambiente de desenvolvimento integrado (IDE) para desenvolvimento rápido de aplicativos de desktop, celular , web e software de console , [3] atualmente desenvolvido e mantido pela Embarcadero Technologies .
Os compiladores do Delphi geram código nativo para Microsoft Windows , macOS , iOS , Android e Linux ( x64 ). [4] [5] [6]
O Delphi inclui um editor de código, um designer visual, um depurador integrado, um componente de controle de código-fonte e suporte para plugins de terceiros . O editor de código apresenta Code Insight ( completar código ), Error Insight (verificação de erros em tempo real) e refatoração . O designer de formulários visuais tem a opção de usar a Visual Component Library (VCL) para desenvolvimento puro do Windows ou a estrutura FireMonkey (FMX) para desenvolvimento multiplataforma. O suporte a banco de dados é um recurso essencial e é fornecido pelo FireDAC (Database Access Components). O Delphi é conhecido por sua rápida velocidade de compilação, código nativo e produtividade do desenvolvedor. [ citação necessária ]
O Delphi foi originalmente desenvolvido pela Borland como uma ferramenta de desenvolvimento rápido de aplicativos para Windows como sucessor do Turbo Pascal . O Delphi adicionou programação orientada a objetos completa à linguagem existente, e a linguagem cresceu para suportar genéricos, métodos anônimos , closures e suporte nativo ao Component Object Model (COM).
Delphi e sua contraparte C++ , C++Builder , são interoperáveis e vendidos em conjunto sob o nome RAD Studio. Existem edições Professional, Enterprise e Architect, com as edições superiores tendo mais recursos a um preço mais alto. Há também uma edição Community gratuita, com a maioria dos recursos do Professional, mas restrita a usuários e empresas com baixa receita. [7]
Características
O Delphi suporta desenvolvimento rápido de aplicativos (RAD). Recursos proeminentes são um designer visual e duas estruturas de aplicativos , Visual Component Library (VCL) para Windows e FireMonkey (FMX) para desenvolvimento multiplataforma.
Delphi usa a linguagem de programação baseada em Pascal Object Pascal criada por Anders Hejlsberg para a Borland (agora IDERA) como sucessora do Turbo Pascal. Ela suporta compilação cruzada nativa para muitas plataformas, incluindo Windows, Linux, iOS e Android.
Para melhor dar suporte ao desenvolvimento para o Microsoft Windows e interoperar com o código desenvolvido com outras ferramentas de desenvolvimento de software, o Delphi dá suporte a interfaces independentes do Component Object Model (COM) com implementações de classe de contagem de referência e suporte para muitos componentes de terceiros. Implementações de interface podem ser delegadas a campos ou propriedades de classes. Manipuladores de mensagens são implementados marcando um método de uma classe com a constante inteira da mensagem a ser manipulada. [ citação necessária ]
A conectividade do banco de dados é amplamente suportada por componentes de acesso e reconhecimento de banco de dados VCL.
Versões posteriores incluíram rotinas de biblioteca de tempo de execução atualizadas e aprimoradas, algumas fornecidas pelo grupo comunitário FastCode .
Características
Delphi usa uma linguagem de programação de alto nível fortemente tipada , destinada a ser fácil de usar e originalmente baseada na linguagem anterior Object Pascal. Pascal foi originalmente desenvolvida como uma linguagem de propósito geral "adequada para expressar as construções fundamentais conhecidas na época de forma concisa e lógica", e "sua implementação deveria ser eficiente e competitiva com os compiladores FORTRAN existentes" [8], mas sem recursos de programação de baixo nível ou acesso a hardware. Turbo Pascal e seus descendentes, incluindo Delphi, suportam acesso a hardware e programação de baixo nível, com a facilidade de incorporar código escrito em linguagem assembly e outras linguagens. A orientação a objetos do Delphi apresenta apenas polimorfismo baseado em classe e interface . [9] Metaclasses são objetos de primeira classe. Objetos são referências aos objetos (como em Java ), que Delphi implicitamente desreferencia, então geralmente não há necessidade de alocar memória manualmente para ponteiros para objetos ou usar técnicas semelhantes que algumas outras linguagens precisam. Existem tipos de string dedicados com contagem de referência e também strings terminadas em nulo.
Strings podem ser concatenadas usando o operador '+', em vez de usar funções. Para tipos de string dedicados, o Delphi lida com o gerenciamento de memória sem intervenção do programador. Desde o Borland Developer Studio 2006, há funções para localizar vazamentos de memória .
O Delphi inclui um IDE integrado. Todos os produtos Delphi são fornecidos com uma biblioteca de tempo de execução (RTL) e uma Biblioteca de Componentes Visuais (VCL), incluindo a maior parte do seu código-fonte. Componentes de terceiros (às vezes com código-fonte completo ) e ferramentas para aprimorar o IDE ou para outras tarefas de desenvolvimento relacionadas ao Delphi estão disponíveis, alguns gratuitamente. O IDE inclui uma GUI para localização e tradução de programas criados que podem ser implantados em um tradutor; também há ferramentas de terceiros com mais recursos para essa finalidade. A estrutura VCL mantém um alto nível de compatibilidade de origem entre as versões, o que simplifica a atualização do código-fonte existente para uma versão mais recente do Delphi. Bibliotecas de terceiros geralmente precisam de atualizações do fornecedor, mas, se o código-fonte for fornecido, a recompilação com a versão mais recente pode ser suficiente. A VCL foi uma das primeiras a adotar a injeção de dependência ou inversão de controle ; ela usa um modelo de componente reutilizável, extensível pelo desenvolvedor. Com auxiliares de classe, novas funcionalidades podem ser introduzidas nas classes RTL e VCL principais sem alterar o código-fonte original da RTL ou VCL.
O compilador está otimizando e é um compilador single-pass . Ele pode, opcionalmente, compilar para um único executável que não requer DLLs . O Delphi também pode gerar DLLs padrão, DLLs ActiveX , servidores de automação COM e serviços Windows .
Os IDEs Delphi desde o Delphi 2005 oferecem cada vez mais suporte a recursos de refatoração , como extração de métodos e a possibilidade de criar modelos UML a partir do código-fonte ou modificar o código-fonte por meio de alterações feitas no modelo.
A Delphi possui comunidades na web , onde seus funcionários também participam ativamente.
Compatibilidade com versões anteriores
Delphi é uma das linguagens em que a compatibilidade com versões anteriores está próxima de 100%. Embora cada nova versão do Delphi tente manter o máximo de compatibilidade com versões anteriores possível para permitir a reutilização de código existente, novos recursos, novas bibliotecas e melhorias às vezes tornam as versões mais recentes menos de 100% compatíveis com versões anteriores.
Desde 2016, houve novos lançamentos do Delphi a cada seis meses, com novas plataformas sendo adicionadas aproximadamente a cada segundo lançamento. [10]
Estruturas
Delphi oferece duas estruturas para desenvolvimento de aplicativos visuais, VCL e FireMonkey (FMX):
- Visual Component Library (VCL) é o framework para desenvolvimento de aplicativos Windows puros. VCL é um framework de longa data, incluído na primeira versão do Delphi e desenvolvido ativamente desde então.
- FireMonkey (mais tarde abreviado FMX), foi lançado em 2011, como parte do Delphi XE2, junto com um conjunto adicional de compiladores integrados para plataformas não Windows. FireMonkey é um framework multiplataforma para Windows, macOS, iOS, Android e Linux (x64). As partes GUI do FireMonkey são amplamente baseadas em Direct3D e OpenGL. FireMonkey não é compatível com VCL; são dois frameworks separados. Os aplicativos FireMonkey, no entanto, permitem o compartilhamento fácil de unidades de código não visuais com aplicativos VCL, permitindo que muito código seja portado ou compartilhado facilmente entre as plataformas.
Interoperabilidade
Delphi e sua contraparte C++ , C++Builder , são interoperáveis. Eles compartilham muitos componentes principais, notavelmente o IDE, os frameworks VCL e FMX, e grande parte da biblioteca de tempo de execução . Além disso, eles podem ser usados em conjunto em um projeto. Por exemplo, C++Builder 6 e posteriores podem combinar código-fonte de Delphi e C++ em um projeto, enquanto pacotes compilados com C++Builder podem ser usados de dentro do Delphi. Em 2007, os produtos foram lançados em conjunto como RAD Studio, um host compartilhado para Delphi e C++Builder, que pode ser comprado com um ou ambos. Começando com o Rio, também há interoperabilidade com Python.
Exemplo de programa "Hello World"
programa ObjectPascalExample ;
tipo
THelloWorld = procedimento de classe Put ; fim ;
procedimento THelloWorld . Put ; begin Writeln ( 'Olá, Mundo!' ) ; fim ;
var
HelloWorld : THelloWorld ; { este é um ponteiro implícito }
begin
HelloWorld := THelloWorld . Create ; { construtor retorna um ponteiro para um objeto do tipo THelloWorld } HelloWorld . Put ; HelloWorld . Free ; { esta linha desaloca o objeto THelloWorld apontado por HelloWorld } end .
Observe que a construção de objeto ainda está disponível no Delphi.
História
Usos em escolas
Delphi é o meio usado para ensinar programação nas escolas sul-africanas como uma disciplina de tecnologia da informação (TI). [11]
Roteiros
A Embarcadero costumava publicar "roteiros" descrevendo seus planos de desenvolvimento futuro. O último foi publicado em novembro de 2020. [12] A versão 10.5 mencionada no roteiro de novembro de 2020 foi renomeada para 11.0. A partir do Delphi 11, a Embarcadero decidiu não publicar mais roteiros formais. Em vez disso, possíveis novos recursos agora são apresentados em uma ordem solta por meio de entradas de blog e webinars online. Marco Cantú (gerente de produto) tem um papel importante com seu blog.
Software relacionado
- Borland Enterprise Studio, um precursor do RAD Studio, é um conjunto de desenvolvimento de software que inclui suporte para vários idiomas. O Borland Enterprise Studio para Windows oferece suporte ao Delphi. [13]
- Borland Kylix : Semelhante ao Delphi, mas para Linux, lançado em 2001. Esta foi a primeira tentativa de adicionar suporte ao Linux à família de produtos Delphi. [14] O Kylix usou o novo framework multiplataforma CLX (baseado em Qt ), em vez do VCL do Delphi. O Kylix foi descontinuado após a versão 3. Hoje, o suporte ao Linux é integrado ao produto principal do Delphi e usa o framework multiplataforma FireMonkey.
- O InterBase é um banco de dados SQL incorporável que se integra nativamente ao Delphi e ao C++Builder para desenvolvimento cliente/servidor ou incorporado. Seus recursos distintivos reduzem os requisitos de administração, segurança de dados de nível comercial, recuperação de desastres e sincronização de alterações. Ele também é acessível por todas as principais linguagens e plataformas do mercado com protocolos de conexão de banco de dados como ODBC, ADO, ADO.NET e até mesmo com Java por JDBC/ODBC Bridge ou conectores Java tipo 4.
- JBuilder era uma ferramenta para desenvolvimento Java baseada no Eclipse desde a versão JBuilder 2007.
- RadPHP (mais tarde substituído pelo HTML5 Builder) era um IDE para PHP que fornecia funcionalidade RAD verdadeira. Ele tem um designer de formulários semelhante ao do Delphi ou Visual Basic e um depurador integrado baseado no servidor web Apache . Ele também inclui uma biblioteca VCL portada para PHP. Ao contrário de outros IDEs, ele suporta recursos da Web 2.0, como Ajax . O Delphi para PHP foi anunciado em 20 de março de 2007, renomeado em outubro de 2010 para RadPHP e é baseado no Qadram Q Studio. A Embarcadero adquiriu a Qadram em janeiro de 2011.
- Delphi Prism (mais tarde renomeado Embarcadero Prism) derivado da linguagem Oxygene (anteriormente chamada Chrome) da RemObjects. Ele rodava no Microsoft Visual Studio IDE em vez do RAD Studio. Ele foi licenciado e renomeado pela Embarcadero para substituir o Delphi.NET quando esse produto foi descontinuado.
- Free Pascal é um compilador multiplataforma Pascal de código aberto que suporta a maioria do código Object Pascal do Delphi. Free Pascal também tem suas próprias extensões de linguagem, vários modos de compilador [sintaxe de linguagem] e suporta mais de 18 sistemas operacionais e mais de 9 arquiteturas de processador. [15] Lazarus é um IDE RAD multiplataforma que usa o compilador Free Pascal.
Bibliotecas de terceiros notáveis
- FastCode – Bibliotecas de tempo de execução aprimoradas e gerenciador de memória.
- OpenWire (biblioteca) – Biblioteca de componentes de fluxo de dados, eventos e sincronização de estado.
- Teechart – Biblioteca de gráficos.
Referências
- ^ "Anunciando a disponibilidade do RAD Studio 12.2 Athens". 12 de setembro de 2024. Recuperado em 12 de setembro de 2024 .
- ^ "Notas de instalação - Requisitos do sistema operacional". Arquivado do original em 2020-08-06 . Recuperado em 2020-09-05 .
- ^ William Buchanan (4 de fevereiro de 2003). Mastering Delphi Programming. Palgrave Macmillan. pp. 10–. ISBN 978-1-137-17356-0.[ link morto permanente ]
- ^ "Comparação de desempenho do Delphi 2010 com o XE6 (Parte 2)". Riversoft AVG. 12 de maio de 2014. Arquivado do original em 26 de julho de 2015. Recuperado em 9 de março de 2016 .
- ^ "The Delphi Geek: Built For Speed". Arquivado do original em 23 de março de 2016. Recuperado em 9 de março de 2016 .
- ^ "Discussão no Hacker News sobre o Delphi estar vivo". Hacker News. Arquivado do original em 2 de julho de 2016. Recuperado em 9 de março de 2016 .
- ^ "Delphi: App Development Product Editions". Embarcadero . Arquivado do original em 14 de março de 2021 . Recuperado em 13 de março de 2021 .Com link para download para Delphi Feature Matrix
- ^ "Recollections About the Development of Pascal" (PDF) . Arquivado (PDF) do original em 2016-05-12 . Recuperado em 2016-01-12 .
- ^ Lingfeng Wang; Kay CHen Tan (20 de janeiro de 2006). Projeto moderno de software de automação industrial. John Wiley e Filhos. págs. ISBN 978-0-471-77627-7.
- ^ "Lista de recursos da linguagem Delphi e versão em que foram introduzidos/descontinuados". Stack Overflow. Arquivado do original em 28 de fevereiro de 2016. Recuperado em 9 de março de 2016 .
- ^ Redator. "Embarcadero Delphi é nomeada linguagem de desenvolvedor de escolha para escolas sul-africanas". Arquivado do original em 2022-03-31 . Recuperado em 2022-03-17 .
- ^ "RAD Studio November 2020 Roadmap PM Commentary". blogs.embarcadero.com. 17 de novembro de 2020. Arquivado do original em 2020-11-28 . Recuperado em 2020-11-27 .
- ^ "Borland Enterprise Studio". Arquivado do original em 2002-02-05 . Recuperado em 2002-02-05 .
- ^ "Kylix está aqui!". Arquivado do original em 2019-09-04 . Recuperado em 2020-09-05 .
- ^ "Página inicial do Free Pascal". freepascal.org. Arquivado do original em 1999-01-25 . Recuperado em 2016-04-27 .
Leitura adicional
- McConnell, Steve (1993). Código Completo . Microsoft Press. ISBN 1-55615-484-4.
Links externos
- Site oficial