terça-feira, 19 de abril de 2016

Delphi Berlin anunciado

A Embarcadero anunciou hoje o lançamento da nova versão do Delphi, até então conhecido pelo codename de "Big Ben", o sucessor do Delphi Seattle, chamado no RTM de Delphi Berlin 10.1. Entre as principais novidades da ferramenta, estão: um novo e moderno instalador baseado no GetIt, novo componente TAddressBook (agenda de contatos), editor visual para os itens do ListView; IoT - Internet of Things - componentes meta-driven; form design separado do editor (estilo Delphi 7); drivers do FireDAC atualizados para todos os servidores de banco de dados; mais de 1k bugs reportados por usuários resolvidos nesta versão; designer preview por device; suporte a DirectX 12 no Windows. Para baixar uma versão de avaliação do produto, acesse o site do Delphi na Embarcadero.

sexta-feira, 15 de abril de 2016

Treinamentos

Lista de treinamentos / workshops ministrados pelo instrutor nas modalidades in-company ou EAD (Skype), para turmas fechadas, empresas e instituições de ensino. Para solicitar treinamento, workshop ou palestra em sua empresa / instituição, entrar em contato pelo email guintherpauli@gmail.com. Disponibilidade para todo o Brasil conforme agenda.

Desenvolvimento de Aplicações para Mobile Android
Acesso a Banco de Dados com FireDAC
Desenvolvimento Multicamadas com DataSnap
Delphi Avançado
Delphi - POO, Padrões de Projeto, Refactoring e Agile (foco em evolução / migração de aplicações)
Desenvolvimento para Web com Delphi
Programação C# para plataforma .NET
C# Avançado e POO
Desenvolvimento de aplicações comerciais com .NET / C#
Desenvolvimento Web com ASP.NET MVC
ASP.NET Web API, REST, WCF
Design Patterns em C#
Migração de aplicações Win32 para C# / VS 2015
Migração de aplicações para Delphi Seattle
Internet das Coisas (IoT)
Preparatório para as certificações Microsoft
Preparatório para as certificações Delphi

CASES
Últimos treinamentos, palestras, aulas e workshops ministrados:

UNOESC - Universiade do Oeste de Santa Catarina - Chapecó - SC
H2J - Cunha Porã - SC
Rafitec - Xaxim - SC
Holma Software - Marau - RS
Angellira Chapecó - SC
Desbravador - Chapecó - SC
12a Semana Nacional de Ciência e Tecnologia SEBRAE / SENAC - Balneário Camboriú e Itajaí - SC
Embarcadero Conference 2015 - São Paulo - SP
DEATEC - Chapecó - SC
Supersoft - Rio Claro - SP
Unimed - Rio Claro - SP
Unifra - XIII Simpósio de Informática - Santa Maria - RS
UNC - Universidade do Contestado - Porto União - SC
Produtec - Maringá - PR
AT Software - Rio Claro - SP
Integral C&S - Recife - PE
Atma Softwares - Ituiutaba, MG
GSoft - Taubaté - SP
Datapar - Ciudad Del Este - Paraguay
Embarcadero Conference 2014 - São Paulo - SP
Inforio - Petrolina - PE
ZOE Tecnologia - Manaus - AM
JB Software - Pinhalzinho - SC
Horus Faculdades - Pinhalzinho - SC
I CONVITI - Congresso Virtual de TI - Brasil
SBSI - Simpósio Brasileiro de Sistemas de Informação - Londrina - PR
HCAA - Hospital de Caridade Astrogildo de Azevedo - Santa Maria - RS
JOWATTS - Pirassununga - SP
Code Rage - Brasil
Faculdade Antônio Meneghetti - Restinga Seca - RS
AEL Sistemas - Porto Alegre - RS
Smartsis Sistemas - Araranguá - SC
Infopalmas / Unitins - Palmas - TO
TellFree - Santa Maria - RS
Softcenter - Londrina - PR
Infoecia - Londrina - PR
Uniware - Londrina - PR
ULBRA Santa Maria - RS
SONY - Manaus - AM
KBR - Middle East, Iraque
Costão do Santinho - Florianópolis - SC
AVMB - Santa Maria - RS
CPD UFSM - Santa Maria - RS
ABASE Sistemas - Três de Maio - RS
SETREM - Três de Maio - RS
UNIVEM - Marília - SP
Aquasoft - Parc. Embarcadero - Porto Alegre - RS
FP2 Tecnologia - Santa Maria - RS
I3 Tecnologia - Santa Maria - RS
Novosis Tupã - SP
Unijui, Criatec Ijui - RS
SHOWA do Brasil Manaus - AM
Cerprosoft Maringá - PR
UNICAMP Campinas - SP
UFSM Santa Maria - RS
Compuletra Porto Alegre - RS
Deferrari - Novo Hamburgo - RS
Digifred Frederico Westphalen - RS
URI Frederico Westphalen - RS
URI - Santiago - RS
URI - Santo Angelo - RS
GAM - Genesio A. Mendes - Tubarão - SC
Holma Software Marau - RS
Infosaude Porto Alegre - RS
Softersul - Santa Cruz - RS
IFF - São Vicente do Sul - RS
IFF - São Borja - RS
IFF - Julio de Castilhos - RS
Conesul - Alegrete - RS
UNB - Brasília - DF


segunda-feira, 28 de março de 2016

Curso Delphi e FireDAC



Neste Curso de FireDac aprenderemos como implementá-lo em aplicações Delphi. Este é uma biblioteca de componentes para acesso universal aos mais importantes bancos de dados relacionais do mercado como: SQL Server, Oracle, DB2, Firebird, SQLite, PGSQL, IB, MySQL e outros. O curso tem como objetivo apresentar todos os recursos do FireDac, incluindo configurações de acesso, otimizações, recursos avançados e a construção de aplicações práticas do dia-a-dia.

domingo, 28 de fevereiro de 2016

Artigo Revista ClubeDelphi 166 - Construindo aplicativos Android no Delphi 10 Seattle

As últimas versões do Delphi têm acompanhado a evolução do mercado de aplicativos mobile, possibilitando o desenvolvimento de forma rápida – RAD (Rapid Application Development) para Windows, Android e iOS. Com o Delphi é possível desenvolver aplicativos multiplataforma, ou seja, com o mesmo código fonte é possível compilar o software para diversas plataformas e dispositivos móveis.Conhecer os recursos que a ferramenta disponibiliza para facilitar a criação de apps é importante para o desenvolvedor que deseja se manter atualizado e alcançar novos clientes com seus softwares, indo além do ambiente Windows, que tradicionalmente é o único sistema operacional alvo das aplicações Delphi. Autores: Jones Granatyr, Guinther Pauli, Jean Paul Barddal, Fábio Spak, Fábio Alexandre Taffe e Thiago Luiz Lauxen. Recentemente o Delphi passou de um IDE focado no Windows para tornar-se um que possibilita a construção de sistemas multiplataforma e também para dispositivos móveis. Essa mudança de perspectiva da Embarcadero com relação ao Delphi se deu principalmente devido ao grande crescimento dos dispositivos móveis, bem como dos sistemas operacionais Android e iOS. O Windows, que era considerado o sistema operacional mais popular, está agora atrás desses dois sistemas focados em dispositivos móveis. Os ambientes móveis possuem atualmente a liderança em termos de distribuição, sendo os mais comuns para necessidades de comunicação, jogos e entretenimento. Além disso, esses dispositivos estão se tornando cada vez mais populares para softwares empresariais, particularmente no que tange à integração com sistemas do tipo desktop já existentes em grande parte das empresas. Outra vertente nessa linha é o grande crescimento de uma revolução tecnológica chamada de Internet das Coisas, a qual possibilita que dispositivos dos mais variados tipos possam se comunicar e trocar informações. Vários autores consideram essa revolução como o futuro da computação e da comunicação. Neste cenário, o Delphi possibilita uma rápida transição para que os desenvolvedores que já estão habituados com a programação baseada em componentes e/ou orientada a objetos possam criar aplicativos móveis. Neste sentido, o IDE apresenta um ambiente bastante familiar para aqueles que já conhecem o Delphi e desenvolvem aplicativos para Windows. A diferença básica é que para desenvolver aplicativos Windows é utilizada a VCL (Visual Component Library), enquanto que para desenvolver software multidispositivo as aplicações devem ser baseadas nos componentes da biblioteca FireMonkey (FMX) (BOX 1), a qual gera código nativo e não depende das bibliotecas do Android ou iOS, por exemplo. Graças a essa biblioteca, o mesmo código fonte que rodará no Windows também funcionará em dispositivos móveis ou em qualquer outra plataforma em que o aplicativo for compilado. Esse fato torna o Delphi uma das ferramentas mais completas do mercado, pois um dos grandes problemas no desenvolvimento de aplicativos é tornar o código fonte independente de plataforma. Com o Delphi, nenhuma adaptação no código é necessária, ou seja, o aplicativo é programado uma única vez e pode ser instalado nas plataformas para as quais o Delphi oferece suporte. Com relação à Internet das Coisas, o Delphi também possibilita o desenvolvimento de aplicativos para os mais variados dispositivos, como o Google Glass. BOX 1. VCL x FireMonkey A VCL, tradicional biblioteca do Delphi, encapsula a API nativa do Windows para prover uma série de funcionalidades e componentes visuais compatíveis com várias versões do sistema operacional, mesmo as mais antigas e ainda bastante utilizadas. Já o FireMonkey é uma camada de abstração da interface gráfica que internamente é compilada de forma nativa para diversas plataformas. Essa é atualmente a melhor opção para aplicações que farão uso de recursos gráficos em HD/3D, no entanto, seu objetivo não é a criação de games e sim aplicativos comerciais com interface rica e/ou mobile/multiplataforma. Baseado neste cenário, o objetivo do presente artigo é apresentar como construir um aplicativo de cadastro no Delphi 10 Seattle, com um banco de dados local, instalando-o e testando-o em um dispositivo físico rodando o sistema operacional Android. Serão abordados recursos para realizar as operações básicas de cadastro, tais como inclusão, alteração, exclusão e navegação. Serão mostrados também dois recursos interessantes em aplicativos móveis, que são o compartilhamento dos dados do cadastro em redes sociais e a utilização do discador do aparelho para fazer ligações automaticamente de dentro da aplicação desenvolvida. Adicionalmente, será abordado como configurar estilos automáticos para melhorar o visual do aplicativo. Primeiramente será mostrado como gerar uma base de dados utilizando o SQLite (BOX 2), a qual estará encapsulada dentro do próprio aplicativo e não será necessário criar um Web Service ou alguma conexão remota à fonte de dados. Posteriormente, será apresentado como utilizar o Delphi 10 Seattle para a criação da interface gráfica, bem como as operações para manipulação dos registros da base de dados e as configurações para que o aplicativo seja instalado no próprio dispositivo. Para finalizar, serão mostradas as operações de compartilhamento, a efetuação de ligações telefônicas e a configuração de estilos. (acesso o site para continuar lendo, somente para assinantes)

Artigo Revista ClubeDelphi 166 - Code Smells

Este artigo discute boas e más práticas de programação em Delphi, tratando do uso de código limpo (clean code) e de problemas que dificultam a manutenção de sistemas Delphi (bad smells, ou code smells). Conforme os sistemas Delphi são evoluídos, modificados e adaptados, seu código e outros artefatos envolvidos se tornam mais complexos, se afastam de seu objetivo original e perdem qualidade. Metodologias e ferramentas não resolvem este problema, pois sua utilização normalmente auxilia na aceleração do desenvolvimento, no caso de ferramentas RAD. Em muitos projetos, boa parte do custo é dedicada à sua manutenção. Dessa forma, é necessário facilitar a manutenibilidade e legibilidade do código, melhorando sua qualidade interna. Usando boas práticas, veremos como alguns fundamentos de código limpo e refactoring podem tornar um software mais fácil de ser mantido e evoluído. Veremos como resolver problemas comuns encontrados em código fonte (bad smells), usando uma abordagem de desenvolvimento corretiva e evolutiva De acordo com Kent Beck, bad smells são estruturas no código que sugerem a possibilidade de refatoração, como nos exemplos a seguir: Rigidez – uma alteração em um ponto do código requer alterações em cascata (dependências entre units, por exemplo); Fragilidade – A modificação de um ponto do código quebra outras funcionalidades (form vs data module, por exemplo); Complexidade – Arquitetura muito complexa, pois foi preparada para manipular qualquer tipo de possibilidade; Duplicação – Código redundante, duplicado; Legibilidade – Código difícil de compreender. Já o Código Limpo é uma prática que visa a escrita de código legível, funcional, pequeno, simples, fácil de entender e manter. Deve ser facilmente acessível a outros, com uma clara intenção, sem ambiguidades, boas abstrações, bons nomes para units, métodos, classes, forms, data modules, etc. Se um código está difícil de ser entendido, ele deve ser refatorado. Normalmente programadores comentam código difícil de ser compreendido. Refatorar é reestruturar um sistema de software aplicando uma série de transformações sem modificar seu comportamento observável, afim de torná-lo mais fácil de entender e modificar. Cada pequeno passo melhora o projeto do código, mantendo seu comportamento externo observável. Existem várias motivações para o uso de refatorações, para aplicar técnicas de clean code. Primeiro, elas tornam mais fácil a adição de novos trechos de código. Quando se inclui uma nova funcionalidade em um sistema de software, existem basicamente duas opções: programar rapidamente sem se preocupar com o quanto ela se encaixa bem no projeto existente, ou pode-se modificar o projeto existente a fim de melhor acomodar essa funcionalidade. No primeiro caso, ocorre um débito de projeto, o qual pode ser pago mais tarde com refatoração. Segundo, as refatorações melhoraram um projeto de código existente, no momento que tornam o código mais simples, claro e mais fácil de trabalhar, manter e evoluir. O uso de refatoração como uma abordagem simples estimulou vários esforços para desenvolver abordagens semiautomáticas para detectar falhas de projeto. A aplicação correta de refatorações apropriadas em um determinado contexto aumenta a qualidade do projeto, sem alterar o seu comportamento. No entanto, a identificação de inconsistências no código fonte não é uma tarefa simples, tais como métodos, fragmentos de métodos e atributos que devem ser movidos para outras classes. A motivação para melhorar o projeto de um sistema de software é encontrar problemas no código fonte e usar refatoração como uma possível solução. As limitações (bad smells) descrevem problemas e uma lista de refatorações relacionadas que podem ajudar a melhorar o código. A refatoração se concentra principalmente no tratamento dessas limitações, mas a implementação de melhorias depende das habilidades do desenvolvedor, que realiza manutenções de software. Encontrar limitações pode envolver inspecionar todo o código fonte, o que pode se tornar impraticável para sistemas de médio e grande porte. Neste cenário, o apoio semiautomático para detectar falhas é essencial. Felizmente, o RAD Studio oferece várias ferramentas para esse suporte. Então por que as aplicações Delphi são as que apresentam os maiores débitos de projeto atualmente? Por que é difícil migrar para uma nova plataforma, um novo engine de acesso a dados, reaproveitar código, dar manutenção, trocar de versão do Delphi, enfim, evoluir sistemas Delphi? Vamos fazer uma análise do desenvolvimento Delphi, rebuscando a história das linguagens RAD. Antes do surgimento do Delphi 1, que foi um marco para o desenvolvimento visual na época, tínhamos apenas o VB como forte concorrente.Foi exatamente nesta época que surgiu o conceito de “desenvolvimento visual”, ou as “linguagens visuais”, incluindo aí o então IDE do Visual Studio a seguir. O termo “visual” se originou do fato de que as linguagens de programação não tinham um ambiente gráfico de design, basicamente você programava num editor de textos “às escuras”, compilava, rodava e torcia para que os elementos gráficos ficassem organizados como previsto no código. Esse “apelo” trazido pelas linguagens visuais, como Delphi e VB, tornaram o desenvolvimento extremamente rápido. Aquela barra de menu que se levava duas semanas para construir estava ali pronta na caixa de ferramentas, basta fazer o “drag and drop” e pronto. Antes mesmo de compilar, você já tem o visual da interface de usuário. (acesso o site para continuar lendo - somente para assinantes)

sexta-feira, 26 de fevereiro de 2016

Microsoft compra Xamarin

Após anos de especulações e rumores, finalmente é oficial. A Microsoft adquiriu a empresa cross-plataforma de desenvolvimento móvel Xamarin por uma quantia não revelada. Scott Guthrie, vice-presidente executivo da nuvem da Microsoft, escreveu: "Em conjunto com o Visual Studio, a Xamarin fornece um rico desenvolvimento móvel oferecendo aos desenvolvedores a possibilidade de criarem aplicativos móveis usando C# e entregarem experiências totalmente nativas para todos os dispositivos principais – incluindo o iOS, Android e Windows. Abordagem da Xamarin permite que os desenvolvedores tirem proveito da produtividade e o poder do .NET para criarem aplicativos móveis e usar c# para escrever para o conjunto completo de APIs nativas e recursos móveis fornecidos pela plataforma de cada dispositivo. Isto permite aos desenvolvedores facilmente compartilharem o código app comum nos apps iOS, Android e Windows. A solução exclusiva do Xamarin tem alimentado o crescimento incrível durante mais de quatro anos." Na prática, como o Xamarin funciona? Criar um aplicativo que alcance todo o público é um problema a ser vencido,  a razão é simples, criar um APP que funcione no iOS e Android e também no Windows Phone pode ser trabalhoso. Para resolver isso é preciso programar em Java, ObjectiveC/Swift e C# e então o problema se agrava, porque precisamos de: Uma equipe de desenvolvedores experientes nas três linguagens. Porque o mesmo código terá que ser escrito em várias linguagens. Corrigir bugs dos APPs devido às lógicas do sistema estarem implementadas de forma diferentes. Como resolver esses problemas? É agora que o Xamarin entra provendo uma plataforma projetada nas implementações open source mono android e monotouch com o intuito de utilizar o C# e o máximo de recursos do .NET para desenvolver APPs nativas para Android, iOS e Windows reaproveitando o máximo da regra de negócio para as principais plataformas. Xamarin é muito utilizado, inclusive por grandes empresas, e a Microsoft colocou as mãos nele justamente para favorecer a sua estratégia de aplicativos universais e suas “pontes” que trazem apps de plataformas concorrentes ao Windows. Afinal, é um equipe de peso que agora faz parte da Microsoft. Xamarin tem atualmente mais de 15.000 clientes em 120 países. A Microsoft promete compartilhar mais informações no evento BUILD 2016.
Fonte: Venturebeat

sexta-feira, 10 de abril de 2015

Delphi XE8

Delphi XE8

A mais rápida plataforma de aplicações conectadas para Windows e além

Embarcadero® Delphi XE8 é a solução completa de desenvolvimento de softwares para o rápido design, codificação e extensão de aplicações "conectadas" do Windows, Mac, iOS, Android e IoT. Construa soluções de força industrial e prontas para os negócios, incorporando múltiplas plataformas clientes nativas, extensões mobile, dispositivos inteligentes, serviços nas nuvens, dados corporativos e embutidos. Crie aplicações nativas e rápidas para Windows, OS X e mobile a partir de uma única base de código.

Descubra como o Delphi XE8 amplia seus negócios

Trabalhando com várias configurações físicas de interfaces? Revolucione o processo com FireUI

O Delphi XE8 e o designer multidispositivo da FireUI são a única solução realmente de fonte única para aplicações compiladas de modo nativo. A maior parte dos fornecedores que suportam desenvolvimento nativo interplataformas requer que interfaces separadas sejam escritas para cada plataforma.
Construa uma interface comum que funcione entre as múltiplas configurações físicas de celulares, tablets e sistemas de desktop. A maior parte das soluções de desenvolvimento mobile não suporta a criação de aplicações de PC para Windows e OS X.
Learn More

Estenda as aplicações VCL rapidamente com Mobile, Nuvens e IoT

A funcionalidade das aplicações de negócio existentes pode ser facilmente expandida para integrar dispositivos mobile e novos gadgets IoT, criando novas soluções. Aplicações IoT e de negócios não são mais independentes (tethered para uma única aplicação mobile) mas distribuídas entre várias camadas, gadgets e dispositivos como plataformas de sistema operacional, tais como Windows, Mac, iOS, Android, assim como middleware, nuvens, servidores e serviços corporativos. A ampliação das aplicações existentes é um grande avanço para os desenvolvedores de aplicações de negócio, que passam a poder incorporar soluções IoT, mantendo a infraestrutura existente e alavancando bases de código grandes e já existentes. Virtualmente todas as indústrias podem aproveitar imediatamente da construção de aplicações conectadas, tal como a de varejo, alimentos e bebidas, cuidados de saúde, manufaturas e automação industrial. As aplicações não conhecem limites!
Leve suas aplicações Windows VCL para mobile, gadgets e dispositivos para vestir, criando com facilidade conexões de Internet ou Bluetooth com componentes de AppTethering. Descubra e interaja com a vasta variedade de gadgets e sensores capacitados para Bluetooth com Bluetooth e Bluetooth LE. Acesso a sensores do dispositivo, como acelerômetro, gps e sensores de proximidade com os novos componentes VCL.
Learn More

Mobilize seus negócios com Serviços Corporativos de Mobilidade (EMS)

Os Serviços Corporativos de Mobilidade (EMS) são uma solução pronta para as aplicações distribuídas e interconectadas de nossos tempos e oferecem um servidor de middleware de fácil distribuição que hospeda módulos de acesso a dados e APIs personalizados e carregáveis. O EMS se baseia em tecnologias abertas e padrão, incluindo chamadas REST HTTP e formatos de dados JSON e fornece drivers dos principais bancos de dados SQL, juntamente com um data store SQL integrado e criptografado. Com autenticação e gerenciamento de usuários, além de análises de usuários e APIs, os Serviços Corporativos de Mobilidade são ideais para possibilitar acesso seguro de aplicações móveis e desktop a bancos de dados corporativos. Os Serviços Corporativos de Mobilidade são uma solução middleware stateless, restful, escalável e segura. Abra o mundo dos dispositivos conectados para sua aplicação VCL de Windows com o EMS!

Prepare seu investimento para o futuro com a assinatura de atualização

Suporte e Manutenção estão recebendo uma grande atualização! Sob um novo nome, estamos apresentando várias novas funções e benefícios adicionais, sem custo extra! Você agora contará com manutenção continuada das versões anteriores por até 2 anos depois do lançamento, todas as correções e atualizações da versão atual, acesso antecipado a versões beta, conteúdo exclusivo e muito mais!

Você mais produtivo do que antes

Seja o mais produtivo possível em qualquer plataforma de desenvolvimento nativo e crie aplicações conectadas para múltiplos dispositivos e plataformas, gadgets IoT, dispositivos para vestir como relógios inteligentes, sem ter que gerenciar bases de código separadas com múltiplos frameworks e linguagens.
O Delphi XE8 agrega novas funções que farão você mais produtivo que nunca. Com o novíssimo Gerenciador de Pacotes GetIt você pode navegar, fazer o download e integrar novos componentes direto do IDE!
O Delphi XE8 apresenta aperfeiçoamentos aprofundados de produtividade com mais de 20 funções
  • Novo! Estatísticas de Projeto fornecem aos desenvolvedores uma perspectiva clara da produtividade da equipe, com acompanhamento de atividades.
  • Novo! Histórico de área de transferência, que mantém um registro do conteúdo da área de transferência para que os desenvolvedores possam colar o conteúdo previamente copiado.
  • Novo! Suporte a multi-colagem, que realiza a mesma operação de colagem em múltiplas linhas do código fonte de uma só vez.
  • Novo! Suporte a refactoring modeless e sensível a contexto, incluindo: renomear variáveis, classes, campo e propriedades, inlining, adicionar e dividir variáveis locais, remover variáveis não utilizadas, eliminar declarações with, extrair métodos, adicionar parâmetros e mover classes para uma unidade diferente (apenas para a linguagem Object Pascal).
  • Novo! Stack Bookmarks, que melhoram a navegação pelo código.
  • Novo! Pareamento de parênteses, que fornece uma ordenação visual para manter o código limpo.
  • Novo! Destaque de controle de fluxo, que fornece uma representação visual de pulos de fluxo do código diretamente no editor.
  • Novo! Destaque estrutural
  • Novo! A barra de ferramentas Code Navigation coloca as classes e métodos em uma caixa drop down para fácil navegação pelo código (apenas para linguagem Object Pascal).
  • Novo! Pesquisa de Smart Symbol e Smart Keys (apenas para linguagem Object Pascal)
  • Novo! Code Analysis acompanha a qualidade do código com várias estatísticas de código, como parâmetros de comprimento, declarações agrupadas e complexidade ciclomática (apenas para linguagem Object Pascal).

NOVO! Arquitetura de renderização nativa da plataforma FireMonkey

A arquitetura de controle visual subjacente da FireMonkey foi significativamente ajustada no XE8 para permitir múltiplas implementações de apresentação por controle de nome “ControlTypes” - particularmente, apresentações de controle nativo de sistema operacional podem ser utilizadas. A nova arquitetura subjacente é baseada em MVC, sendo reversamente compatível, de modo a permitir que desenvolvedores escolham durante o design entre tipos de controle de plataforma e estilizados para cada* controle (*para controles que incluam ambos os tipos de controle). Isso permite que você escolha se um controle será implementado durante a execução pela renderização guiada pela GPU do FireMonkey ou pelo sistema operacional subjacente.
No XE8, seis controles críticos para o desempenho de aplicações iOS universais de 32 e 64-bits contam com tipos de controle de plataforma nativos de iOS integrados, incluindo TEdit, TListView, TMemo, TSwitch, TCalendar e TMultiView. No futuro planejamos adicionar tipos de controle de plataforma de outros sistemas operacionais e componentes.
Uma vez que controles com .controltype de plataforma usam a mesma implementação subjacente de SDKs nativos, como Cocoa, suas aplicações do FireMonkey terão a suavidade de rolagem e o desempenho que os usuários esperam, mantendo as mesmas propriedades de componentes, métodos e eventos, e permanecendo interplataformas entre sistemas operacionais. Isso permite que você mantenha fidelidade interplataforma plena entre Windows, Mac, iOS e Android, criando a melhor experiência de usuário possível.

Saiba o que seus clientes estão fazendo com suas aplicações Desktop, Mobile e Middleware

Compreendendo como seus usuários finais a utilizam, você consegue evitar o abandono da aplicação. O AppAnalytics fornece aos desenvolvedores uma representação visual de como os usuários estão interagindo com as aplicações construídas com o Delphi XE8. Análises e relatórios de API customizados informam o desenvolvedor sobre como as aplicações distribuídas estão consumindo os APIs RESTful hospedados.
Leve sua aplicação Windows VCL às nuvens com o Delphi XE8! Integre serviços baseados nas nuvens de fornecedores de BaaS, Kinvey, Parse e App42, com componentes dos serviços BaaS mais populares, como notificações, gerenciamento de usuários e armazenamento.

sexta-feira, 12 de dezembro de 2014

Treinamento em Ciudad Del Este

O treinamento ministrado à equipe de desenvolvedores da Datapar focou no uso de técnicas avançadas de Programação Orientada a Objetos, Boas Práticas, Desenvolvimento Ágil, Engenharia de Software, Padrões de Projeto, Testes e Refatoração, com objetivo de melhorar a capacitação da atual equipe técnica de desenvolvedores, bem como apresentar as técnicas necessárias para evolução de sistemas. O treinamento foca na correta aplicação de boas práticas de programação orientada a objetos, uso de padrões de projeto, na correta codificação de sistemas baseado em code clean, a fim de tornar o software mais fácil de manter e evoluir, melhorando sua qualidade. Foca em aspectos-chave para tornar mais fácil a migração para novas versões das ferramentas de desenvolvimento, usufruindo de tecnologias mais modernas. Apresenta recursos do a fim de aumentar a produtividade de desenvolvimento. Os principais tópicos abordados foram: Programação Orientada a Objetos – Herança, Polimorfismo, Encapsulamento, Abstração, Interfaces, POO Avançado, Novos recursos da linguagem, Métricas, Code Analisys, Modelagem OO e UML, Padrões de Projeto – Design Patterns, Desenvolvimento ágil, TDD e Testes, Refatoração, Boas Práticas de Desenvolvimento OO com Delphi, Técnicas e segredos para facilitar o deployment de aplicativos. Dentre os principais benefícios obtidos, pode-se citar: Desenvolver código mais limpo e funcional, com menos bugs, tornar arquiteturas de software mais fáceis de evoluir e manter, facilitar a implementação de novos requisitos, em menor tempo, sem causar bugs, melhorar a qualidade do código fonte existente, programar usando padrões já consolidados e empregados em softwares de grande escala, reduzir custos com manutenção, promover a reutilização de código, desenvolver de forma ágil, com entregas constantes para o cliente, em pequenos releases, sem bugs, capacidade de detectar locais de código fonte que podem ter sua estrutura melhorada, promover a modularização de aplicações, tornando mais fáceis de serem distribuídas (deploy), reduzir riscos no projeto de software, promovendo a adoção de padrões já testados e de funcionalidade comprovada, aumentar a velocidade de desenvolvimento sem causar escassez de engenharia e débito de projeto.

Para contratar treinamentos, entre em contato pelo e-mail suporte at gpauli.com


















A Datapar Datapar es una empresa paraguaya, radicada en Ciudad del Este desde 1996, desenvuelve, adapta e implementa soluciones completas en sistemas, tecnología y servicios informáticos, orientada a la satisfacción de las necesidades competitivas de las empresas, tiendo como base la innovación, integración y simplicidad, encaminadas a optimizar cada una de las decisiones empresariales que ha de tomar un directivo. Los productos desarrollados por Datapar ofrecen agilidad y confianza para empresas de diversos sectores, principalmente en el agrobusiness paraguayo. La empresa tiene actualmente en su portifólio mas de 150 empresas.




quinta-feira, 30 de outubro de 2014

Embarcadero Conference 2014

A palestra ministrada na Embarcadero Conference 2014 focou na evolução de sistemas Delphi. Evoluir para poder manter, migrar para novas versões do produto, trocar de engine de acesso a dados, colocar algo no mobile reaproveitando código, colocar um módulo na Web, migrar de VCL para FMX, 2 camadas para 3 camadas etc. Focou no uso de práticas de desenvolvimento ágil com Delphi, Refatoração, POO e principalmente, evoluir sistemas baseados e acoplados em forms e units orientados a eventos para sistemas mais orientados a objetos e usando design patterns. Normalmente, senão sempre, sabemos que antes de se migrar ou evoluir para qualquer software, para Delphi XE7 por exemplo, é necessário melhorar a arquitetura do seu projeto para tornar o processo mais rápido e efetivo. E são justamente nos sistemas Delphi que se encontram problemas de débito de projeto, presença de bad smells, dificuldade de manter software, e por consequência, rotatividade em equipe, custos mais elevados, bugs, e também por esse motivo a dificuldade de se evoluir para versões mais novas do produto. O download da apresentação pode ser feito aqui.






sábado, 11 de outubro de 2014

Novo curso de FireDac - Desenvolvimento para Banco de Dados com Delphi XE7

Iniciado um novo curso de minha autoria, publicado através do portal DevMedia. O curso trata do desenvolvimento de aplicações de banco de dados com FireDac. O FireDac é uma biblioteca de componentes para acesso universal aos mais importantes bancos de dados relacionais do mercado, como SQL Server, Oracle, DB2, Firebird, SQLite, PGSQL, IB, MySQL e outros. Além disso, com ele é possível criar aplicações para Windows, Mac, Android e iOS, usando o mesmo engine de acesso. É compatível com a VCL e também com a biblioteca multi-device FireMonkey (FMX), além de estar presente na linguagem C++ do RAD Studio. É considerado o substituto do dbExpress. Comece hoje mesmo o curso. Não perca tempo e se atualize para o mercado. Caso sua empresa tenha necessidade de suporte e treinamento em FireDac e DataSnap, seja para evoluir sistemas legados em Delphi ou para qualificar a equipe de desenvolvimento, entrar em contato pelo e-mail guinther@gpauli.com.

quarta-feira, 8 de outubro de 2014

Treinamento - Infoecia - Londrina - PR

Ministrei um treinamento avançado em Delphi XE7 à equipe de desenvolvimento da Infoecia Software, na cidade de Londrina - OR. O treinamento teve como principal objetivo a evolução de sistemas Delphi, bem como o uso de técnicas de desenvolvimento ágil, programação orientada a objetos e padrões de projeto, a fim de se obterem benefícios como facilidade de manutenção, evolução, inclusão de novos requisitos, migração / evolução para novas plataformas (como Android) dentre outros. O programa do curso incluiu o seguintes tópicos: Programação Orientada a Objetos com Delphi, Técnicas de Desenvolvimento Ágil com Delphi, Refatoração - melhorando arquitetura e código, Qualidade de software e Testes Unitários, Evitando Bad Smells (problemas em código), Code Clean - programando com código limpo, Refatoração para Padrões, Design Patterns - Padrões de Projeto em Delphi, Finalizando com o desenvolvimento de aplicações Mobile para Android usando as tecnologias FireMonkey, LiveBindings, SQLite e FireDac, além dos novos recursos do IDE como o FireUI designer.

Sobre a Infoecia

esde 1995 a INFOECIA SOFTWARE vêm provendo soluções em tecnologia da informação e gestão empresarial para clientes dos mais variados portes e ramos de atividades, envolvendo as áreas comerciais, industriais, atacadistas e serviços, aumentando a qualidade e a competitividade das empresas e agilizando a obtenção do retorno do investimento em informática. Além disso, a INFOECIA SOFTWARE dispõe hoje da mais alta tecnologia para desenvolvimento de seus produtos, bem como para atendimento e suporte de seus clientes espalhados por todo o Brasil. A INFOECIA SOFTWARE é uma empresa moderna, com uma equipe de profissionais altamente capacitados e treinados para desenvolvimento de seus software e atendimento aos seus clientes de forma rápida e eficaz. Seja no suporte on-line, seja em seus treinamentos remotos, seja na eficiência da sua equipe administrativa que trabalha continuamente de forma arrojada, na busca da melhoria contínua. Nosso principal objetivo é a transformação da informação em conhecimento agregando inteligência aos negócios dos nossos clientes na busca incessante por melhores resultados.

sábado, 4 de outubro de 2014

Treinamento - Infoecia Sistemas

O workshop realizado na Infoecia Software teve como objetivo orientar a equipe de desenvolvimento no uso de técnicas destinadas a otimizar os atuais processos de desenvolvimento de software, bem como facilitar a manutenção e evolução do atual sistema da empresa. Participaram do workshop programadores, gerentes de desenvolvimento e sócios da empresa, que também contou com a apresentação de soluções para o desenvolvimento mobile, web e multi-plataforma, visando a integração entre sistemas e evolução para novas plataformas.

Sobre a Infoecia

Desde 1995 a INFOECIA SOFTWARE vêm provendo soluções em tecnologia da informação e gestão empresarial para clientes dos mais variados portes e ramos de atividades, envolvendo as áreas comerciais, industriais, atacadistas e serviços, aumentando a qualidade e a competitividade das empresas e agilizando a obtenção do retorno do investimento em informática. Além disso, a INFOECIA SOFTWARE dispõe hoje da mais alta tecnologia para desenvolvimento de seus produtos, bem como para atendimento e suporte de seus clientes espalhados por todo o Brasil. A INFOECIA SOFTWARE é uma empresa moderna, com uma equipe de profissionais altamente capacitados e treinados para desenvolvimento de seus software e atendimento aos seus clientes de forma rápida e eficaz. Seja no suporte on-line, seja em seus treinamentos remotos, seja na eficiência da sua equipe administrativa que trabalha continuamente de forma arrojada, na busca da melhoria contínua. Nosso principal objetivo é a transformação da informação em conhecimento agregando inteligência aos negócios dos nossos clientes na busca incessante por melhores resultados.

quinta-feira, 2 de outubro de 2014

Treinamento - Softcenter

O workshop realizado na Softcenter teve como objetivo orientar a equipe de desenvolvimento no uso de técnicas de programação orientada a objetos, refatoração, padrões de projeto, destinadas a otimizar os atuais processos de desenvolvimento de software, bem como facilitar a manutenção e evolução do atual sistema da empresa. Participaram do workshop colaboradores e gerentes de desenvolvimento.

Sobre a SoftCenter

Fundada em 1986, a Softcenter nasceu da ideia de disseminar a cultura de T.I para as empresas locais e regionais e ao longo do tempo, foi se posicionando no mercado e até hoje mantêm-se inovadora, buscando soluções compatíveis com a realidade atual do mercado de seus clientes, unindo inovação com experiência. A Softcenter desenvolve softwares que atendem as mais diversas necessidades administrativas, operacionais e financeiras do setor de transporte rodoviário de cargas. O grande diferencial da Softcenter, esta em oferecer soluções que aumentam a qualidade e a competitividade das empresas, com redução de custos e aumento da eficiência de seus clientes, graças, ao conhecimento adquirido sobre as regras de negócio do setor de transporte ao longo dos mais de 20 anos de atuação neste mercado. Certificação de qualidade, como o MPS.BR – Melhoria de Processo do Software Brasileiro, assegura qualidade nos processos de produção de software, sendo a Softcenter uma das únicas empresas de software no Paraná a conseguir a certificação MPS.BR. Destaque no programa Pequenas Empresas & Grandes Negócios da Rede Globo, levando ao ar os produtos e processos produtivos da Softcenter. Vencedora do Prêmio Destaque Tecnológico 2008 - Prêmio Banco do Brasil, na categoria Software, essa premiação reconhece as melhores empresas, instituições e pesquisadores que se dedicam à inovação no processo produtivo em Londrina. Destaque projeto do IBQP - Instituto Brasileiro de Qualidade e Produtividade e da Assespro – Associação das Empresas Brasileiras de Tecnologia da Informação, o Projeto Movimento Paraná Competitivo, que tinha o objetivo de avaliar o nível de gestão da empresas participantes.

quarta-feira, 1 de outubro de 2014

Treinamento - Uniware Consultoria em Informática

O workshop realizado na Uniware teve como objetivo orientar a equipe de desenvolvimento no uso de técnicas destinadas a otimizar os atuais processos de desenvolvimento de software, bem como facilitar a manutenção e evolução do atual sistema da empresa para ambientes distribuídos na internet utilizando tecnologias multicamadas. Participaram do workshop colaboradores e gerentes de desenvolvimento, que também contou com a apresentação de soluções para o desenvolvimento mobile e multi-plataforma.

Sobre a Uniware

A Uniware é a empresa que desenvolve o sistema Unilab, um sistema para laboratório de análises clínicas criado para uso em ambiente Windows. Os dados são salvos em banco de dados relacional, garantindo assim maior segurança e confiabilidade às informações. Os resultados dos exames são totalmente configuráveis em todos os seus itens: fonte, tamanho e cor das letras, posicionamento na página. Oferece também o recurso de geração de gráficos de linha e réguas referenciais. Podendo também configurar exames por faixa etária e sexo. O programa permite o gerenciamento do laboratório através de diversas estatísticas e relatórios como exames por convênio, por médico, por setor e outras. O módulo de recepção possui o controle de entrega de resultados, permitindo assim o acompanhamento das várias etapas pela qual passa o pedido de exame. O sistema informa data e hora do pedido, da digitação e da impressão do resultado. Informa também o usuário do sistema que manipulou os dados, realiza o faturamento contra convênios e gerencia os pagamentos realizados no caixa. Além de todos esses recursos o Unilab possui um tutorial com aulas separadas por tópicos. O usuário do sistema assiste aulas e tem treinamento no próprio computador, possibilitando maior velocidade na adaptação ao software e menor gasto com treinamento de funcionários. O Unilab Possui mais de duzentos clientes espalhados pelo território nacional.

 

sexta-feira, 26 de setembro de 2014

Tech Business Talk

Workshop voltado a Tecnologia, Inovação e StartUPs. Assuntos abordados: Como se começa uma empresa? Como buscar o diferencial no mercado? Exemplos práticos de como se faz software hoje, de forma ágil e funcional, usando métodos ágeis para tentar minimizar o risco do desenvolvimento de software em curtos períodos, para futuramente evoluir o sistema, etc. Com a presença de Fábio Câmara e Guinther Pauli, com suas reconhecidas trajetórias e grandes experiências que certamente trouxeram a este evento e seus participante um marcante momento de aprendizado. Fonte: Eventos Faculdade Antonio Meneghetti.




sexta-feira, 12 de setembro de 2014

Padrões de Projeto Comportamentais - Artigo Revista ClubeDelphi 160

Neste artigo publicado na Revista ClubeDelphi edição 160 mostro os padrões de projeto do tipo comportamentais (behavioral). Em especial, os padrões de projeto da categoria comportamentais são extremamente úteis para criar softwares mais fáceis de serem mantidos, evoluídos, promovendo reutilização de código, uso de boas práticas de programação orientada a objetos, redução de custos com manutenção, já que permitem que alterações em um determinado sistema de software não quebrem outras funcionalidades, reduzindo a dependência entre classes, através do uso intensivo de abstrações. Enquanto os padrões criacionais resolvem problemas relacionados à criação de objetos, e os estruturais aos modelos de estruturas de classes, os padrões comportamentais resolvem problemas relacionados principalmente à interação e comunicação entre objetos, que normalmente causam forte acoplamento e dependência. Para cada padrão de projeto, serão apresentados as suas intenções, benefícios, vantagens e participantes conforme definidos no livro do GoF. A seguir, será apresentado um exemplo prático em Delphi mostrando como criar um framework com as classes de cada padrão e uma aplicação que consome este framework. Entre os padrões apresentados está o Observer. A intenção do padrão Observer é definir uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente. No Delphi, a classe TComponent implementa o padrão Composite, permitindo que um objeto seja formado a partir da composição de vários outros componentes, guardando internamente uma coleção que referencia cada uma destes, chamada FComponents, do tipo TList (coleção genérica de componentes). Isto permite, por exemplo, que o Delphi implemente o mecanismo de componente “proprietário”, mais conhecido como Owner, que gerencia o ciclo de vida de um objeto conforme a composição. TComponent define ainda uma lista de observadores, armazenados no atributo FObservers, do tipo TObservers (você pode verificar esta estrutura na unit System.Classes). Podemos notar uma implementação mais antiga do padrão Observer em TComponent, através do mecanismo de Notification (notificação). O método Notification de TComponent recebe como parâmetro um componente e uma operação, do tipo TOperation (opInsert, opRemove). FreeNotication é um método que faz uso do padrão Observer para monitorar quando um componente é excluído, por exemplo, do form designer. É graças a esse mecanismo de observação que, por exemplo, quando excluímos uma instância de algum TDataSet como um ClientDataSet que esteja sendo referenciado na propriedade DataSet de um TDataSource, o mesmo receberá uma notificação informando que houve uma exclusão, removendo assim a referência ao objeto e evitando um Access Violation. Já o padrão State permite que um objeto altere seu comportamento quando seu estado interno muda. O padrão pode ser aplicado: quando o comportamento de um objeto depende do seu estado e ele pode mudar seu comportamento em tempo de execução, dependendo desse estado; operações têm comandos condicionais grandes, de várias alternativas, que dependem do estado do objeto. O Strategy tem por objetivo definir uma família de algoritmos, encapsular cada uma delas e torná-las intercambiáveis. Strategy permite que o algoritmo varie independentemente dos clientes que o utilizem. Esse padrão pode ser aplicado quando muitas classes têm propósitos semelhantes e divergem apenas no seu comportamento (implementação). Ou ainda, quando é necessário encapsular a solução para um problema resolvido por um ou mais algoritmos, dos quais classes clientes não devem tomar conhecimento. Este padrão traz alguns benefícios, como a eliminação de comandos condicionais para a seleção de um comportamento desejado (algoritmo) para resolver um problema. Ao usar herança, Strategy encapsula esses comportamentos em subclasses e usa polimorfismo (que é dinâmico) para substituir as condicionais estáticas, abrindo inclusive a arquitetura para fácil inclusão de novas estratégias para solucionar o mesmo problema. Vamos a um exemplo no próprio Delphi. A classe TDataSource possui uma referência a um TDataSet, a qual existe desde o Delphi 1, portanto, adaptável a mudanças (estamos no XE6 e ela ainda existe). TDataSet é uma abstração, que possui dezenas de implementações concretas. Quando você chama o método Post, por exemplo, de qualquer tipo de TDataSet, está na verdade chamando um método virtual polimórfico. Normalmente, quando construímos formulários base de cadastro em Delphi, colocamos apenas um TDataSource em tela, mantendo TDataSets de acesso a dados separados em um TDataModule. Estes TDataSets são implementações concretas da abstração, como TClientDataSet (DataSnap), TADOQuery (ADO) ou TFDQuery (FireDac). Agora imagine que neste formulário base você precisa invocar o método Post para gravar os dados do formulário, de forma a tornar a implementação aberta independente de qual engine de acesso a dados utiliza. Facilmente podemos fazer uma chamada como DataSource1.DataSet.Post(). Ou seja, chamamos o método Post do DataSet que está sendo atualmente referenciado pelo TDataSource do formulário base, não importa qual tipo de TDatSet seja (TClientDataSet, TFBQuery etc). Em tempo de execução, o método Post da correta classe concreta será invocado, através de polimorfismo, sem a necessidade de testes condicionais. Veja que neste caso, TDataSource “esconde” a estratégia de gravação usada para persistir dados de Data Controls a ele vinculados, algo muito semelhante ao que sugere o padrão Strategy. De fato, se feita uma boa arquitetura, é perfeitamente possível substituir todo um engine de acesso a dados mantendo formulários intactos. Você troca de um TADOQuery configurado para persistir dados em um banco SQL Server por um TFDQuery, dessa forma, fazendo o intercâmbio dos “algoritmos”, atingindo o mesmo resultado esperado (gravar no SQL Server) usando uma outra estratégia. O Template Method tem por objetivo definir o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses. Template Method permite que as subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo. Este padrão pode ser aplicado quando existe um algoritmo que resolve um problema a partir de uma série de operações (partes), chamadas da mesma forma, porém estas formas podem variar. Esta variação é então explicitada em subclasses, usando polimorfismo. Um método na classe base nesse caso funciona como um “template”, que chama operações em pontos específicos do código, de forma apropriada. Subclasses então apenas se encarregam de dar uma forma concreta a estes pontos já chamados. É uma espécie de inversão de controle, pois nesse caso é a classe base que chama indiretamente métodos das classes filhas, e não o contrário. Um benefício do uso do padrão é evitar redundância de código, nesse caso, a chamada a vários métodos em sequência. E finalmente, o artigo mostra o padrão Visitor. Este padrão tem por objetivo representar uma operação a ser executada nos elementos de uma estrutura de objetos. Visitor permite definir uma nova operação sem mudar as classes dos elementos sobre as quais opera. Este padrão pode ser aplicado quando é necessário executar operações em objetos concretos, porém esses objetos contêm uma estrutura com muitas classes com interfaces diferentes. Ou seja, no caso em que essas operações distintas necessitam ser executadas sem causar um acoplamento entre a classe cliente e elementos concretos. A solução proposta por este padrão consiste na criação de duas hierarquias de classes, uma para os elementos que recebem as operações e outra para os visitantes que definem as operações. Este padrão traz benefícios como a facilidade na adição de novas operações que dependem de objetos complexos. Clique aqui para ler o artigo completo.

segunda-feira, 1 de setembro de 2014

Tech Business Talk

Participe no Tech Business Talk, dia 27 de Setembro de 2014, das 9am as 7pm, a ser realizado na Faculdade Antonio Meneghetti, localizada no Centro Internacional de Arte e Cultura Humanista Recanto Maestro, com a presença de Guinther Pauli e Fabio Camara. Entre os assuntos abordados, estão Inovação Tecnológica, Gestão de Times, Start Ups e Liderança. Realização do Curso de Sistemas de Informação da AMF.



quinta-feira, 28 de agosto de 2014

Treinamento - HCAA - Hospital de Caridade Dr. Astrogildo de Azevedo

Ministrei um treinamento avançado em Delphi XE6 à equipe de desenvolvimento do HCAA - Hospital de Caridade Dr. Astrogildo de Azevedo, na cidade de Santa Maria - RS. O treinamento teve como principal objetivo a migração e evolução da atual solução da instituição para versões mais atualizadas do Delphi, incluindo migração de tecnologias de acesso a dados, adaptações na arquitetura a fim de facilitar a inclusão de novas plataformas como Web e Mobile, bem como o uso de técnicas de desenvolvimento ágil, programação orientada a objetos e padrões de projeto, a fim de se obterem benefícios como facilidade de manutenção, evolução, inclusão de novos requisitos, migração / evolução para novas plataformas dentre outros. O programa do curso incluiu o seguintes tópicos: Programação Orientada a Objetos com Delphi, Abstração, Polimorfismo, Herança e Encapsulamento, Delegação, Associação, Composição, Interfaces, Classes Estáticas, Classes Helpers, Generics Diretivas de Compilação, Tratamento Estruturado de Exceções, Pacotes, BPLs, Componentes e Modularização, Auditoria e Métrica de Código, Modelagem Orientada a Objetos e UML, Técnicas de Desenvolvimento Ágil com Delphi, Refatoração - melhorando arquitetura e código, Qualidade de software e Testes Unitários, Evitando Bad Smells (problemas em código), Code Clean - programando com código limpo, Refatoração para Padrões, Design Patterns - Padrões de Projeto em Delphi, Abstract Factory, Factory Method, Singleton, Template Method, Facade, Composite, Proxy, Adapter, Strategy, Chain of Responsibility, Observer, Acesso a Dados no Delphi e Multicamadas, Modelo Client/Server vs. MultiTier (Multicamadas), ClientDataSet, FireDac e DataSnap, Migração do BDE Oracle para FireDac, REST, Web Services, XML e  JSON, Novidades do Delphi XE2, XE3, XE4, XE5 e XE6, CodeSite, FinalBuilder, AQTime, Documentação, SVN, Controle de Versão, Gerência de Configuração, FireMonkey, Visual Live Bindings, Desenvolvimento Web e Mobile.

Se o time de desenvolvimento de sua empresa também estiver interessado em treinamentos, seja para capacitação, reciclagem, evolução, migração e manutenção de sistemas Delphi, entre em contato pelo email guinther@gpauli.com