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:

Os desenvolvedores do Dropbox comentaram as vantagens de utilizar uma abordagem de desenvolvimento multiplataforma em uma palestra no Facebook Developers.

Antigamente o framework do Dropbox era escrito em duas linguagens distintas, uma para iOS (Objective-C em Xcode) e outra para Android (Java 5 sob Eclipse). Os principais inconvenientes desta abordagem eram:

  • O desenvolvimento e a manutenção tinham custo dobrado;
  • As equipes escreviam e corrigiam os mesmos bugs diversas vezes, e em linguagens diferentes;
  • Os defeitos eram reportados para uma plataforma específica e não costumavam ser reportados para a outra plataforma, criando retrabalho;
  • Os aplicativos apresentavam diferenças em seus comportamentos;
  • A otimização de desempenho era custosa e muita específica da plataforma, especialmente no Android;
Dropbox

A estratégia adotada pelo Dropbox para resolver esses problemas foi criar uma biblioteca multiplataforma (cross-platform no idioma Inglês) escrita em uma única linguagem. Os dois desenvolvedores descreveram esta abordagem como bottom-up - ao contrário de uma abordagem top-down, onde seria favorecido o uso de uma linguagem mais abstrata, seja HTML5 ou JavaScript.

"Este tipo de abordagem costuma falhar por não entregar o desempenho esperado" - Poletto e Beausoleil.

Agora o Dropbox está lidando com apenas uma base de código compartilhada entre as plataformas iOS e Android, permitindo utilizá-la também futuramente em plataforma Windows. Os benefícios desta nova abordagem são:

  • Traz uma maior colaboração entre as equipes iOS e Android;
  • Os bugs são encontrados antes e corrigidos simultaneamente para as duas plataformas;
  • As otimizações de desempenho beneficiam ambas as plataformas, simultaneamente;
  • É possível otimizar o processo de beta teste do Android para testar também o código que irá para o iOS, com as vantagens de estarem aptos de realizar correções imediatamente sem esperar pela revisão do processo da App Store.

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.