Desenvolvimento

13 dez, 2017

Plataformas para desenvolvimento de apps móveis – Parte 02: Embarcadero

Publicidade

Hoje vamos dar sequência à série sobre plataformas para desenvolvimento de apps móveis feita pelos meus alunos da Universidade de Passo Fundo. O primeiro artigo desta série você pode ver aqui.

Por André Lucca e Gabriela Rizzardi

O pacote de Cross-Plataform da Embarcadero Technologies é uma evolução do antigo Delphi, da Borland. Na época, o principal conceito da ferramenta foi chamado de RAD (Rapid Application Development/Desenvolvimento Rápido de Aplicações) e em meados de 2006 foi adquirido pela Embarcadero. Ao mesmo tempo também vinha a discussão de multiplataforma, no início se queria a mesma solução para Windows e Linux, o que nunca aconteceu. Surgiu, então, algumas IDE´s para compilar o Delphi para Linux, como o Kylix e o Lazarus (https://www.lazarus-ide.org).

O Delphi XE foi lançado em 2010. De lá para cá, a Embarcadero tem surpreendido cada vez com versões mais completas do Delphi e dando suporte a mais e mais tecnologias. A RAD Studio XE2, por exemplo, nos possibilita o desenvolvimento de aplicativos para a plataforma iOS da Apple, que é usada nos dispositivos móveis iPhone e iPad. Com XE2, chegou o fantástico framework Firemonkey, que suportava GPU.

Em 2012, a versão X3 adicionou suporte total ao Windows 8.0 através da nova versão do Firemonkey, FM2. Foi adicionado suporte a telas de retina, e também o LiveBindings, usado para transformar qualquer componente visual em um controle DBWare, com acesso a dados. No ano seguinte foi a vez do XE4, que implementou suporte total a iOS, Windows 32 e 64 bits e Mac OS X através do novo compilador da ferramenta. O XE5 lançado no mesmo ano veio com total compatibilidade com Android, ou seja, compilador nativo para a plataforma, mais um marco na história.

Duas novas versões lançadas em 2014, a Delphi XE6 e XE7, agregaram ainda mais valor a ferramenta. Foram introduzidos: um novo compilador C++ para Android, In-App Payment Services e Advertising Services. Esses dois últimos para possibilitar compras dentro de nossos aplicativos mobile. Também Push Notifications, suporte ao óculos do Google (Google Glass), sensores para VCL, Taskbar Buttons para VCL, estilos para VCL, que nos deu a possibilidade de criar aplicativos mais atraentes e suporte a Apache Server e SubVerion. Tudo isso no XE6.

A versão 7 da família XE recebeu importantes updates, como: Multi-Device Designer – nesse ponto, mesmo falando em Cross Plataform, ainda não se tem um código único, ou seja, é possível fazer as telas para varias plataformas, mas o código é distinto para qualquer uma delas.

Ainda Splash Screen para Android, importação de bibliotecas Java para Android, programação paralela com a class TParallel, Jump List para VCL, EMS (Enterprise Mobility Services), suporte a Bluetooth/Bluetooth LE (Low Energy) e integração com GIT para controle de código-fonte.

O Delphi XE8 veio recheado de novidades, como Multi-Device Preview (ainda sem utilizar o mesmo código para várias plataformas), suporte total a aplicativos iOS 64 bits, atendendo à exigências da Apple, e claro, suporte a aplicações universais Apple.

Novas funções totalmente nativas do sistema operacional, tais como: TListView, TSwitch, TMemo, TCalendar, TMultiview e TEdit, todos 100% compatíveis e nativos para iOS. Desktop Web Browsers, MapasInterativos, AppAnalytics, suporte a Beacons (Internet das Coisas), suporte a TeraDATA e integração com Mercurial, outro controle de código-fonte bastante utilizado.

Em 2015, a Embarcadero embarcou na onda do lançamento do Windows 10 e lançou sua nova versão da ferramenta utilizando o nome Delphi 10 Seattle em homenagem a cidade em que a Microsoft foi fundada. A versão, em menos de 30 dias começou a ganhar o título de uma das versões mais estáveis da história, comparada inclusive com a versão Delphi 7, tão amada por desenvolvedores.

Um novo Compilador C++ 11 para Windows 32 foi lançado, assim como suporte total a Windows 10 foram introduzidos. Também foi incluso o suporte a serviços no Android, suporte a intents (intenções) também do Android. Incluindo suporte ao banco MongoDB, novos controles VCL compatíveis com Windows 10, tais como: TRelativePanel, TSplitView, TToggleView, TActivityIndicator, TSearchBox. Para quem deseja criar seus próprios estilos, agora é possível com FireMonenkey Style Designer. Por fim, foram adicionados suporte a JSON Improvements e DataSnap HTTP Nativo.

No Delphi 10 Seattle, dobraram a memória disponível para trabalhar, o que significa uma IDE muito mais rápida, estável e com melhor gerenciamento de memória para grandes projetos. A versão Tókio do Delphi 10 ou Delphi 10.2 teve a mudança na compilação, pois agora é possível compilar para Windows, Linux, macOS, iOS, e Android com um único código fonte.

São disponibilizadas várias opções de licenciamento, dentre as quais: licenças individuais de usuário nomeado entregues via envio eletrônico de software (ESD), por meio de um download e um número de série. Pacotes de 5 e 10 licenças com desconto também estão disponíveis. Licenças de rede gerenciadas no Flex era FlexNet estão disponíveis sob demanda. Licenças individuais acadêmicas para estudantes e educadores, assim como maiores volumes de licenças para utilização em sala de aula. A licença individual para empresas custa em torno de US$1400 para utilizar durante 1 ano.

Funcionalidades da ferramenta

Os maiores benefícios ao utilizar a ferramenta, são:

  • Produtividade: é possível projetar, desenvolver e operar rapidamente aplicativos otimizados para desempenho nativo, de uma base de códigos única em todas as plataformas.
  • Usabilidade: componentes flexíveis e é necessário apenas recompilar para Windows, macOS, iOS e Android.
  • Dimensionabilidade: é possível se conectar com segurança e incorporar quaisquer dados na empresa ou na nuvem.
  • Velocidade: utiliza bibliotecas multiplataforma para serviços na nuvem flexíveis, acesso a dados unificados, IoT e muito mais.
  • Agilidade: desenvolvendo em um IDE com todos os recursos, depuradores integrados, análise de códigos, criação rápida de protótipos e muito mais.

Design

Os dados em tempo real no tempo de design ajudam os desenvolvedores a acelerarem o design de interface de usuário em todos os tamanhos de tela desejados. É possível criar protótipos com maior rapidez ao ver antecipadamente como os dados se enquadram com o design de UI, com suporte a dados em tempo real de múltiplas fontes, incluindo bancos de dados e APIs REST. O processo de arrastar e soltar componentes para desenvolver a interface de usuário simplifica o desenvolvimento. Para acrescentar usabilidade, basta definir as propriedades de componentes no inspetor de objetos.

Desenvolva sua UI uma vez e execute em múltiplos dispositivos com a flexibilidade oferecida no design de múltiplos dispositivos FireUI. Crie um design padrão rapidamente com componentes de reconhecimento de resolução.

A visualização de aplicativos FireUI permite que visualize seu aplicativo FireMonkey em dispositivos iOS, Android, macOS e Windows enquanto o projeta. Com o Designer LiveBindings, você pode conectar visualmente elementos de interface de usuário e fontes de dados prontas para mostrar dados em tempo de design e tempo de execução.

Desenvolvimento

Seus compiladores altamente otimizados e voltados para todas as plataformas, garantem que o desempenho não deixe o usuário esperando toda vez que compilar. É possível compilar e vincular um milhão de linhas de código em apenas cinco segundos.

A IDE é moderna e focada em desenvolvedores. É possível dividir os painéis no IDE de acordo com as preferências. Linguagens modernas focadas em Object-oriented programming (OOP). Com Code Insight™, oferecendo preenchimento automático de códigos com base na programação e bibliotecas utilizadas. Refatoração ágil e gerenciamento de mudanças. Possui declarações de códigos-esqueleto reutilizáveis que possibilitam que os desenvolvedores programem estruturas recorrentes com rapidez. Com depuração nativa interplataformas integrada para localizar e solucionar problemas com maior rapidez.

Qualidade de código

O RAD Studio transforma a documentação de código em ajuda em linha imediata, disponível para os desenvolvedores da equipe. Informações mais avançadas sobre o desempenho do código. É possível descobrir o que está acontecendo no aplicativo sem interromper seu fluxo, adicionando registros em tempo real, ultra potentes a qualquer aplicativo.

Testes de unidade é um recurso de qualidade de códigos essencial da programação extrema (XP). Com o RAD, é possível aproveitar as estruturas DUnit e DUnitX incluídas. Use métricas de códigos para realizar uma análise estática avançada do seu código. Empregue auditorias de código para reforçar técnicas e metodologias de programação adequadas dentro de sua base de códigos. Oferece suporte a padrões de design de OOP de boas práticas. Padrões proporcionam aos desenvolvedores de software recursos de reutilização poderosos. Em vez de tentar solucionar cada problema de design desde o início, é possível usar padrões pré-definidos.

Colaboração

Com suporte para repositórios Subversion, Git e Mercurial, possibilita um conjunto de tarefas de gestão de código-fonte comuns, incluindo, adicionando e atualizando projetos, arquivos, histórico de navegação e revisões para localizar diferenças. Visualizador de união e diferenças. A ferramenta de comparação de texto padrão é fornecida pela Beyond Compare, permitindo que você localize diferenças rapidamente com opção de destaque com reconhecimento de linguagem.

Inclui compiladores de linha de comando ideais para integração em configurações de versões contínuas, rapidamente usando o formato MSBuild. Ferramentas externas, como Hudson e Jenkins, combinadas com testes de unidade integrados, fornecidos pela DUnit e DUnitX, proporcionam uma base robusta para integração contínua.

Extensão

O RAD Studio inclui centenas de componentes para tudo, desde criar interfaces de usuário, até conectividade de banco de dados, facilitando e agilizando o desenvolvimento de aplicativos empresariais conectados para plataformas móveis e desktop. Além dos componentes VCL e FireMonkey incluídos, há um amplo conjunto de ferramentas e componentes disponíveis na comunidade Delphi e C++Builder.

Adicione rapidamente recursos de IoT ao RAD Studio IDE com mais de 50 componentes de IoT disponíveis, grátis pelo Get It. De monitores cardíacos até balanças Bluetooth ou luzes compatíveis com ZigBee. Ferramentas e componentes já incluídos:

  • Fast Reports: Gerar relatórios de forma rápida e eficiente.
  • TeeChart: Incorporar imagens e gráficos.
  • Interbase: Incorporar um banco de dados de alto desempenho em aplicativos RAD Studio de múltiplos dispositivos.
  • Beyond Compare: Compare arquivos.
  • IP*Works: Desenvolvimento de Internet baseado em componentes.
  • IntraWeb: Desenvolver aplicativos da Web.

Implantação

Possui Adhoc para loja de aplicativos. Produz rapidamente grupos de aplicativos que funcionam no Windows 10 Desktop Bridge, macOS, iOS e Android. Os desenvolvedores podem identificar dentro de cada projeto os arquivos a serem implantados com base na plataforma desejada (por exemplo, Windows, macOS, Android, iOS, Linux) e em configurações de versões. É possível implantar arquivos rapidamente em máquinas remotas, diretamente do IDE usando o Servidor assistente de plataformas (PA Server).

Executando um teste de aplicativo

Basicamente, criamos dois formulários com componentes nativos do Delphi, manipulamos algumas propriedades e inserimos algum código também nativo da linguagem Object Pascal. Trocamos em tempo de design a visualização entre Windows e Android. Componentes mais complexos na tela 2, como TListbox e um TCalendar. Percebemos nitidamente a praticidade da ferramenta.

Visualização de formulário em style Windows
Visualização de formulário em style Android
Visualização de segundo formulário e seus componentes

Muito prático e rápido de trabalhar e compilar, podendo escolher em tempo de desenvolvimento qual plataforma e qual estilo de visualização deseja. Ao mudar a compilação de Windows para Android, o projeto compilou corretamente, porém, apresentou alguns erros que na versão para Windows não ocorreu provavelmente alguma adequação de comandos.

Ao fim dos testes, podemos perceber que o pacote gerado para Android ficou com 7.434 Kb, um tamanho considerado grande para a pouca quantidade de telas apresentadas no exemplo, se comparado com outro aplicativo com muito mais codificação, telas e que foi gerado em IDE Android Studio que gera aplicativos nativos de Android, pode vir a ser um problema em projetos maiores.

Conclusão

A RAD Studio é uma excelente ferramenta para desenvolvimento multiplataforma. Basta apenas recompilar para a plataforma desejada. Talvez serão necessários alguns ajustes, pois pode ser que um componente selecionado não exista para todas as plataformas. Outro detalhe seria o custo beneficio a ser analisado para pequenas e médias empresas. O que nos anima é a enorme comunidade que usa a ferramenta, podendo ser encontrado facilmente suporte para questões de desenvolvimento.

Referências