Delphi (software)

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar
Delfos
Logotipo e ícone do produto Embarcadero Delphi 10.4 Sydney.svg
Captura de tela do Delphi 10.4 IDE com designer VCL e Dark Theme.png
Captura de tela do Delphi 10.4, com o editor visual de formulários sendo usado para criar um aplicativo
Autor(es) original(is)Borland , CodeGear , Embarcadero
Desenvolvedor(es)Tecnologias Embarcadero
Versão estável
RAD Studio 11 Alexandria [1] Edite isso no Wikidata / 9 de setembro de 2021 ; 5 meses atrás (9 September 2021)
Escrito emPrincipalmente Delphi (Object Pascal)
Sistema operacionalFunciona no Windows 10 ; [2] tem como alvo Windows 10 , Linux , macOS , Android , iOS
TipoDesenvolvimento de Software , Designer , IDE , Compilador , RTL
LicençaFreemium
Local na rede Internetembarcadero .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 o desenvolvimento rápido de aplicativos de software de desktop, mobile , web e 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]

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 importante e é fornecido pelo FireDAC (Database Access Components). Delphi é conhecido por sua velocidade de compilação rápida, código nativo e produtividade do desenvolvedor.[ citação necessária ]

Delphi foi originalmente desenvolvido pela Borland como uma ferramenta de desenvolvimento rápido de aplicativos para Windows como o sucessor do Turbo Pascal . O Delphi adicionou programação orientada a objetos completa à linguagem existente, e a linguagem cresceu para oferecer suporte a 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 com 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 baixo faturamento. [7]

Características

Delphi suporta desenvolvimento rápido de aplicativos (RAD). Os recursos proeminentes são um designer visual e duas estruturas de aplicativos , 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 Borland (agora IDERA) como o sucessor do Turbo Pascal. Ele suporta compilação cruzada nativa para muitas plataformas, incluindo Windows, Linux, iOS e Android.

Para melhor suporte ao desenvolvimento para Microsoft Windows e interoperar com código desenvolvido com outras ferramentas de desenvolvimento de software, o Delphi suporta interfaces independentes de Component Object Model (COM) com implementações de classe contadas por referência e suporte para muitos componentes de terceiros. As implementações de interface podem ser delegadas a campos ou propriedades de classes. Os 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 de banco de dados é amplamente suportada por meio de componentes de acesso a banco de dados 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

O 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 Object Pascal anterior. Pascal foi originalmente desenvolvido 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 compiladores FORTRAN existentes" [8] mas sem baixo facilidades de programação de nível superior ou acesso ao 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. Orientação a objetos do Delphiapresenta apenas polimorfismo baseado em classe e interface . [9] Metaclasses são objetos de primeira classe. Objetos são, na verdade, referências aos objetos (como em Java ), que o Delphi desreferencia implicitamente, 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 strings contados por referência dedicados e também strings terminadas em nulo.

Strings podem ser concatenadas usando o operador '+', em vez de usar funções. Para tipos de strings dedicados, o Delphi lida com o gerenciamento de memória sem intervenção do programador. Desde o Borland Developer Studio 2006 existem funções para localizar vazamentos de memória .

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 de 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, algumas gratuitas. O IDE inclui uma GUI para localização e tradução de programas criados que podem ser implantados em um tradutor; também existem 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 normalmente 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; ele usa um modelo de componente reutilizável, extensível pelo desenvolvedor. Com os 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 de passagem única . Ele pode compilar opcionalmente para um único executável que não requer DLLs . 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 suportam cada vez mais 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 também seus colaboradores participam ativamente.

Compatibilidade com versões anteriores

Delphi é uma das linguagens onde a compatibilidade com versões anteriores está próxima de 100%. Embora cada nova versão do Delphi tente manter o máximo possível de compatibilidade com versões anteriores 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, há novos lançamentos do Delphi a cada seis meses, com novas plataformas sendo adicionadas aproximadamente a cada segundo lançamento. [10]

Estruturas

Delphi oferece dois frameworks para desenvolvimento de aplicações visuais, VCL e FireMonkey (FMX):

  • A Visual Component Library (VCL) é a estrutura para desenvolver aplicativos Windows puros. VCL é uma estrutura de longa data, incluída na primeira versão do Delphi e desenvolvida ativamente desde então.
  • FireMonkey (mais tarde abreviado FMX), foi lançado em 2011, como parte do Delphi XE2, juntamente com um conjunto adicional de compiladores integrados para plataformas não Windows. FireMonkey é uma estrutura 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 duas estruturas separadas. Os aplicativos FireMonkey, no entanto, permitem o compartilhamento fácil de unidades de código não visuais com aplicativos VCL, permitindo que muitos códigos sejam portados ou compartilhados facilmente entre as plataformas.

Interoperabilidade

Delphi e sua contraparte C++, C ++Builder , são interoperáveis. Eles compartilham muitos componentes principais, principalmente o IDE, as estruturas 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, o C++Builder 6 e versões posteriores podem combinar código-fonte do Delphi e do C++ em um projeto, enquanto os pacotes compilados com o C++Builder podem ser usados ​​no Delphi. Em 2007, os produtos foram lançados em conjunto como RAD Studio, um host compartilhado para Delphi e C++Builder, que pode ser adquirido com um ou ambos. Começando pelo Rio, também há interoperabilidade com Python.

História

Roteiros

A Embarcadero publica "roteiros" descrevendo seus planos de desenvolvimento futuros. A mais recente foi publicada em novembro de 2020. [11] A versão 10.5 mencionada no roteiro de novembro de 2020 foi renomeada para 11.0.

Software relacionado

  • O Borland Enterprise Studio, um precursor do RAD Studio, é uma suíte de desenvolvimento de software que inclui suporte para vários idiomas. O Borland Enterprise Studio para Windows suporta Delphi. [12]
  • Borland Kylix : Semelhante ao Delphi, mas para Linux, lançado em 2001. Esta foi a primeira tentativa de adicionar suporte ao Linux na família de produtos Delphi. [13] Kylix usou o novo framework multiplataforma CLX (baseado em QT), ao invés do VCL da Delphi. O Kylix foi descontinuado após a versão 3. Hoje o suporte ao Linux está integrado ao produto Delphi principal e usa a estrutura multiplataforma FireMonkey.
  • O InterBase é um banco de dados SQL embutido que se integra nativamente ao Delphi e C++Builder para desenvolvimento cliente/servidor ou embutido. Seus recursos diferenciais reduzem os requisitos de administração, segurança de dados de nível comercial, recuperação de desastres e sincronização de alterações. 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 ainda com Java por JDBC/ODBC Bridge ou conectores Java tipo 4.
  • JBuilder foi uma ferramenta para desenvolvimento Java baseada em Eclipse desde a versão JBuilder 2007.
  • RadPHP (mais tarde substituído por HTML5 Builder) era um IDE para PHP que fornecia uma verdadeira funcionalidade RAD. Possui um designer de formulários semelhante ao do Delphi ou Visual Basic e um depurador integrado baseado no servidor web Apache . Também inclui uma biblioteca VCL portada para PHP. Ao contrário de outros IDEs, ele suporta recursos da Web 2.0, como AJAX . 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 conhecido como Embarcadero Prism) derivado da linguagem de programação Oxygene (anteriormente conhecida como Chrome) de RemObjects. Ele foi executado no IDE do Microsoft Visual Studio em vez do RAD Studio. 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 maior parte 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. [14] Lazarus é um RAD IDE multiplataforma que usa o compilador Free Pascal.

Bibliotecas de terceiros notáveis

Referências

  1. ^ "Anunciando a disponibilidade do RAD Studio 11 Alexandria" . 10 de setembro de 2021 . Recuperado em 10 de setembro de 2021 .
  2. ^ "Notas de instalação - Requisitos do sistema operacional" . Recuperado 2020-09-05 .
  3. ^ William Buchanan (4 de fevereiro de 2003). Dominando a Programação Delphi . Palgrave Macmillan. pág. 10–. ISBN 978-1-137-17356-0.
  4. ^ "Comparação de desempenho de Delphi 2010 para XE6 (Parte 2)" . Riversoft AVG . Recuperado em 9 de março de 2016 .
  5. ^ "O Delphi Geek: Construído para a velocidade" . Recuperado em 9 de março de 2016 .
  6. ^ "Discussão sobre Hacker News sobre Delphi estar vivo" . Notícias de hackers . Recuperado em 9 de março de 2016 .
  7. ^ "Delphi: Edições de produtos de desenvolvimento de aplicativos" . Embarcador . Recuperado em 13 de março de 2021 .Com link de download para Delphi Feature Matrix
  8. ^ "Recordações sobre o desenvolvimento de Pascal" (PDF) .
  9. ^ Lingfeng Wang; Kay Chen Tan (20 de janeiro de 2006). Projeto de software de automação industrial moderno . John Wiley & Filhos. pág. 113–. ISBN 978-0-471-77627-7.
  10. ^ "Lista de recursos da linguagem Delphi e versão em que foram introduzidos/descontinuados" . Estouro de pilha . Recuperado em 9 de março de 2016 .
  11. ^ "Comentário PM do roteiro do RAD Studio de novembro de 2020" . blogs.embarcadero.com . Recuperado 2020-11-27 .
  12. ^ "Estúdio Borland Enterprise" . Arquivado a partir do original em 2002-02-05 . Recuperado em 2002-02-05 .
  13. ^ "Kylix está aqui!" . Recuperado 2020-09-05 .
  14. ^ "Página inicial gratuita do Pascal" . freepascal.org . Recuperado 2016-04-27 .

Leitura adicional

Links externos