Quer ter acesso a todos os cursos desse Guia?

Guia Completo de Delphi

Neste Guia de Referência você encontrará o conteúdo que precisa para iniciar seus estudos em Delphi, uma plataforma para desenvolvimento de aplicativos completa, principalmente para soluções desktop e mobile.

Introdução

Se você está iniciando no Delphi, é fundamental entender do que se trata essa ferramenta e o que é possível fazer com ela, a fim de decidir se ela atende suas necessidades e como começar a utilizá-la. Para lhe ajudar nessa etapa sugerimos os conteúdos abaixo:

Linguagem

Agora que você decidiu usar o Delphi para desenvolver suas aplicações, é importante conhecer a sintaxe e os recursos da linguagem. Nesta seção separamos alguns conteúdos que lhe ajudarão neste ponto:

Functions e Procedures

Os métodos ou funções estão presentes em várias linguagens de programação. No Delphi os métodos são categorizados como functions ou procedures, como você pode ver nos artigos a seguir:

Estruturas de dados

Estruturas de dados são usadas para representar as informações de forma organizada e otimizada para cada situação. Veja a seguir como trabalhar com esse conceito no Delphi:

Strings

String é um tipo de dado presente em diversas linguagens e representa uma cadeia de caracteres (um texto). O Delphi oferece diversos recursos para lidar com esse tipo de informação, como você verá nos links a seguir:

Espressões Regulares

Também presentes em várias linguagens, as expressões regulares permitem validar e efetuar buscas em textos a partir de padrões:

Tratamento de exceções

Os mecanismos de tratamento de exceções nos permitem contornar a ocorrência de erros dentro da aplicação, evitando que elas travem, fechem e acabem prejudicando a experiência do usuário:

Estrutura de projetos

Quando lidamos com qualquer IDE é importante saber como os projetos são organizados e quais arquivos os compõem. No Delphi, por exemplo, temos conceitos como Unit, BPL, Resources, entre outros que você pode conhecer nos links abaixo:

VCL

A VCL (Visual Component Library) é a biblioteca de componentes visuais e não visuais para criação de aplicações Windows. É nela que encontramos componentes como botões, caixas de texto, menus e janelas de diálogo.

Se você está iniciando no desenvolvimento de aplicações desktop para Windows no Delphi, confira os cursos abaixo:

E para se aprofundar na estrutura de classes e componentes da VCL, indicamos os seguintes artigos:

Já os artigos abaixo abordam alguns componentes não visuais que vão lhe ajudar a deixar sua aplicação mais interessante:

Para colocar todos esses conceitos na prática, veja no curso a seguir como manipular arquivos XML utilizando componentes visuais e não visuais:

RTTI

RTTI é a sigla para Runtime Type Information, não é exclusividade do Delphi, diversas outras linguagens possuem a mesma. Com RTTI você consegue obter informações em tempo de execução:

Orientação a Objetos

Delphi é uma linguagem orientada a objetos e como tal implementa todos os conceitos desse paradigma, como classes, herança, polimorfismo, etc. Para você que é ou deseja se tornar um programador Delphi profissional, saber programar de forma orientada a objetos é importante e em muitos projetos será um requisito.

Se você ainda não está acostumado com a POO, os DevCasts abaixo lhe introduzirão nesse novo paradigma:

Já os conteúdos a seguir abordam o uso da OO no Delphi:

Interfaces

Na Orientação a Objetos as interfaces funcionam como contratos, ou seja, elas definem comportamentos que devem ser cumpridos pelas classes. Quando uma classe atende a uma interface, dizemos que ela implementa essa interface:

Coleções

O Delphi conta com classes que facilitam o trabalho com coleções de objetos, como TList e TObjectList, que são exploradas em detalhes nos conteúdos abaixo:

Praticando

Agora que você conhece os conceitos da OO, que tal começar a colocar a mão na massa em projetos seguindo as práticas desse paradigma?

Banco de Dados

O Delphi conta com várias bibliotecas de acesso a dados que permite trabalhar com diferentes bancos. Entre elas estão: IBX, BDE, ADO e as mais utilizadas atualmente dbExpress e FireDAC (indicada pelo fabricante como solução ideal nas versões mais atuais do Delphi).

A seguir listamos os links de conteúdos para que você consiga trabalhar com bancos de dados usando as duas principais bibliotecas da atualidade.

ClientDataSet

O ClienteDataSet representa um conjunto de dados em memória. Com ele podemos armazenar informações temporárias na forma de tabela, sejam elas provenientes de uma conexão com o banco de dados ou não. Veja nos próximos conteúdos alguns exemplos de como trabalhar com esse componente:

dbExpress

A biblioteca dbExpress permite acessar diferentes bancos usando um mesmo conjunto de componentes, bastando que seja utilizado o driver específico de cada banco. Ela baseia-se no uso de DLLs, o que faz com que seu uso seja restrito à VCL (ambiente Windows).

Transações

O dbExpress também suporta o controle de transações para a realização de operações no banco de dados, como você pode ver nos seguintes links:

FireDAC

FireDAC é a biblioteca sugerida como padrão atualmente pelo fabricante para acesso a bancos de dados no Delphi. Além da VCL ela pode ser usada no FireMonkey e permite acessar também o MongoDB, que é um banco NoSQL. Confira uma introdução a essa biblioteca nos conteúdos abaixo:

Para uma abordagem mais completa sobre a biblioteca, sugerimos o curso abaixo:

E se você está migrando do dbExpress para o FireDAC, o seguinte artigo lhe ajudará:

Praticando

Já conhece o FireDAC e deseja praticar? Então veja abaixo como criar aplicações na prática com essa biblioteca:

Tópicos avançados

Os artigos abaixo lhe permitirão aprofundar na utilização do FireDAC, explorando mais funcionalidades da biblioteca:

MongoDB

O MongoDB é um banco de dados NoSQL, orientado a documentos, que armazena os dados no formato JSON. Atualmente é um dos bancos não relacionais mais utilizados no mercado e acessá-lo no Delphi é possível usando o FireDAC, como você pode ver no artigo abaixo:

Threads

Por meio de threads uma aplicação pode executar diferentes tarefas de forma concorrente, evitando o sobrecarregamento do fluxo principal do programa. Por exemplo, por meio de threads podemos executar um procedimento pesado em segundo plano, deixando a interface com o usuário livre para interações.

Para aprender a trabalhar com threads em Delphi você pode ver os seguintes artigos:

Boas práticas

Nesta seção trazemos alguns conteúdos que abordam técnicas que, quando aplicadas, elevam a qualidade do seu projeto, reduzindo a probabilidade de erros e simplificando a manutenção.

Gerenciamento de memória

No Delphi não há o conceito de Garbage Collector, como no Java ou .NET, recurso que libera os objetos não utilizados da memória. Devido a isso é fundamental manter um bom gerenciamento sobre a memória utilizada pelas nossas aplicações, a fim de evitar travamentos e alocação indevida de recursos que não estão sendo utilizados. Veja abaixo alguns conteúdos sobre esse assunto, que lhe ajudarão a escrever códigos mais eficientes:

Refatoração

Refatorar é uma técnica que visa melhorar a estrutura e qualidade do código sem modificar seu comportamento original. Muitas vezes a refatoração nos permite corrigir o que chamamos de Bad Smells ou Code Smells, que são ocorrências de código que, apesar de funcionar, não está escrito da melhor forma possível.

Testes Unitários

Os testes unitários são procedimentos que têm por objetivo testar pequenas peças do código, chamadas de unidades (normalmente métodos). No Delphi utilizamos a biblioteca DUnitX (ou DUnit em sua versão anterior) para esse tipo de tarefa.

Padrões de projeto e arquitetura

Padrões de Projeto são soluções catalogadas para problemas/situações comuns do desenvolvimento de software. Baseados em experiências prévias, os padrões definem como partes do software devem ser definidas a fim de resolver certos problemas ou de evitá-los.

MVC e MVVM

Os padrões MVC (Model-View-Controller) e MVVM (Model-View-ViewModel) têm por objetivo separar a arquitetura da aplicação em camadas, cada uma com responsabilidades específicas. Se esse é seu primeiro contato com esses padrões, confira o que são de fato nos cursos abaixo:

Em seguida veja como aplicá-los em projetos no Delphi:

DAO

DAO (Data Access Object), também conhecido como DAL (Data Access Layer), é um padrão que propõe a existência de classes específicas para o acesso a bancos de dados. Essas classes são responsáveis, por exemplo, por realizar operações de CRUD, removendo essa responsabilidade das classes de domínio ou entidades:

Padrões GOF

GoF, sigla de Gang of Four, é o nome dado ao conjunto de padrões especificados por um grupo de quatro engenheiros de software e publicados no livro Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos. Ao todo são 23 padrões divididos em três categorias, que você pode conhecer melhor nos artigos abaixo:

Padrões Criacionais

Os padrões criacionais, como o nome sugere, tratam da forma como os objetos são criados no software, o que pode envolver técnicas específicas para cada situação. Veja na prática como utilizá-los:

Padrões Estruturais

Os padrões estruturais tratam da forma como os objetos se relacionam, promovendo o baixo acoplamento e flexibilidade na estrutura do projeto:

Padrões Comportamentais

Os padrões comportamentais organizam a forma como os objetos funcionam, suas responsabilidades e como eles se comunicam dentro de um contexto:

Padrões de Arquitetura de Aplicações Corporativas

Nesta categoria estão os padrões catalogados por Martin Fowler em seu livro Patterns of Enterprise Application Architecture, no qual ele listou soluções encontradas em aplicações corporativas. Conheça alguns desses padrões no artigo abaixo:

Domain-Driven Design

Domain-Driven Design, ou DDD, é uma metodologia/abordagem que guia o desenvolvimento da aplicação a partir do seu domínio. Ou seja, ao invés de partir das características dos frameworks ou banco de dados que serão utilizados, o DDD propõe que o desenvolvimento se concentre no domínio do problema que o software pretende resolver e, a partir disso, defina os próximos passos. Documentado inicialmente no livro Domain-Driven Design: Atacando As Complexidades No Coração do Software de Eric Evans, o DDD define diversos termos e sugestões de arquitetura para a criação de aplicações com domínio complexo.

Relatórios

O desenvolvimento de relatórios é um ponto fundamental na construção de software, afinal, como os usuários irão extrair informações do nosso sistema? Um das ferramentas de relatórios bastante utilizada é o Rave Reports, que infelizmente não está disponível nativamente nas versões mais recentes do Delphi, mas você pode encontrá-lo separadamente. Veja abaixo um curso completo sobre ele:

FastReport

Uma outra excelente ferramenta para trabalhar com relatórios é o FastReport (o mesmo ainda pode ser utilizado em outras linguagens como .NET, por exemplo). Veja na sequência como utilizar essa ferramenta:

FireMonkey e Mobile

O FireMonkey é uma biblioteca de componentes visuais utilizada para desenvolver aplicações de interface rica e multiplataforma (Windows, MacOS, iOS e Android). Para conhecer melhor essa biblioteca, confira o curso abaixo:

Se você já programa no Delphi deve estar mais acostumado com a VCL, certo? Para você separamos o seguinte artigo, que lhe dará uma visão melhor sobre as diferenças e migração da VCL para o FireMonkey:

Live Bindings

Um dos recursos mais utilizados no FireMonkey são os Live Bindings, que permitem ligar as propriedades de componentes e objetos dinamicamente, sem que seja necessário atualizá-las manualmente. Nos artigos abaixo você aprenderá a usar esse recurso:

Desenvolvimento mobile

O FireMonkey tornou possível o desenvolvimento de aplicações mobile nativas para Android e iOS no Delphi. Se você quer ingressar nesse mundo do desenvolvimento mobile, os artigos abaixo lhe apresentarão essa possibilidade:

Agora o curso a seguir traz uma abordagem mais aprofundada sobre a criação de aplicativos para Android no Delphi:

ListView e ListBox

Aqui separamos alguns conteúdos especificamente sobre dois dos componentes mais utilizados para a listagem de dados em aplicações mobile: ListView e ListBox:

Banco de Dados no Mobile

Na sequência você aprenderá a conectar-se a um banco de dados dentro de uma aplicação Mobile no Delphi:

Conteúdo adicional

Com o conteúdo visto até aqui você já é capaz de criar seus aplicativos. Agora listamos mais alguns conteúdos para que você possa avançar em seus estudos:

Publicando seu APP

A publicação é um passo natural no ciclo de desenvolvimento de um aplicativo. Normalmente, quando finalizamos as implementações necessárias à primeira versão, já queremos disponibilizá-lo para download. Para lhe ajudar nessa etapa deixamos abaixo o link de um artigo que lhe ensinará a publicar seu app Android na Google Play:

DataSnap

DataSnap é a tecnologia que temos no Delphi para trabalhar com aplicações multicamadas e sistemas distribuídos. Com ele você pode, por exemplo desenvolver serviços REST e realizar integrações entre aplicações desktop e mobile. Saiba mais sobre o que é o DataSnap e como utilizá-lo nos cursos a seguir:

Os artigos abaixo demonstram como trafegar dados entre aplicações cliente e servidor com DataSnap:

E a seguir temos mais alguns conteúdos para que você aprofunde seus estudos e aperfeiçoe suas aplicações com DataSnap:

Comunicação com Web Services

SOAP, Simple Object Access Protocol, é um protocolo para troca de dados entre aplicações de forma distribuída e que durante muito tempo foi um padrão para a criação de web services. Por conta disso, muitas instituições utilizam esse protocolo para dispor serviços, a exemplo da NFe da Secretaria de Fazenda. Seu modelo de comunicação baseia-se a troca de mensagens estruturadas em formato XML.

Nos conteúdos abaixo falamos sobre o WSDL, Web Services Description Language, que é um padrão de mercado para descrever Web Services, simplificando o acesso aos seus serviços.

Automação comercial

Muitos programadores adotaram o Delphi para desenvolver suas aplicações de automação comercial: NF-e, NFC-e, boletos, PDV, etc. Nesse contexto os componentes da ACBr estão entre os mais utilizados, pois oferecem uma forma simplificada de implementar algumas funcionalidades muito comuns. Nos artigos abaixo você pode conhecer alguns desses componentes:

Se você usa o FireMonkey também é possível desenvolver aplicações para automação comercial com ele. Um exemplo disso pode ser visto na série de artigos a seguir:

E separamos ainda um conteúdo adicional que lhe ajudará na implementação de uma necessidade frequente nesse meio: a geração de códigos de barra

Lazarus

Lazarus é uma ferramenta open source para desenvolvimento de software utilizando a linguagem Object Pascal. O Lazarus é uma alternativa ao Delphi. Saiba um pouco mais sobre esse projeto no conteúdo abaixo:

Mais sobre Delphi

Além dos cursos e artigos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre Delphi, os quais você pode conferir no Guia de Carreira abaixo:

Além disso, você pode conferir todo o conteúdo de Delphi clicando aqui.

Veja esse ebook
Crie sua conta grátis e baixe o e-book
Dê um upgrade no início da sua jornada.

Perguntas frequentes

Quem somos?
A DevMedia é uma escola de formação de programadores com mais de 20 anos de mercado. Já formamos mais de 100 mil programadores. A DevMedia ensina programação web, (desenvolvimento de site e aplicativos para celulares). A programação web é a área que mais contrata programadores em todo o mundo, sendo a maior porta de entrada para a área da tecnologia.
Por que a programação se tornou a profissão mais promissora da atualidade?
Nunca o mundo necessitou tanto de programadores como atualmente. Com a quarentena estabelecida pela Covid-19, lojas, restaurantes, escritórios e escolas, que tiveram suas atividades paralisadas, perceberam a urgente necessidade de adaptar seus negócios para o mundo digital. Em contrapartida as empresas de tecnologias, durante esse período, cresceram como nunca tanto em faturamento quanto em número de usuários. Com isso a necessidade de programadores cresceu muito. Empresas de grande e pequeno porte estão com vagas abertas e não conseguem contratar por falta de profissionais qualificados. No momento estima-se que o número de oportunidades no Brasil seja acima de 200 mil!
Como faço para começar a estudar?
Programação é um universo amplo, existem muitos caminhos e por isso é muito fácil se perder. Nosso conselho é: NÃO ESTUDE SOZINHO. Infelizmente 78% das pessoas que começam a estudar sozinhas desistem da profissão por não conseguirem aprender. Com uma boa orientação elas teriam conseguido! Se você tomou a decisão de entrar nesse mercado, faça um investimento no seu futuro e busque aprender com quem sabe. Isso vai triplicar suas chances de dominar a programação e conquistar uma vaga no mercado.
Em quanto tempo de estudo vou me tornar um programador?
O tempo depende, claro, da dedicação de cada estudante. A DevMedia ensina programação há 20 anos e com toda essa experiência montamos uma metodologia que tem como objetivo principal acelerar os seus estudos. Você terá um Plano de Estudo para te orientar em todos os passos do aprendizado. Desenvolverá diversos projetos reais para colocar em prática os conhecimentos e contará com o melhor suporte ao aluno da web. Todas as suas dúvidas serão respondidas de imediato. Seguindo nossa metodologia e se dedicando, entre 6 meses e um ano você já estará programando.
Sim, você pode se tornar um programador e não precisa ter diploma de curso superior!
Ser programador é uma das maiores oportunidades que o Brasil oferece para quem não tem condições de fazer uma faculdade. Muitas empresas contratam sem fazer questão de diploma, o que importa para elas é que o candidato seja um bom técnico e consiga atender suas necessidades. Os salários iniciais para programadores são de R$2.500 mil, podendo chegar aos R$15 mil para aqueles que se dedicam. Com disciplina e um estudo correto, que não te faça perder tempo, é possível se tornar um programador em menos de um ano de estudo. Quando você já estiver empregado, aí sim você pode se aprimorar ainda mais fazendo uma faculdade na área.
O que eu irei aprender estudando pela DevMedia?
Nossas trilhas de estudo te permitem virar um programador Full Stack, que é aquele programador mais completo, ele domina o desenvolvimento Front-end, Back-end e Mobile. Você ficará apto para criar sistemas para computadores e aplicativos para celulares. Utilizamos como base a linguagem JavaScript que é a linguagem mais utilizada no mundo. Outra vantagem do JavaScript é a quantidade de oportunidades no mercado de trabalho. É sem dúvida a linguagem que mais possui vagas e a que mais dá oportunidade para os iniciantes.
Principais diferenciais da DevMedia
Suporte ao aluno - O aluno conta com a ajuda de professores para tirar dúvidas durante toda a jornada de ensino. As perguntas são respondidas em menos de uma hora por professores experientes e atuantes no mercado. Gamificação - A plataforma de ensino é divertida e motivante. É como se o aluno estivesse dentro de um game. Ele terá seu card pessoal, que poderá ser customizado utilizando as moedas que ele ganha quando acerta os exercícios. Ele poderá também trocar suas moedas por outros produtos dentro da plataforma. Além disso, seus acertos contam pontos no ranking mensal dos alunos. Tudo isso deixa os estudos mais leves e motivantes. Didática - A DevMedia já ensina programação há mais de 20 anos. Desenvolvemos ao longo desse tempo uma metodologia que ensina a programar de verdade, com menos aulas e mais prática, são dezenas de projetos e exercícios que desenvolvem a mente programadora no aluno. Projetos reais - Durante os estudos os alunos irão desenvolver dezenas de projetos em cada uma das carreira (front-end, back-end e mobile). Mas o principal é que os projetos da DevMedia não são “copia e cola” como se encontra por aí. Aqui o aluno vai desenvolver os projetos de forma autônoma, recebendo claro a nossa mentoria e suporte, mas o aluno terá condições para desenvolvê-los sozinho. Milhares de exercícios - Programação é prática, por isso a cada nova matéria o aluno passará por um bloco de exercícios para fixar o conteúdo e cada acerto será bonificado com pontos e moedas e valem uma posição no ranking dos alunos.
Qual o investimento financeiro que preciso fazer para me tornar um programador?
Na internet é possível encontrar cursos de todos os preços, desde 50,00 a R$15.000,00. Os cursos de 50,00 são cursos avulsos, que explicam apenas pedaços de uma determinada matéria. Para criar um conhecimento completo você precisaria comprar no mínimo de 15 a 20 cursos avulsos e correria o risco deles não se complementarem tão perfeitamente e seu conhecimento ficaria cheio de "buracos". Os cursos de R$15.000,00 não fazem nenhum sentido. Deixe para investir em cursos caros quando quiser se especializar. Por esse preço você pode inclusive estudar fora do pais. Na DevMedia, você terá um plano de estudo montado por quem já formou mais de 100 mil alunos, e já está nesse mercado há mais de 20 anos. Somos a única plataforma que oferece Suporte ao Aluno em tempo real e uma experiência de estudos gamificada para te manter motivado durante todo o período de estudo. E o melhor, nosso pagamento é recorrente, você não precisa usar o limite do seu cartão de crédito para investir no seu futuro. Aproveite para se matricular agora mesmo.

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar