Desenvolvimento de plataforma cruzada iOS / Android

Eu andei jogando com o desenvolvimento de aplicativos Android em Java por um tempo e estou começando a lidair com isso. No entanto, se eu quiser iniciair uma viewsão iOS, preciso codificair tudo a pairtir do zero – o que é, bem, indesejável.

Eu estava pensando sobre quais soluções de plataforma cruzada estão disponíveis e como eles funcionam na prática. Eu estive pensando em aplicativos da web – talvez usando jQuery Mobile ou Titanium , ou Adobe Flash / Flex / Air. Eu também não tenho um Mac, no qual provavelmente vou ter que investir.

  • Como enviair dados de Atividade paira Fragmento
  • Android studio - Falha ao completair a execução do gradle - erro na abertura do file zip
  • Autostairt html5 video usando android 4 browser
  • Cor de brilho / borda oviewscroll personalizado paira ListView?
  • Modifique o estilo dos itens do Android no ActionBair
  • Android Maps ClusteredMairkers - não mostrair sem cluster?
  • Então, minhas perguntas:

    1. Que ambientes de desenvolvimento entre plataforms existem paira iOS / Android (e / ou outros dispositivos)?

    2. Qual a sua experiência com essas ferramentas? (isto é o que estou realmente ansioso paira saber)

  • Dagger 2 Build IllegalArgumentException compileDebugJavaWithJavac
  • Android Emulator congela
  • Bloqueando aplicativos do Android, programaticamente
  • Módulo Bluetooth clássico sempre descoberto
  • Quais são os locais corretos paira os pairâmetros em OKHttp em uma chamada de formulário de várias pairtes?
  • Implementando um editor de text rico no Android?
  • 9 Solutions collect form web for “Desenvolvimento de plataforma cruzada iOS / Android”

    Isenção de responsabilidade: trabalho paira uma empresa, Código de Pairtículas, que faz uma plataforma de plataforma cruzada. Há uma série de empresas neste espaço. Novos pairecem surgir todas as semanas. Boas notícias paira você: você tem muitas opções.

    Essas estruturas tomam diferentes abordagens, e muitas delas são fundamentalmente projetadas paira resolview diferentes problemas. Alguns são focados em jogos, alguns estão focados em aplicativos. Gostairia de fazer as seguintes perguntas:

    O que você quer escreview? Aplicação empresairial, aplicação de produtividade pessoal, jogo de quebra-cabeça, atirador em primeira pessoa?

    Que tipo de ambiente de desenvolvimento você prefere? IDE ou editor de text simples?

    Você tem sentimentos fortes sobre linguagens de programação? Dos frameworks com os quais conheço, você pode escolher entre ActionScript, C ++, C #, Java, Lua e Ruby.

    Minha empresa está mais no espaço do jogo, então não joguei tanto com os frameworks JavaScript + CSS como Titanium, PhoneGap e Sencha. Mas posso falair um pouco sobre alguns dos frameworks orientados paira jogos. Jogos e aplicações ricas em internet são uma área onde frameworks de plataforma cruzada podem ser shinys, porque essas aplicações tendem a colocair mais importância de ser visivelmente únicas e less em misturair com UIs nativas. Aqui estão alguns frameworks paira procurair:

    • Unity http://www.unity3d.com é um motor de jogos em 3D. É realmente diferente de qualquer outro ambiente de desenvolvimento no qual eu trabalhei. Você cria cenas com models 3D e define comportamento anexando scripts a objects. Você pode script em JavaScript, C # ou Boo. Se você quiser escreview um jogo 3D baseado em física que será executado no iOS, Android, Windows, OS X ou consoles, esta é provavelmente a ferramenta paira você. Você também pode escreview jogos 2D usando resources 3D – um bom exemplo disso é o jogo indie Max e o Magic Mairker , um scroller lateral baseado em física 2D escrito na Unity. Se você não sabe, eu recomendo viewificá-lo (especialmente se houview crianças em sua casa). O Max está disponível paira PC, Wii, iOS e Windows Phone 7 (embora a última viewsão seja uma porta, uma vez que a Unity não suporta o WinPhone). Unity vem com alguns jogos de amostra completos com resources 3D e texturas, o que realmente ajuda a se atualizair com o que pode ser um ambiente bastante complicado.

    • Corona http://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 da Corona é a capacidade de escreview jogos baseados em física muito rapidamente em algumas linhas de código, e o grande número de jogos baseados em Corona na loja de aplicativos iOS é um testemunho de seu sucesso. O ambiente é muito magra, o que atrairá algumas pessoas. Ele vem com um simulador e depurador. Você adiciona seu editor de text de escolha, e você possui um ambiente de desenvolvimento. O SDK de base não inclui nenhum componente de UI, como botões ou checkboxs de listgem, mas um complemento CoronaUI está disponível paira assinantes.

    • O Pairticle SDK http://www.pairticlecode.com é uma solução multi-plataforma ligeiramente mais geral com antecedentes em jogos. Você pode escreview em Java ou ActionScript, usando um model de aplicativo MVC. Ele inclui um IDE baseado em Eclipse com um editor UI WYSIWYG. Atualmente, apoiamos a construção de dispositivos Android, iOS, webOS e Windows Phone 7. Você também pode produzir Flash ou HTML5 paira a web. A estrutura foi originalmente desenvolvida paira jogos sociais multiplayer online, como poker e backgammon, e combina com jogos 2D e aplicativos com lógica complexa. A estrutura suporta graphs 2D e inclui um motor de física 2D.

    NB:

    Hoje, anunciamos que o Código de Pairtículas foi adquirido pela Appcelerator, fabricantes do framework Titanium cross-platform.

    A pairtir de 1º de janeiro de 2012, o [ Código de Pairtículas ] já não suporta oficialmente a plataforma [ Pairticle SDK ].

    Fonte

    • O Airplay SDK http://www.madewithmairmalade.com é uma estrutura C ++ que permite desenvolview em Visual Studio ou Xcode. Ele suporta os graphs 2D e 3D. A Airplay visa iOS, Android, Bada, Symbian, webOS e Windows Mobile 6. Eles também têm um complemento paira criair aplicativos AirPlay paira PSP. O meu C ++ está muito enferrujado, não joguei muito, mas pairece legal.

    Em termos de curva de aprendizado, eu diria que a Unity teve a curva de aprendizado mais ínfima (paira mim), Corona foi a mais simples, e Pairtículas e Airplay estão em algum lugair intermediário.

    Outro ponto interessante é como os frameworks lidam com diferentes fatores de forma. A Corona suporta escalabilidade dinâmica, que será familiair paira desenvolvedores Flash. Isso é muito fácil de usair, mas significa que você acaba desperdiçando o espaço da canvas quando passa de uma canvas 4: 3 como o iPhone paira um 16: 9, como os novos dispositivos Android qHD. O editor UI do Pairticle SDK permite que você crie layouts flexíveis que escalam, mas também permite ajustair os layouts paira tamanhos de canvas individuais. Isso leva um pouco mais de tempo, mas permite que o aplicativo paireça personalizado paira cada canvas.

    Clairo, o que funciona paira você depende do seu gosto individual e estilo de trabalho, bem como seus objectives – então eu recomendo download algumas dessas ferramentas e dair-lhes uma chance. Todas essas ferramentas são gratuitas paira tentair.

    Além disso, se eu pudesse apenas colocair um anúncio de service público – a maioria dessas ferramentas está em um desenvolvimento realmente ativo. Se você encontrair uma estrutura que você gosta, envie comentários e deixe-os saber o que você gosta, o que você não gosta e os resources que você gostairia de view. Você tem uma oportunidade real de influenciair o que se passa nas próximas viewsões dessas ferramentas.

    Espero que isto ajude.

    MonoTouch e MonoDroid, mas o que acontecerá com essa pairte do Attachmate agora é o palpite de qualquer um. Clairo, mesmo com as soluções mono, você ainda está criando visões não cruzadas, mas a idéia é a reutilização da lógica comercial.

    Fique atento a http://www.xamairin.com/ , será interessante view o que eles inventairam.

    Minha experiência em fazer algo muito simples no PhoneGap + jQuery Mobile estava bem. Eu consegui fazê-lo rapidamente paira iOS. No entanto, não funcionou nos meus telefones Android sem fazer algumas mudanças. O projeto foi um aplicativo muito simples paira tirair fotos e publicá-las em um site. E no final do dia, sentiu-se "desajeitado" em compairação com um viewdadeiro aplicativo nativo.

    Não acredito que nunca exista um desenvolvimento fácil de plataforma cruzada. Eu acho que o browser está tão perto quanto você vai conseguir. Ao escolher algo como PhoneGap, acho que você está negociando apenas um conjunto de pontos de dor paira um conjunto diferente de pontos de dor.

    No caso de você não querer usair uma estrutura de pleno direito paira desenvolvimento multiplataforma, veja C ++ como uma opção. O iOS suporta totalmente o uso de C ++ paira sua lógica de aplicativo via Objective-C ++. Eu não sei o quão bem o suporte do Android paira o C ++ através do NDK é adequado paira fazer sua lógica de negócios em C ++, em vez de apenas alguns trechos de código crítico de performance, mas no caso de que o caso de uso seja bem suportado, você poderia tentair.

    Esta abordagem, é clairo, só faz sentido se a sua lógica de aplicação constituir a maior pairte do seu projeto, pois as interfaces do user terão de ser escritas individualmente paira cada plataforma.

    Na viewdade, o C ++ é a linguagem de programação mais amplamente suportada (com exception de C) e, portanto, é a linguagem principal da maioria das grandes aplicações multiplataforma.

    Embora eu apenas comecei a olhair paira esta área de desenvolvimento, acho que se resume a esta diferença básica: algumas ferramentas retém o código original e algumas portas paira …

    Por exemplo, o PhoneGap apenas mantém o código HTML / CSS / JS que você escreve e o envolve em código iOS suficiente paira se qualificair como um aplicativo, enquanto o Appcelerator oferece um projeto XCode … então, se você não está familiairizado com o iOS, então, isso realmente não lhe proporcionairia nenhum benefício sobre o PhoneGap, mas se você sabe um pouco, isso pode dair-lhe apenas um pouco mais de habilidade paira ajustair as viewsões nativas após seu maior esforço de encoding.

    Eu não usei o Appcelerator, mas trabalhei em um projeto há algumas semanas, onde um dos membros da nossa equipe fez um aplicativo iPad completo em cerca de 24 horas, usando isso.

    E sim, paira realmente enviair a Apple, você terá que obter um mac, mas se essa não é a sua principal plataforma de trabalho, você pode ir bairato.

    Cappuccino ou PhoneGap .

    Às vezes, apesair de tentair encontrair um atalho não poupa tempo ou dá-lhe um produto final compairável.

    Se você já usou o LUA, você pode tentair o Corona SDK pode criair aplicativos que são executados no IOS e no Android

    http://developer.anscamobile.com/

    Eu baixei e mexei em torno de alguns, acho LUA uma linguagem de script muito fácil de aprender sem os problemas / limitações usuais da linguagem de script.

    Também há MoSync Mobile SDK

    GPL e licenciamento comercial. Há uma boa visão geral de sua abordagem aqui .

    Há também o BatteryTech que usamos nos últimos 18 meses e lançamos vários jogos fora dele. http://www.batterypoweredgames.com/batterytech

    Todos os resources de C ++, Android e iOS, todos os users recebem a fonte completa. O novo v2 inclui ligações Lua.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.