Depois de no início de Agosto de este ano a Novell oferecer a cerca de 2000 programadores a oportunidade de se juntarem aos testes do MonoTouch Beta, foi anunciado dia 14 de Setembro a versão final e comercial de esta nova framework para desenvolvimento de aplicações em C# para o iPhone.
O ponto mais positivo de esta framework, é que esta produz código nativo quando é executado o build da aplicação, estando assim de acordo com as normas que a Apple obriga os programadores a seguir para que as aplicações criadas por estes possam ser incluídas na Apps Store da Apple.
O Mono utiliza o modelo de compilação just-in-time (JIT), onde o bytecode é traduzido para código máquina nativo em runtime, no entanto o compilador suporta um outro modelo de compilação, chamado ahead-of-time (AOT) que converte .NET Common Intermediate Language (CIL) para código nativo em tempo de compilação. Isto permite que aos programadores compilar as suas aplicações baseadas na Mono framework em aplicações nativas que não necessitam de uma Virtual Machine ou qualquer outro componente em runtime para a aplicação ser executada com sucesso.
Esta framework inclui de compiladores, bibliotecas e ferramentas de integração com o iPhone SDK. Também inclui as bilbiotecas base do .NET Framework assim como um cross-compiler que pode ser utilizado para migrar aplicações e bibliotecas desenvolvidas em .NET para aplicações compatíveis com o iPhone e susceptíveis de serem publicadas na Apple Apps Store.
No entanto a Novell decidiu tornar esta framework num produto pago, e que pode ser adquirido na loja on-line do site oficial da Novell.
A empresa disponibiliza, no entanto uma versão trial do produto, que eu experimentei e da qual deixo aqui uma demonstração.
Antes de mais, para utilizar o MonoTouch para desenvolver aplicações, são necessários alguns requisitos:
- Ter Apple Machintosh com um processador intel, OSX 10.5/6
- Instalar a Apple iPhone SDK 3.0 ou superior
- Ser um Apple iPhone Developer
- Instalar a última versão do Mono para OSX
- Instalar a última versão do MonoDevelop para OSX
Para esta demonstração desenvolvi um programa muito simples, este apenas tem um contador com o número de vezes que é pressionado um botão, no entanto o objectivo de esta demonstração concentra-se em mostrar como se pode desenvolver uma aplicação para iPhone recorrendo à MonoTouch framework.
Começamos por criar um novo projecto C# para iPhone
De seguida construimos o interface, recorrendo para isso a uma ferramenta do Xcode, o Interface Builder

E depois de criar a interface gráfica, vamos programar os eventos que a interface suporta, no exemplo apenas é necessário criar o evento TouchDown do botão “pressionar”
Quando se faz o build do projecto, o MonoDevelop utiliza uma ferramenta que faz parte do iPhone SDK, o iPhone Simulator para testar a aplicação desenvolvida
Está framework embora seja um produto comercial, oferece aos programadores da plataforma .NET um novo mercado de trabalho bem como abre as portas a uma nova plataforma que se encontra em grande expansão.
Referências:
http://monotouch.net/
http://www.infoworld.com/d/developer-world/iphone-gets-net-app-development-194
http://arstechnica.com/open-source/news/2009/09/monotouch-drops-net-into-apples-walled-app-garden.ars
http://www.mobiletor.com/2009/09/15/novell-monotouch-1-0-sdk-for-iphone-app-developers/