Isenção de responsabilidade: eu trabalho para uma empresa, a Particle Code, que faz uma estrutura de plataforma cruzada. Existem muitas empresas neste espaço. Novos parecem surgir todas as semanas. Boas notícias para você: você tem muitas opções.
Essas estruturas têm abordagens diferentes e muitas delas são fundamentalmente projetadas para resolver problemas diferentes. Alguns são focados em jogos, outros em aplicativos. Eu faria as seguintes perguntas:
O que você quer escrever? Aplicativo corporativo, aplicativo de produtividade pessoal, jogo de quebra-cabeça, jogo de tiro em primeira pessoa?
Que tipo de ambiente de desenvolvimento você prefere? IDE ou editor de texto simples?
Você tem sentimentos fortes sobre linguagens de programação? Das estruturas com as quais estou familiarizado, você pode escolher entre ActionScript, C ++, C #, Java, Lua e Ruby.
Minha empresa está mais voltada para jogos, então não brinquei tanto com os frameworks JavaScript + CSS como Titanium, PhoneGap e Sencha. Mas posso falar um pouco sobre algumas das estruturas orientadas para jogos. Jogos e aplicativos de Internet ricos são uma área onde frameworks multiplataforma podem brilhar, porque esses aplicativos tendem a dar mais importância em serem visualmente únicos e menos em se misturar com UIs nativas. Aqui estão algumas estruturas a serem procuradas:
Unity www.unity3d.com é um motor de jogos 3D. É realmente diferente de qualquer outro ambiente de desenvolvimento em que trabalhei. Você constrói cenas com modelos 3D e define o comportamento anexando scripts a objetos. Você pode criar scripts em JavaScript, C # ou Boo. Se você deseja escrever um jogo 3D baseado em física que será executado em iOS, Android, Windows, OS X ou consoles, esta é provavelmente a ferramenta para você. Você também pode escrever jogos 2D usando recursos 3D - um bom exemplo disso é o jogo indie Max and the Magic Marker, um side-scroller 2D baseado em física escrito em Unity. Se você não souber, recomendo dar uma olhada (especialmente se houver crianças em sua casa). Max está disponível para PC, Wii, iOS e Windows Phone 7 (embora a última versão seja uma porta, já que o Unity não suporta WinPhone). O Unity vem com alguns jogos de amostra completos com recursos e texturas 3D, o que realmente ajuda a se familiarizar com o que pode ser um ambiente bastante complicado.
Corona www.anscamobile.com/corona é um motor de jogos 2D que usa a linguagem de script Lua e suporta iOS e Android. O ponto de venda de Corona é a capacidade de escrever jogos baseados em física muito rapidamente em poucas linhas de código, e o grande número de jogos baseados em Corona na loja de aplicativos iOS é uma prova de seu sucesso. O ambiente é muito limpo, o que agradará a algumas pessoas. Ele vem com um simulador e um depurador. Você adiciona o editor de texto de sua escolha e tem um ambiente de desenvolvimento. O SDK básico não inclui nenhum componente de IU, como botões ou caixas de listagem, mas um complemento CoronaUI está disponível para assinantes.
O Particle SDK www.particlecode.com é uma solução de plataforma cruzada um pouco mais geral com experiência em jogos. Você pode escrever em Java ou ActionScript, usando um modelo de aplicativo MVC. Inclui um IDE baseado em Eclipse com um editor de UI WYSIWYG. Atualmente, oferecemos suporte para a construção de dispositivos Android, iOS, webOS e Windows Phone 7. Você também pode produzir Flash ou HTML5 para a web. A estrutura foi desenvolvida originalmente para jogos sociais multijogador online, como pôquer e gamão, e se adapta a jogos 2D e aplicativos com lógica complexa. A estrutura oferece suporte a gráficos 2D e inclui um mecanismo de física 2D.
NB:
Hoje anunciamos que o Particle Code foi adquirido pela Appcelerator, criadores da estrutura de plataforma cruzada Titanium.
...
A partir de 1º de janeiro de 2012, o [ Particle Code ] não oferecerá mais suporte oficial para a plataforma [ Particle SDK ].
Fonte
- O Airplay SDK www.madewithmarmalade.com é uma estrutura C ++ que permite desenvolver em Visual Studio ou Xcode. Suporta gráficos 2D e 3D. O Airplay destina-se a iOS, Android, Bada, Symbian, webOS e Windows Mobile 6. Eles também têm um add-on para construir aplicativos AirPlay para PSP. Meu C ++ está muito enferrujado, não brinquei muito com ele, mas parece legal.
Em termos de curva de aprendizado, eu diria que o Unity teve a curva de aprendizado mais íngreme (para mim), Corona foi a mais simples e Particle e Airplay estão em algum lugar no meio.
Outro ponto interessante é como as estruturas lidam com diferentes fatores de forma. O Corona oferece suporte a dimensionamento dinâmico, que será familiar para os desenvolvedores de Flash. Isso é muito fácil de usar, mas significa que você acaba perdendo espaço na tela ao passar de uma tela 4: 3, como a do iPhone, para uma 16: 9, como os novos dispositivos qHD Android. O editor de IU do Particle SDK permite que você crie layouts flexíveis que escalam, mas também permite que você ajuste os layouts para tamanhos de tela individuais. Isso leva um pouco mais de tempo, mas permite que você faça com que o aplicativo pareça personalizado para cada tela.
Claro, o que funciona para você depende de seu gosto individual e estilo de trabalho, bem como de seus objetivos - portanto, recomendo baixar algumas dessas ferramentas e experimentá-las. Todas essas ferramentas podem ser testadas gratuitamente.
Além disso, se eu pudesse apenas colocar um anúncio de serviço público - a maioria dessas ferramentas está em desenvolvimento realmente ativo. Se você encontrar uma estrutura de que goste, envie feedback e diga a eles o que você gosta, o que não gosta e os recursos que gostaria de ver. Você tem uma oportunidade real de influenciar o que acontece nas próximas versões dessas ferramentas.
Espero que isto ajude.