Xamarin Evolve

Nesta semana está acontecendo em Orlando o Xamarin EVOLVE 16, o maior evento sobre desenvolvimento de soluções móveis multiplataforma do mundo, onde especialistas se relacionam para fazer avançar o estado da arte, discutir a estratégia da abordagem móvel e definir o futuro dos aplicativos.

Na abertura do evento os cofundadores da plataforma Xamarin, Nat Friedman e Miguel de Icaza, falaram sobre a perspectiva futura do desenvolvimento mobile e dos aplicativos multiplataforma.

Neste ano são 1.600 inscritos, 70 palestrantes, além de milhares de profissionais acompanhando o evento de forma online através da transmissão ao vivo em vídeo do evento.

A Xamarin, agora adquirida pela Microsoft, ficou muito melhor. Desde a data do anúncio da aquisição o interesse dos desenvolvedores em Xamarin aumentou 3 vezes. A comunidade agora é maior e melhor porque a plataforma foi incluída dentro do Visual Studio, além de ser open source.

O mundo está preferindo aplicativos móveis nativos, comprovando a tendência informada pelo Gartner que em 2014 indicava que mais de 40% de empresas estavam preferindo o desenvolvimento nativo para aplicativos, que agora já está em 60%. Não importa qual a espécie de aplicativo que você quer oferecer, todo mundo quer nativo, e com Xamarin isso é o que nós entregamos.

O que é nativo?

1. Interface nativa: Não há maquiagens, a interface gráfica (IU) será nativa, correspondendo aos controles e ao paradigma de cada plataforma;

2. Desempenho nativo: A capacidade de desempenho do dispositivo não será desperdiçada (em oposição às tecnologias lentas como controles WEB, AOT no iOS ou JIT no Android);

3. APIs nativas: Sem limitações! Qualquer coisa que você pode fazer com Objective-C, Swift ou Java, pode ser feito em C# com Xamarin.

E finalmente está chegando o "Xamarin.Forms Previewer" (atualmente em versão alpha), que possibilita visualizar a interface gráfica em tempo de desenvolvimento durante a edição em formato XAML. Vale lembrar que esse recurso já existe na ferramenta concorrente (Embarcadero RAD Studio) - os especialistas da Basconero já haviam apostado que isso seria criado em uma publicação do ano passado em nosso blog. Este recurso acelerará o tempo de prototipação, tanto para a criação quanto para a evolução dos aplicativos.

Quer conhecer um aplicativo desenvolvido em Xamarin? Pesquise pelo aplicativo “Xamarin Evolve” (ou Evolve16), que está sendo utilizado para acompanhar a conferência. É um aplicativo desenvolvido com Xamarin.Forms, que possibilitou reaproveitamento de 95% do código. Está disponível para iOS, Android e Windows.

Maiores informações em:

Xamarin

A plataforma Xamarin contempla um framework para desenvolvimento multiplataforma que utiliza o framework open-source Microsoft .NET sob linguagem C#, possibilitando reaproveitar até 90% do código-fonte para compilar aplicativos para iOS, Android, Windows Phone e Mac OS X.

No formato mais tradicional a camada gráfica precisa ser programada de forma separada para cada plataforma de destino (uma “activity” para Android, uma “view” para IOS e um XAML para Windows Phone). Atualmente estão oferecendo uma técnica melhor, através dos componentes “Xamarin.Forms”, onde é necessário apenas “declarar” a interface gráfica de forma padronizada para cada plataforma e o framework encarrega-se de renderizar para os respectivos controles nativos de cada plataforma, reduzindo o esforço de programação e aumentando o percentual de reaproveitamento de código.

Enquadra-se na arquitetura nativa, mas na prática a entrega é nativa apenas para os sistemas operacionais da Microsoft que contemplam o runtime do .NET. Nas outras plataformas a entrega do aplicativo utiliza uma máquina virtual (runtime .NET) automaticamente incorporada ao aplicativo para executar código .NET gerenciado nas plataformas que não são Microsoft. Portanto, o correto é considerá-la “parcialmente nativa”.

Nos últimos meses a Xamarin vem formalizando parcerias com a Microsoft, Oracle, IBM e SAP, e recentemente a Microsoft começou a distribuir na instalação padrão do Visual Studio uma versão limitada da Xamarin que irá estimular a adoção da plataforma por milhares de desenvolvedores.

Leia mais em:

Xamarin

Existem duas escolas de pensamento quando tratamos de desenvolvimento de aplicativos móveis. A primeira abordagem defende que somente através do uso das tecnologias de desenvolvimento criadas especificamente para cada plataforma móvel é que será possível criar um aplicativo que poderá utilizar todas as funcionalidades especificamente oferecidas pela plataforma. É o modelo tradicional, onde as empresas precisam contratar no mínimo um programador experiente por plataforma, adquirir licenças de uso das ferramentas para cada plataforma e produzir programas em linguagens totalmente diferentes entre essas plataformas.

Nesse último exemplo consideramos um projeto de pequeno porte e de pequena complexidade, onde não é necessário contratar mais de um programador por plataforma. Já em projetos de médio a grande porte é necessário contratar de 2 a dezenas de programadores, quantidade que deverá ser multiplicada para cada plataforma em que o sistema será suportado, além de precisar adquirir maior número de licenças ou de anualidade das ferramentas de desenvolvimento. Este modelo funciona. Mas é caro, muito caro.

A outra abordagem é utilizar uma única ferramenta que gerará o mesmo aplicativo para várias plataformas diferentes, as tecnologias Cross-Platform (múltiplas plataformas). Neste modelo as empresas contratam um ou mais programadores que produzirão em uma única tecnologia aplicativos para várias plataformas como iPhone, iPad, Mac OS X, Windows Vista, Windows 7, Windows 8, Windows Server, Windows Phone, Android e até dispositivos vestíveis (wearables), possibilitando reduzir a quantidade de programadores, de licenças, de investimento em treinamento contínuo e da complexidade da execução do projeto.

É a estratégia da redução de custos e de maximização do ROI (retorno do investimento), que agora está ganhando força com o contínuo aumento da maturidade e confiabilidade destas ferramentas.

A Basconero, empresa criada em 2006, com experiência comprovada na criação e manutenção de sistemas em modelo cliente-servidor (desktop) e WEB, reformulou sua estratégia para o modelo mobile-first. Nossos consultores mapearam as principais tecnologias em um Comparativo de Tecnologias Cross-Platform para o Desenvolvimento Nativo de Aplicativos, que é trimestralmente atualizado conforme as mudanças de mercado e evoluções dessas ferramentas.

Hoje o fabricante Xamarin anunciou a versão Xamarin 3 de sua plataforma de desenvolvimento, que agora contempla também bibliotecas cross-platform para a produção de interfaces gráficas a partir de um único código fonte (Xamarin.Forms). Por enquanto estas bibliotecas possibilitam gerar interfaces somente para iOS, Android e Windows Phone, mas acredita-se que nos próximos meses estas bibliotecas sejam portadas para outras plataformas.

Esta novidade aumentou a pontuação do nível de maturidade desta tecnologia em nosso comparativo, que antes era de 75% neste quesito, contra a pontuação de 100% que só existe no RAD Studio e no Appmethod.

Deseja saber mais sobre este assunto? Entre em contato com a Basconero e conheça nosso serviço de consultoria.

A Basconero é a primeira empresa latino-americana a com consultores cross-platform independentes. Também oferecemos serviços de criação de aplicativos móveis sob as melhores tecnologias cross-platform do mundo - RAD STUDIO, XAMARIN e APPMETHOD.

.NET Foundation

Anders Heljsberg anunciou no Microsoft Build 2014 o lançamento da .NET Foundation, uma entidade recém-criada que vai promover a inovação aberta sob a plataforma .NET. Ele é um respeitado engenheiro de software dinamarquês. Foi o criador do C#, a linguagem mais utilizada na plataforma Microsoft .NET, e também foi o criador do Object Pascal, utilizado no Delphi desde sua primeira versão.

A empresa Xamarin também está contribuindo em seis projetos para a .NET Foundation:

  • Xamarin móvel: uma biblioteca que expõe um único conjunto de APIs para acessar a funcionalidade comum de dispositivos móveis em todos os iOS, Android e plataformas Windows;
  • Xamarin.Auth: A API multi-plataforma para autenticação de usuários e armazenar suas contas;
  • Couchbase para .NET: O motor de banco de dados leve (NoSQL) orientado a documentos;
  • System.Drawing: implementação multi-plataforma da API de desenho;
  • MailKit e MimeKit: bibliotecas de e-mail multi-plataformas e robustas, otimizadas para dispositivos móveis.