Blog

All Blog Posts  |  Next Post  |  Previous Post

TMS Aurelius no seu iPhone/iPad

Friday, May 17, 2013

A versão 2.1 do TMS Aurelius acabou de ser lançada, com suporte ao Delphi XE4. Essa "pequena" atualização demorou mais que o esperado, por uma boa razão: graças ao novo compilador iOS do Delphi XE4, o TMS Aurelius agora suporta a plataforma iOS (iPhone, iPad), além do Windows 32 bits, Windows 64-bit e Mac OS X, as plataformas que já eram suportadas.

Como você provavelmente já sabe, o novo compilador iOS introduz alguns conceitos diferentes em relação ao tradicional compilador Win32 que nós estamos acostumados. Objetos com "Automatic Reference Counting" (destruição automática, assim como as interfaces sempre foram) e strings com índica começando em zero (zero-based strings) são os principais, e também o fato de que o uso de ponteiros é desencorajado.

Mas para aqueles que estão considerando usar esse novo compilador iOS, há boas notícias. Pessoalmente, eu fiquei surpreso, positivamente, com a boa compatibilidade que existe com o código atual escrito para Windows. Claro que depende do código. Se o código usa muitos ponteiros, acesso a coisas baixo nível, hacks, etc., pode ser que migrar para o iOS requeira mais trabalho. Mas fora isso, há uma boa chance de que o seu código irá funcionar bem no iOS. Posso tomar como exemplo o TMS Aurelius. Ele pode ser considerado um produto recente da TMS (pouco mais de um ano se passou desde o lançamento da versão 1.0 em Janeiro de 2012) e por isso ele usa diversos recursos modernos da linguagem, como generics, o novo RTTI, entre outros recursos novos que ajudam o código a ficar limpo, simples, bem estruturado, e com pouco acesso a pointeiros e coisas de baixo nível. Fazer a maior parte desse código funcionar no iOS não exigiu grandes mudanças, e funcionou perfeitamente (obviamente, nós rodamos nossa bateria de testes e todos passaram, tanto no simulador como no próprio dispositivo iOS - testei num iPhone 4S).

Eu mencionei "a maior parte desse código" porque a única exceção foi o TAureliusDataset. Não que tenha sido um pesadelo, mas se não precisasse migrá-lo, as demais partes do TMS Aurelius estariam compilando e rodando no iOS em questão de minutos. Mas o TAureliusDataset, obviamente, descende do TDataset, que é um código antigo, que usa bastante ponteiros, buffers internos de memória, etc.. Então esse código precisou de um pouco mais de esforço pra ser migrado - mas foi!

Concluíndo, você agora pode usar o seu código com TMS Aurelius no iOS, com todos os recursos existentes, incluindo o TAureliusDataset e suporte nativo a SQLite. E a melhor parte é que você pode usá-lo do mesmo jeito que usa no Delphi tradicional: uma vez que o TMS Aurelius já gerencia a vida dos objetos nas aplicações VCL/FMX atuais (você não precisa se preocupar em destruir os objetos obtidos do banco de dados), você terá o mesmo comportamento no iOS.

Wagner Landgraf




This blog post has not received any comments yet.



Add a new comment

You will receive a confirmation mail with a link to validate your comment, please use a valid email address.
All fields are required.



All Blog Posts  |  Next Post  |  Previous Post