Conheça os Frameworks de Desenvolvimento Mobile

Frameworks Mobile
Frameworks Mobile

Atualizado em 30/06/2020!

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:

Oficiais

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.

Agora vamos aos frameworks multi-plataforma mais aceitos no mercado:

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. Também tem essa lista bacana aqui dos melhores cursos em inglês sobre Unity.

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 nativos usando apenas JavaScript e a já conhecida e popular framework de front-end ReactJS. Fala-se muito bem dela por aí e você confere alguns tutoriais aqui no blog a partir desse primeiro.

Curso React Native

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.

Publicado por

Luiz Duarte

Pós-graduado em computação, professor, empreendedor, autor, Agile Coach e programador nas horas vagas.