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.

Promoção de Natal

DevMedia - Plataforma para Programadores

Oferta exclusiva de Natal!

<Perguntas frequentes>
Carreira
Por onde devo iniciar os estudos?

Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.

Em quanto tempo vou me tornar um programador?

O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.

Eu preciso de um diploma de faculdade para começar a atuar como programador?

Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.

Por que a programação se tornou a profissão mais promissora da atualidade?

A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.

Metodologia
Quais são os principais diferenciais da DevMedia?

Didática e Metodologia Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.

O que eu irei aprender estudando pela DevMedia?

Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.

Quais as vantagens de aprender programação através da linguagem JavaScript?

  1. Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
  2. Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
  3. Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens

A plataforma oferece certificados?

Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.

A plataforma tem suporte ao aluno, como funciona?

Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.

A DevMedia me forma como programador Full Stack?

Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!

Tem horário para as aulas?

Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.

Por que a DevMedia não usa videoaulas em sua didática?

Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.

Preciso de um computador específico para estudar na DevMedia?

Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.

Eu consigo estudar pelo celular?

Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.

A DevMedia tem aplicativo?

Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.

Preciso estar na faculdade para acompanhar os estudos na DevMedia?

Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.

Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?

Oferecemos dois tipos de planos: o plano recorrente e o plano anual. No plano recorrente, a cobrança é lançada mensalmente no cartão de crédito, necessitando apenas do limite para uma parcela. No plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX ou no Boleto parcelado (sujeito à analise de crédito)

Adquirindo o plano, terei acesso a todo o conteúdo?

Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.

A plataforma tem planos vitalícios?

Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.

A DevMedia tem fidelidade?

Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.

Como funciona o cancelamento?

Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias, tanto no plano anual quanto no plano recorrente. Após esse período, se você estiver no plano recorrente e optar por cancelar antes de completar 12 meses, há uma taxa de 10% sobre o valor total. No plano anual, não há multas adicionais, mas o valor pago não é reembolsável.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.

A renovação é automática?

Sim, nosso plano anual renova automaticamente após 12 meses, proporcionando conveniência e continuidade no seu aprendizado. Na renovação automática não é debitado do seu cartão as 12 parcelas. Para facilitar e não prejudicar o seu limite, a renovação é feita no modelo recorrente, cobrando uma mensalidade a cada mês.
Além disso, a renovação não tem fidelidade, oferecendo total flexibilidade. Você também tem a liberdade de desativar a renovação automática a qualquer momento, garantindo controle absoluto sobre sua assinatura.

Cadastro
Como excluir meus dados da plataforma?

Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.

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

Aceitar