.NET para iOS, Android e Windows Phone: Uma nova Proposta CrossPlatform

Quando começamos a nos envolver com desenvolvimento Mobile, fica muito difícil escolher por qual plataforma começar ou defender, digamos assim, dentre tantas opções que temos hoje no mercado.

Cada plataforma vem com uma proposta , comportamento, requisitos , linguagens diferentes e claro , cada pessoa tem a sua linguagem preferida. Porém isso faz de certa forma que os desenvolvedores fiquem restritos à aquela linguagem ou plataforma que vivem aquela história de lealdade e defesa da plataforma, porém quem acaba perdendo com isso, é o próprio desenvolvedor.

Pra quem já sabe e trabalha com .NET está em uma posição muito favorável, pois a Microsoft veio com uma parceria e uma nova proposta para aproveitar o .NET com o C# para iOS, Android e Windows Phone.

Ultimamente temos visto muitas novidades vindo nos Smartphones, os telefones foram transformados de simples dispositivos para fazer ligações a verdadeiros computadores moveis e muito poderosos. Muitos deles vem super completos equipados com telas de alta resolução, GPS, Cameras que gravam vídeos e tiram fotos em excelente resolução , aplicativos cada mais mais integrados com varias redes sociais , quase estão fazendo café e muitos deles quase esquentam uma lasanha de tão quente que fica a bateria =D

Como qualquer área do mercado a coisa é bem dinâmica, principalmente quando se trata de tecnologia. Podemos dizer que a Apple foi o pioneiro nessa revolução dos telefones moveis, vindo em 2007 com o iPhone, trazendo um conceito novo, com tela sensível ao toque, experiência melhor pro usuário, entre outros N recursos. Querendo ou não, ainda é o sistema operacional que mantem como referencia de SO mobile, onde é encontrando tanto no smartphone iPhone como no Tablet iPad e no iPod.

O Android, quando foi comprado pela Google em 2005, resolveu colocar uma nova proposta no mercado atingindo os aparelhos de todos os níveis, desde o mais básico e barato, até o mais TOP como um Galaxy 5. Desde de 2008 ele vem tendo diversas versões lançadas, o que fez com que alcançasse mais de 50% do mercado e menos de 4 anos de vida e ainda continua a crescer. Essa nova proposta trouxe uma flexibilidade maior para os fabricantes de devices, por se tratar de um SO openSource , muitas versões são modificadas para atender a demanda dos devices que são lançados, fazendo com que eles sejam barateados.

A Microsoft demorou um pouco para voltar ao mercado com uma nova proposta, então em 2010 lançou o Windows Phone 7, ansiosamente esperada desde a sua ultima versão, o Windows Mobile. Dessa vez a Microsoft trouxe uma proposta bem diferente do iOS e o Android, trazendo para a tela Live Tiles com informações diretas e dinâmicas para o usuário, tendo uma fluidez e proposta de usabilidade natural. Com isso os fabricantes de dispositivos como a Nokia, que adotou o Windows Phone, tiveram uma certa liberdade para projetar seus devices, mas seguindo rigidamente um conjunto mínimo de requisitos que a Microsoft dita, para que seja mantida a estabilidade e qualidade do sistema, evitando problemas de fragmentação , como acontece hoje no Android.

Mesmo sendo plataformas móveis, o iOS, Android e Windows Phone, possuem maneiras diferentes de executar suas tarefas, sua linguagens próprias e forma de uso dos hardware diferenciadas. Por exemplo as aplicações iOS são escritas em Objective C, o Android em Java e o Windows Phone utiliza o C# e VB.net. Acredito que, como desenvolvedores, não gostaríamos nem um pouco de que para atingir o maior numero de usuários em várias plataformas, ter que aprender novas linguagens para escrever 3 vezes a nossa aplicação, testar 3 vezes, corrigir bugs 3 vezes e gastar 3 vezes mais tempo para tudo!!! Porque não otimizar o nosso tempo e ganhar mais com isso, diminuindo a nossa curva de produção da nossa APP para mais de uma plataforma?

É então essa a proposta, “Escreva uma vez, execute em qualquer lugar” , essa é a proposta, que já não é nova. Essa proposta já havia sido apresentada pela SUN quando foi lançado o Java, com a proposta de ser uma linguagem unificadora para todas as plataformas e dispositivos.

Então uma empresa chamada Xamarin, usando como base o projeto MONO, lançou essa nova e fascinante proposta utilizando o C# e todo o poder da plataforma .net, aliada ao poderoso IDE Visual Studio.

Quam irá ganhar com isso, seremos nós desenvolvedores, reduzindo nosso tempo gasto para escrever e lançar nossos aplicativos.

O que a Xamarin fez foi trazer a proposta, escrever uma vez , execute em qualquer lugar, utilizado todo o poder do C# junto com as Base Class Libraries, que são usados como uma biblioteca e uma linguagem universal, para expor aos desenvolvedores elementos específicos de cada dispositivo e interface de cada plataforma, pois como já sabemos o .NET roda nativamente no Windows Phone, o que não significa que não iremos rodar nativamente esse código dentro do Android e dentro do iOS, que para isso iremos usar o poder do MonoTouch e do Mono For Android, contido no Xamarin.

 

O que acontece é que o MonoTouch e o Mono for android disponibiliza o .NET para o iOS e para o Android, usando o Mono, que é um compilador open source e multiplataforma da CLI, um padrão que define um ambiente de execução virtual usado pelo C#.

Se já tiver algum conhecimento no .NET vai conseguir usar tranquilamente o Xamarin associado ao Visual Studio , já que os namespaces e Base Class Libraries à disposição.

Nos próximos posts sobre o assunto, já entrarei numa questão mais técnica e prática, para tentar passar a mensagem do quão será fácil desenvolver para as 3 maiores plataformas reaproveitando ao máximo a nossa regra de negócios.

Não vamos precisar nos preocupar com Objective C, Java , vamos poder usar os recursos do C#, generics, LINQ, eventos, recursos de threads, etc.

Hoje para versão Windows não temos versões gratuitas, você pode baixar no site do Xamarin uma versão trial para testar ou caso seja estudante pode solicitar um desconto e adquirir por $99 cada licença.

 

Saiba Mais em:

Comunidade do Xamarin

Site Xamarin

Visual Studio

Blog Rogério Rodrigues

 

Exibições: 912

Comentar

Você precisa ser um membro de DevBrasil para adicionar comentários!

Entrar em DevBrasil

Comentário de Rogério Rodrigues em 16 julho 2014 às 14:12

Olá Guilherme, desculpe a demora ai. Através do proprio site na parte de Download, vc cria uma conta e baixa o trial por 30 dias se eu não me engano. Mas caso vc tenha alguma assinatura MSDN ai pode aproveitar um tempo um pouco maior de 90 dias de trial, pelo link https://xamarin.com/msdn . Caso vc seja estudante, até mesmo de Pós , Mestrado, etc, vc consegue um desconto muito bacana saindo o valor da licença para cada plataforma por $99 ... maiores informações no link a seguir: https://xamarin.com/faq#q32  

Comentário de Guilherme Moraes em 9 junho 2014 às 8:11

Rogério, bom dia! 

Eu havia visto, através do twitter do Visual Studio sobre o Xamarim, e como você disse no final do seu texto, infelizmente ele hoje é pago. Para quem gostaria de fazer uma aplicação em casa, apenas para testes, fica um pouco mais difícil. Eu não achei essa versão trial, você sabe onde eu consigo, e quanto tempo  para testes?

Obrigado, parabéns pelo texto, valeu!

Comentário de Rogério Rodrigues em 14 maio 2014 às 12:49

Aislan, realmente o emulador da google que vem no SDK é muito lento. Tenta usar o emulador da intel que vc pode instalar atraves do SDK Manager ou entao pode usar  o GenyMotion, gratuito e muito rapido: http://www.genymotion.com/ . Porem se vc usa Hyper V para emular o Windows Phone, vai dar conflito, pois os adaptadores de rede do genymotion tem como base o virtual Box.

Comentário de Aislan Miranda em 13 maio 2014 às 9:42

Fui crente que essa parceria com a MIcrosoft disponibilizaria o desenvolvimento para Android e iOS gratuitamente. Em um futuro bem próximo acredito que isso vá acontecer.

Baixei e já testei para Android, só achei lento para compilar os projetos pequenos.

Abraços!

© 2017   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço