Conheça os Frameworks de Desenvolvimento Mobile

Frameworks Mobile
Frameworks Mobile

O post de hoje é meramente informativo. Devido ao fato de eu ser um entusiasta do desenvolvimento móvel, incluindo games, acabo estudando por hobby uma infinidade de linguagens e frameworks. Geralmente meus amigos e alunos vem até mim questionando sobre qual a melhor plataforma para desenvolvimento, qual a mais produtiva, qual a melhor para games ou para apps, etc. Na verdade não existe uma resposta definitiva pois esse mercado é muito ágil e as grandes plataformas de hoje podem não ser mais as melhores amanhã e por aí vai.

A escolha de um framework ou plataforma também depende muito de suas habilidades e de seus objetivos com a aplicação.

Com base nisso vou centralizar neste post todos os frameworks mobile que conheço, com breves explicações sobre cada um. Aqui vai a lista completa:

Nativos

Games

Multi-plataforma

Outros

Android SDK
Android SDK

Android SDK

De longe meu SDK nativo favorito, o Android SDK é perfeito para seu propósito principal: desenvolvimento de aplicações pra a plataforma Android. Esqueça o desenvolvimento de jogos nele, que é extremamente complexo de ser feito sem um framework mais alto nível (como Corona SDK). Ele é gratuito, roda em Windows, Mac e Linux e utiliza várias IDEs para desenvolvimento, como Android StudioEclipse e NetBeans com a linguagem Java ou C++. Já escrevi muito sobre ele aqui no blog.

Mais informações no site oficial e no livro Criando apps para empresas com Android.
iOS SDK

iOS SDK

O SDK oficial da Apple para desenvolvimento de aplicações móveis. De longe a melhor opção para desenvolvimento de apps para iPhone, iPod e iPad. Isso porque os usuários destas plataformas possuem um mindset muito definido quanto a usabilidade e aparência, e a biblioteca CocoaTouch que vem no iOS SDK te proporciona recursos para o desenvolvimento de apps com as mesmas características das apps da Apple. Ele roda somente em computadores Mac e utiliza o Xcode como IDE, que é gratuito, com a linguagem Objective-C ou Swift.

Mais informações no site oficial e como recomendação, o melhor livro sobre o assunto é o Use a Cabeça: iPhone.

Windows Phone SDK
Windows Phone SDK

Windows Phone SDK

Com desenvolvimento sobre a plataforma .NET e usando o Visual Studio (incluindo versão Community, gratuita), ainda possui um market share pequeno, mas carente, o que pode ser uma oportunidade. Algo interessante nessa plataforma é a facilidade de desenvolver jogos usando o framework XNA, da mesma empresa. Mais informações no site oficial e o livro mais recomendado é o Desenvolvimento de Aplicativos para Windows Phone.

Estes três formam a tríade dos frameworks nativos mais usados atualmente. Agora vamos aos frameworks multi-plataforma mais aceitos no mercado:

Corona SDK
Corona SDK

Corona SDK

Desenvolvido pela empresa californiana CoronaLabs (antiga Ansca Mobile), baseia-se na linguagem Lua e em frameworks consolidados de desenvolvimento como OpenGL ES, OpenAL, Box2D e por aí vai. Provê centenas de APIs para desenvolvimento multiplataforma (iOS, Android, Kindle Fire e Nook Color) e roda sobre Windows e Mac, já escrevi muito sobre ele aqui no blog.

Muito bom para desenvolvimento de jogos 2D (não tem suporte a 3D), peca um pouco quando o assunto são apps com o look-and-feel nativo dos frameworks tradicionais. Possui uma versão free ilimitado e apenas reserva algumas features mais avançadas para quem quer pagar licença. Mais informações no site oficial e no livro Criando aplicações móveis com Corona.

Unity
Unity

Unity

Unity, também conhecido como Unity 3D, é um motor de jogo 3D proprietário e uma IDE criado pela Unity Technologies. Unity é uma ferramenta bem visual para desenvolvimento de jogos e suporta diversas plataformas, hoje permitindo desenvolvimento para as principais plataformas de jogos do mercado, incluindo Android e iOS.

O Unity possui duas versões principais: a Unity Pro, paga, e a versão gratuita, simplesmente chamada Unity, que pode ser usada tanto para fins educacionais, quanto para fins comerciais. O Unity na grande maioria das vezes é usado na criação jogos de browser, (Jogos que rodam em navegador de internet), mas o motor é capaz de criar grandes jogos.

Mais informações no site oficial e no livro Desenvolvendo games com Unity 3D.

Com isso fechamos as recomendações de frameworks mobile para jogos. Agora vamos aos frameworks multi-plataforma, que promete vai programar apenas uma vez e fazer deploy para no mínimo as duas principais plataformas do mercado: Android e iOS.

Xamarin
Xamarin

Xamarin

Empresa que foi adquirida pela Microsoft e que no passado tocava projetos de portabilidade do .NET para outras plataformas como Linux e Mac OS X. Hoje Xamarin desponta como uma das principais escolhas multi-plataforma, permitindo desenvolvimento em diversos ambientes usando C# e gerando apps nativos para diversas plataformas.

Mais informações no site oficial e no livro Desenvolvimento de aplicativos móveis com Xamarin.

Phonegap
Phonegap

PhoneGap

A ideia do PhoneGap (atualmente da Adobe) é simples: todo desenvolvedor web sabe HTML e Javascript. Por que não trazê-los para o mundo mobile usando estes mesmos conhecimentos? Open-source e gratuito, o PhoneGap provê um container web no qual você constrói suas aplicações multiplataforma (iOS, Android, etc) usando apenas o básico da web: HTML+CSS+JS. Ele provê APIs JavaScript para que você tenha acesso aos recursos de hardware do smartphone e exige apenas que os dispositivos tenham browsers que suportem esses recursos web básicos.

Já desenvolvi vários projetos com ele e tem duas ferramentas muito úteis na plataforma: uma delas é o build na nuvem, que permite facilmente gerar apps para todas plataformas a partir de um zip com o site que você desenvolveu e a outra é um app de teste que você instala no seu smartphone e testa suas alterações em realtime, muito facilmente, sem ter de ficar instalando e desinstalando.

Mais informações no site oficial. Também escrevi alguns posts sobre ele aqui e aqui e tem o livro mais recomendado que é o Aplicações mobile híbridas com Cordova e Phonegap.

Ionic
Ionic

Ionic

Esse é um framework que vem crescendo bastante nos últimos anos e que, assim como o Phonegap, trabalha juntamente com o projeto Apache Cordova para fornecer facilidades de programação para quem já sabe HTML+CSS+JS.

Mais informações no site oficial.

React Native
React Native

React Native

Projeto do Facebook que permite criar apps multi-plataforma usando apenas JavaScript e a já conhecida e popular framework de front-end ReactJS. Fala-se muito bem dela por aí, mas nunca utilizei.

Mais informações no site oficial.

E por fim, vamos aos ditos frameworks indies, menos usados mas que podem ser interessantes para algum projeto seu:

Titanium SDK

Bem conhecido entre os estúdios menores de desenvolvimento, o Titanium usa Javascript para desenvolvimento de suas aplicações para iOS, Android e dispositivos que suportem HTML5 em geral. Seus criadores da Appcelerator desenvolveram mais de 5000 APIs para acesso aos recursos de hardware das plataformas e prometem 70% a mais de produtividade sobre desenvolvimento Java e Objective-C. Mais informações no site oficial.

Moai SDK

Criado pela empresa Zipline Games, é um framework open-source extensível que permite desenvolvimento de games em Lua e C++ para iOS, Android, Chrome, PC e Mac (em breve Linux). Com alguns poucos (mas premiados) títulos no currículo mas com alguns excelentes títulos sendo prometidos, não cobra um centavo pelo framework, sendo o foco da empresa a venda de serviços de dados, armazenamento em nuvem, suporte, desenvolvimento personalizado de funcionalidades, etc. Mais informações no site oficial.

GameSalad

O GameSalad promete usar HTML5 e JavaScript para desenvolvimento de jogos para iOS, Android e HTML5 em geral usando ferramentas fáceis para várias plataformas como Mac e Windows. Não possui muitos títulos no currículo mas promete ser bem fácil de usar. Mais informações no site oficial.

Delta Engine

Ainda em sua versão beta (há 5 anos), este framework para games é o que mais promete na minha opinião, para os grandes estúdios. O foco da empresa desenvolvedora, MobileBits, é desenvolvimento multiplataforma (Windows, Mac, Linux, Android, Windows Phone e iOS) de games pesados (3D) usando a plataforma .NET e Visual Studio. O projeto é open-source e conta com alguns títulos de peso sendo desenvolvidos com a plataforma, vale a pena dar uma olhada no site oficial.

Conhece algum framework que não foi listado aqui? Tem alguma opinião diferente das mencionadas? Comente abaixo para contribuir e criarmos a melhor lista de frameworks da Internet.

O que achou desse artigo?
[Total: 11 Média: 2.9]

Publicado por

Luiz Duarte

Pós-graduado em computação, professor, empreendedor, blogueiro, autor, palestrante e programador.