Principais Mudanças na Linguagem Delphi para Mobile

screenhunter_17-apr-27-21-48Introdução

Este artigo apresenta as principais novidades da linguagem Delphi no que diz respeito a desenvolvimento para Mobile, disponibilizado recentemente através do Delphi XE4. Porém antes dos detalhes da linguagem, vamos entender o motivo e a abrangência destas alterações.

Novo Compilador

Para oferecer suporte aos dispositivos móveis foram criados dois novos compiladores, um para o simulador do iOS e outro para o dispositivo físico (ARM), já que as arquiteturas são distintas.Desta forma agora temos:

  • Win32 compiler (DCC32)
  • Win64 compiler (DCC64)
  • Mac compiler (DCCOSX)
  • iOS Simulator compiler (DCCIOS32)
  • iOS ARM compiler (DCCIOSARM)

A novidade está nos dois últimos, os quais seguem um desenho totalmente novo, baseados em um padrão chamado LLVM (http://llvm.org). Podemos entender o LLVM como um conjunto de módulos e ferramentas reutilizáveis para compiladores, utilizados amplamente por diversos compiladores nativos, entre eles o próprio Xcode, nativo da Apple.

Mudanças no Delphi Language

Para suportar dispositivos móveis, o novo compilador (acima) impõe algumas mudanças de linguagem, as quais vou listar a seguir. Na verdade, mais do que mudanças, trata-se de uma grande evolução da linguagem Delphi. No futuro, estes e outros avanços serão portados também para os compiladores Win32, Win64 e OSX.

Automatic Reference Counting (ARC)

O ARC traz o melhor dos dois mundos: gerenciamento automático de memória sem a necessidade de um garbage collection, tido como um grande vilão de performance nas linguagem que o utilizam. Em resumo o ARC gerencia o ciclo de vida de objetos sem que você tenha que se preocupar com o “Free”.

No exemplo acima, o objeto MyObj será removido da memória assim que sair do escopo. Importante ressaltar que a sintax tradicional (try/finally fazendo o Free manual do objeto) continua suportada, portanto as migrações de código estão garantidas.

Também estão disponíveis o pattern Dispose e suporte a [Weak] References. Você pode encontrar mais sobre isso aqui:http://edn.embarcadero.com/article/43073.

Tipo String

Todos os tipos string existentes (AnsiString, UTF8String, RawByteString, WideString, AnsiChar, PAnsiChar, PWideChar, OpenString, ShortString

) agora estão simplificados em um único: String. Além disso, as strings agora são 0-based ao invés de 1-based. Isso significa que alguns códigos podem precisar de revisão, mas as funções de manipulação de strings já estão preparadas para esta mudança.

Uma outra – importante – mudança é que as strings passarão a ser “imutáveis”, devido ao gerenciamento de memória dos dispositivos móveis. Nesta versão do compilador tudo continua conforme anteriormente, você receberá apenas uma warning alertando que, futuramente, construções como a exibida abaixo não será mais suportada:

str1[3]:=’w’;

Portanto é altamente recomendado que, para seus novos códigos, você faça uso de construções como TStringBuilder e TStringHelper para a manipulação de strings. Um trecho de código utilizando estas classes para ilustrar:

 

Outras mudanças

  1. Ponteiros não são suportados no mundo mobile
  2. Não há suporte para Inline assemby
  3. Evite chamadas a APIs diretamente, esteja pronto para as novas plataformas que virão
  4. Prefira utilizar as units cross-plataform, especialmente ao manipular arquivos (unit IOUtils)

Informações e recursos para pesquisa

  1. Páginas principais dos produtos: RAD StudioDelphiC++ BuilderHTML5 Builder
  2. Documentação on line:http://docwiki.embarcadero.com/RADStudio/XE4/en
  3. Tutorial Delphi para iOS: Delphi iOS Application Development
  4. Link para download do trial:https://downloads.embarcadero.com/free/rad-studio
  5. Trial via Instant Trial (AppWave): http://windowsapps.com/rad-studio-trial.html?trial=1
  6. Tudo o que há de novo no Delphi e C++ Builder XE4
  7. O que há de novo especificamente no C++ Builder 64 bit
  8. Lista de correções do Delphi e C++ Builder XE4:http://edn.embarcadero.com/article/43068
  9. White Paper do Marco Cantu sobre todas as mudanças na linguagem: http://www.embarcadero.com/resources/white-papers/application-development

É isso aí pessoal, apesar de resumida, esta é a lista do que considero ser o mais importante. De qualquer maneira, não deixe de acessar os materiais disponíveis e estudar o assunto em todos os seus detalhes. Abraços e até o próximo!

Retirado em http://blogs.embarcadero.com/fernandorizzato/index.php/2013/05/05/principais-mudancas-na-linguagem-delphi-para-mobile/

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s