Por que eu devo ler este artigo:Historicamente, a chegada de uma nova versão do Delphi implica no acréscimo de novas pontualidades a serem estudadas. Adicionalmente, para se manter atualizado com as novidades é imprescindível o conhecimento fundamental sobre o estágio atual da ferramenta até aquele momento. Dito isso, este artigo, ao mesmo tempo em que mostra as novidades trazidas pelo Update 2 do Delphi Berlin, pondera também sobre o cenário corrente do produto até este momento e o que esperar dele num futuro próximo.

Tendo em vista seu cenário mais recente, por definição, o Delphi pode ser enquadrado em duas categorias distintas, sendo considerado tanto um ambiente de desenvolvimento integrado (IDE — Integrated Development Environment) quanto uma efetiva linguagem de programação. Como linguagem, seu dialeto tem como base o Object Pascal, que foi a linguagem primária da ferramenta, desde o momento de sua concepção há décadas atrás.

É fato que a partir de sua versão XE5, de forma invariável, o Delphi acabou por ganhar mais uma definição, SDK (Software Development Kit). Essa sigla em inglês, muito popular no contexto de desenvolvimento de software, faz referência a um conjunto de recursos que contribuem diretamente no apoio à criação do software final. Logo, o suporte completo ao desenvolvimento multiplataforma provido pelo Delphi mais recentemente, o caracterizam como um verdadeiro kit de desenvolvimento. Fundamentalmente, seria um SDK provendo acesso a outros SDKs, tais como Android SDK e Windows SDK. Logo, na prática, isso significa dizer que somente a sua própria instalação já habilita a construção de aplicativos para todas as plataformas suportadas: Windows, MacOS, iOS e Android.

Delphi Berlin 10.1

Berlin é o codinome da mais recente versão estável do Delphi, a 10.1, uma evolução do Delphi 10 Seattle. Lançada já pela IDERA, empresa que adquiriu a Embarcadero (antiga detentora dos direitos do IDE), essa grande atualização marcou a adição de várias novas features ao produto, bem como a estabilização de outras já existentes.

Diante disso, a partir deste ponto, o pleno conhecimento das possibilidades que a ferramenta pode proporcionar ao desenvolvimento de aplicações é relevante. Basicamente, a ideia é que o desenvolvedor Delphi tenha a expertise necessária sobre o poderio do IDE em seu plano atual, facilitando o conhecimento das nuances de um novo release. Seguindo por essa linha, alguns pontos fundamentais devem ser levados em conta:

Android

Atualmente, o desenvolvedor Delphi é capaz de construir aplicações para as principais versões do Android, incluindo KitKat (4.4), Lollipop (5.1) e Marshmallow (6.0), o que propicia ao profissional uma abertura de mercado considerável. Adicionalmente, ainda se faz presente a questão do reaproveitamento de conhecimento proporcionado pela ferramenta: seja para a construção de uma aplicação VCL Desktop ou uma aplicação FMX Mobile, a Delphi Language será a utilizada.

VCL

Visual Component Library, ou simplesmente VCL, é o principal framework de desenvolvimento do Delphi, tendo sua concepção atrelada ainda à época da Borland. Desde aquela época sua evolução tem se mostrado consistente, sempre caminhando paralelamente ao Windows, que é a sua plataforma de destino. Em vista disso, com o lançamento da versão 10 do sistema operacional, surge uma nova gama de componentes visuais, todos voltados a atender o novo Windows.

TRelativePanel é um desses componentes, e sua função básica é prover uma capacidade relativa de posicionamento visual dos elementos em tela, tal como ocorre em aplicações web e mobile mais modernas. Em termos práticos, ao invés de se posicionar um determinado controle de forma absoluta e fixa, o TRelativePanel possibilita, por exemplo, que se determine que o elemento A deva estar posicionado sempre à esquerda de um elemento B, ou mesmo que um elemento X deva se posicionar sempre ao topo de outro elemento Y, e assim por diante.

A Listagem 1 exibe um trecho de código DFM que exemplifica o uso prático do componente. Basicamente, o TRelativePanel mantém uma coleção de controles, neste caso, um botão (Button) e uma caixa de entrada (Edit), por meio de sua propriedade ControlCollection. O primeiro é então alinhado ao fundo e centralizado horizontalmente. A relatividade de seu posicionamento é com relação ao próprio Panel, conforme indicado pela configuração das propriedades AlignBottomWithPanel e AlignHorizontalCenterWithPanel, respectivamente.

Já o Edit tem seu posicionamento relativo relacionado tanto ao Panel quanto ao Button. Sendo assim é determinado que ele fique sempre numa posição acima do botão (propriedade Above) e alinhado horizontalmente ao centro do Panel (propriedade AlignHorizontalCenterWithPanel).

Listagem 1. Código DFM da utilização de um componente TRelativePanel


  01 object RelativePanel1: TRelativePanel
  02 ...
  03 ControlCollection = <
  04    item
  05      Control = Button1
  06      AlignBottomWithPanel = True
  07      AlignHorizontalCenterWithPanel = True
  08 ...
  09    end
  10    item
  11      Control = Edit1
  12      Above = Button1
  13      AlignHorizontalCenterWithPanel = True
  14    end>
  15 ...

EMS

No contexto do Delphi, EMS é uma sigla que foi introduzida recentemente e remete a Enterprise Mobility Services, uma solução que expõe uma camada de serviços por meio de APIs REST. Em termos gerais, o EMS pode ser enquadrado na mesma linha de soluções do DataSnap, que, além de incluir o conceito de camadas em sua arquitetura, estabelece o atendimento de clientes por meio de um servidor centralizado, que concentra dados e regras de negócio e expõe os serviços necessários. A Figura 1, retirada do próprio site da ferramenta, ilustra de forma concreta a intenção do EMS mediante a apresentação de sua arquitetura.

Arquitetura do EMS (fonte:
community.embarcadero.com)

Figura 1. Arquitetura do EMS (fonte: community.embarcadero.com)

...

Quer ler esse conteúdo completo? Tenha acesso completo