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
- Titanium SDK (apps)
- Delphi (apps)
- Moai SDK (games 2D)
- GameSalad (games 2D)
- Delta Engine (games 3D)
- Kony (apps)
- TotalCross (apps)
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 Studio, Eclipse 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
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, 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
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
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
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
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.
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.
Olá, tudo bem?
O que você achou deste conteúdo? Conte nos comentários.
Conteúdo muito bom, aproveito aqui para compartilhar minha experiência com o ionic, desenvolvi dois aplicativos, um é um jogo da memória onde vc mesmo cria seus tabuleiros com suas imagens de galeria, o outro é para representantes criarem seus
catalogos de produtos. Estão na playstore e são gratuitos:
https://play.google.com/store/apps/details?id=com.i9.memoriav1
https://play.google.com/store/apps/details?id=com.i9.catalogov1
Bacana, parabéns!