O melhor e o pior do Xamarin
O que é o Xamarin? É impossível ignorar Xamarin ao falar sobre as principais abordagens para o desenvolvimento de aplicativos móveis. O Xamarin é uma ferramenta usada para o desenvolvimento de aplicativos móveis multiplataforma que permite aos engenheiros compartilhar cerca de 90% do código nas principais plataformas. Sendo uma ferramenta relativamente nova, ela é baseada na pilha de tecnologia da Microsoft e já possui uma comunidade de mais de 1,4 milhão de desenvolvedores. A plataforma foi construída pelos desenvolvedores por trás do Mono, uma plataforma de desenvolvimento de código aberto baseada no .NET Framework, liderada por Miguel de Icaza e introduzida pela primeira vez em 2001. A empresa Xamarin foi fundada em 16 de maio de 2011. No entanto, ao contrário de seu antecessor, Xamarin foi criado como um projeto comercial até que a empresa foi adquirida pela Microsoft em 2016. A Xamarin se tornou um produto de plataforma cruzada popular para o desenvolvimento de aplicativos móveis no ecossistema da Microsoft. Esta aquisição quebrou a barreira financeira para o uso de Xamarin. Como a Microsoft fez o Xamarin SDK open-source, ele se tornou parte do Xamarin Visual Studio Integrated Development Environment (discutimos os melhores IDEs a serem usados no desenvolvimento do Xamarin abaixo). Quais são as principais características do Xamarin? Linguagem C#: O Xamarin usa uma única linguagem, o C #, para criar aplicativos para todas as plataformas móveis. Ao contrário das soluções interpretadas, como o Appcelerator Titanium, o Xamarin é compilado de forma nativa, o que o torna uma opção para criar aplicativos de alto desempenho com aparência e comportamento nativos. Baseado no framework .NET. C # é um idioma maduro com forte digitação de segurança que impede o código de comportamento inesperado. Como o C # é uma das linguagens do .NET Framework, ele pode ser usado com vários recursos úteis do .NET, como Lambdas, LINQ e Asynchronous programming (Asynk). Tecnicamente falando, o Xamarin usa C # e bibliotecas nativas envolvidas na camada .Net para o desenvolvimento de aplicativos entre plataformas. Esses aplicativos são frequentemente comparados aos nativos das plataformas de desenvolvimento móvel iOS e Android em termos de desempenho e experiência do usuário. Além disso, o Xamarin pode aproveitar todo o acesso nativo e mais recente à API para usar os recursos da plataforma subjacente nos aplicativos Xamarin, como o ARKit no iOS ou no Android Multi-Window. Embora o código relacionado à lógica de negócios, ao acesso ao banco de dados e à comunicação de rede possa ser compartilhado entre as plataformas, o Xamarin permite que você crie uma camada de código da interface do usuário específica da plataforma. Assim, os aplicativos de plataforma cruzada Xamarin parecem 100% nativos para qualquer dispositivo, proporcionando uma melhor experiência do usuário em comparação com aplicativos híbridos genéricos. Compilação. A plataforma tem dois produtos principais: Xamarin.iOS e Xamarin.Android. No caso do iOS, o código-fonte é compilado diretamente no código nativo do assembly Ahead of Time (ARM), enquanto os aplicativos Android Xamarin são compilados primeiro na Intermediate Language e, em seguida, – no código de assembly nativo na execução Compilação em tempo). No entanto, em ambos os casos, o processo é automatizado e adaptado para lidar com problemas como alocação de memória, coleta de lixo e interoperabilidade de plataforma por padrão. Xamarin.Forms. Xamarin.Forms é um produto separado projetado para criar protótipos ou aplicativos móveis simples compartilhando 100% do código no iOS e Android. Xamarin.Mac. Além disso, os engenheiros podem usar o Xamarin.Mac para criar aplicativos para o Mac OS. Estes e alguns outros produtos de células Xamarin serão discutidos em breve. SDKs de plataforma. O Xamarin fornece acesso a SDKs específicos da plataforma (CocoaTouch para iOS e Android SDK) por meio da sintaxe simples do C #. Ligações de código específicas da plataforma. Na maioria dos casos, os engenheiros serão capazes de lidar com o desenvolvimento, mantendo a aparência nativa das respectivas plataformas dentro do ambiente Xamarin. No entanto, o Xamarin permite chamar o código da plataforma existente (por exemplo, Swift para iOS) se você precisar reutilizar alguns módulos ou realizar algumas funções específicas da plataforma, como verificação de código de barras, integração com PayPal ou Google Analytics. Suporte de wearables. O Xamarin suporta a criação de aplicativos para dispositivos Apple e Android Watch. Os engenheiros podem usar o Visual Studio para Mac e Windows para criar aplicativos iOS Apple Watch. Além disso, Xamarin suporta totalmente o Android Wear. Estrutura do projeto Xamarin. Espera-se que a maior parte do trabalho relacionado a Xamarin seja executada por meio de um computador de desenvolvimento Windows com o Visual Studio e o Xamarin instalados. Os aplicativos podem ser depurados diretamente da área de trabalho ou em dispositivos e emuladores. Se você planeja desenvolver aplicativos iOS no Windows, também é possível que o Visual Studio se conecte ao designer de storyboard do iOS e ao simulador do iOS. Há também o Visual Studio para Mac, que permite a execução de um simulador no Mac ou diretamente em um iPhone com fio. A depuração é executada via Visual Studio. Como qualquer outra tecnologia, Xamarin tem seus próprios benefícios e desvantagens, que foram objeto de uma discussão acalorada recentemente. Para tomar uma decisão informada sobre Xamarin vs desenvolvimento nativo, vamos pesar todos os prós e contras do desenvolvimento de aplicativos com Xamarin. Se você está realmente pressionado pelo tempo, recomendamos assistir a este vídeo fornecendo uma visão geral de alto nível dos pontos fortes e fracos da plataforma Xamarin em menos de seis minutos. Se você quiser detalhes, continue lendo.