Casa > Q > Quais São As Melhores Ferramentas Gratuitas Disponíveis Para Testar Aplicações Móveis Híbridas?

Quais são as melhores ferramentas gratuitas disponíveis para testar aplicações móveis híbridas?

Esta pergunta é muito feita, então eu'vou apontar os fatos relevantes o mais sucintamente possível, esta é uma grande decisão e há MUITOS a dizer.

HTML5:
Um aplicativo HTML5 é essencialmente um website com código JavaScript escrito para permitir que o aplicativo funcione dinamicamente, ao contrário de um website estático que você precisa "atualizar" para ver as mudanças. Funciona interactivamente para que se sinta como uma "aplicação", mas está a correr num web browser, e é essencialmente um website, que (uma vez que parece que o seu foco é móvel) suportará múltiplos viewports ou tamanhos de ecrã para que funcione bem em mobile. Como ele está rodando em um navegador, ele está confinado ao que é conhecido como a sandbox do navegador, que é uma limitação no que o aplicativo é capaz de fazer com o hardware do sistema. Ele só pode suportar características que são permitidas dentro do sandbox. Isto é feito por razões de segurança.

Native:
Uma aplicação nativa é uma aplicação escrita para uma plataforma específica como iOS ou Android, onde a aplicação é escrita na linguagem utilizada para desenvolvimento nessa plataforma (Objective-C e Java neste caso). A portabilidade do código para outras plataformas depende de como ele foi escrito (se a portabilidade estava na mente do desenvolvedor's), mas sempre exigirá algum nível de reescrita para usar em outra plataforma. Quando você escreve nativo, você tem acesso a todos os recursos de hardware expostos pelas APIs de código nativo, que normalmente é a maior parte das funcionalidades do dispositivo, definitivamente mais do que uma aplicação web. As notificações push da Apple são um exemplo da sua lista que é uma funcionalidade específica do iOS que não é suportada por uma aplicação web. É "Nativo" porque o código que você escreve é essencialmente escrito para aquela plataforma, ele é construído para a arquitetura nativa daquele dispositivo (implicando implicitamente que o suporte entre plataformas pode ser uma área de preocupação, e é).

Hybrid:
Uma aplicação híbrida é uma aplicação web que é implantada para uma plataforma nativa como o iPhone dentro de um arnês nativo. Esse arnês geralmente é pouco mais do que uma visualização do navegador (para exibir o conteúdo HTML5) e alguns outros ganchos para permitir que seu aplicativo web possa acessar mais alguns recursos de hardware que não estão disponíveis dentro da sandbox do navegador. Ele melhora a portabilidade do código porque se você quiser portar seu aplicativo para outra plataforma, você só precisa de um arnês nativo nessa outra plataforma para executá-lo, o conteúdo HTML5 do aplicativo é diretamente portável. Esses harnesses podem ser escritos à mão, mas também podem ser gerados automaticamente por ferramentas do mercado como o muito elogiado PhoneGap. Essas ferramentas tentam fazer um único ponto de contato para o desenvolvedor, que pode então se virar e empurrar seu aplicativo para várias plataformas rapidamente, gerando o arnês e os pacotes necessários para fazê-lo automaticamente. Isso parece poderoso, e é, mas claramente o pessoal do PhoneGap tem uma tonelada de configurações e hardware para suportar, e assim, as soluções nem sempre funcionam da mesma maneira em todos os dispositivos, e na prática, testes e hacking de casos especiais serão exigidos pelo desenvolvedor para obter o suporte adequado se o aplicativo for algo mais do que um site em um controle de navegador.

Para sua decisão, vamos tomar o iPhone como caso exemplo.

HTML5:
Você escolhe isto se você vai querer suportar múltiplas plataformas com o mesmo aplicativo / base de código. Você quer implantá-lo na web, você provavelmente vai estar fazendo uma aplicação web de qualquer maneira, e você pode matar dois pássaros com uma cajadada como esta. Você obtém o suporte mais amplo possível através de múltiplos OS's de dispositivos e fabricantes, porque todos eles estão implementando navegadores compatíveis com HTML5 em seus dispositivos. O tamanho da tela será diferente e você terá que levar isso em consideração, porém a maior parte do seu código apenas funcionará. Você terá o benefício adicional de poder atualizar seus arquivos fonte em seu servidor e tê-los implantados imediatamente em todos os dispositivos, não há processo de aprovação de aplicativos. Claramente, seu aplicativo não pode ser descoberto na App Store, porém é possível dar a ele um ícone na tela inicial de dispositivos como o iphone, de forma que ele se pareça exatamente com um aplicativo nativo, mesmo que seja't.

Native:
Você escolhe Native se quiser usar os componentes de IU das bibliotecas de IU proprietárias da Apple's (a usabilidade é melhor) e para um melhor acesso ao hardware do dispositivo. A experiência de IU é muito provavelmente o que você está pensando quando pensa em "aplicações iphone" e como você está acostumado com o funcionamento delas. Você escolhe se precisa de acesso de hardware a gráficos por razões de desempenho (como nos jogos) ou precisa de acesso a alguns outros recursos que são proprietários da Apple e não são suportados em uma caixa de areia do navegador, como as notificações push da Apple, compra de aplicativos ou acesso apropriado à câmera. O seu código é menos portátil mas mais performante, e mais poderoso e capaz para a plataforma em que está escrito. Seu aplicativo pode ser descoberto na loja de aplicativos e você pode rentabilizar seu aplicativo alavancando o preço de compra inicial ou compra no aplicativo, além da publicidade.

Hybrid:
Esta é uma decisão mais complicada por causa das ferramentas de implantação lá fora, algumas farão um arnês para você executar o aplicativo web, e outros tentarão converter seu código javascript escrito na plataforma deles em código nativo, e assim gerar controles nativos de IU como resultado. Se você seguir este caminho, você precisa investigar as capacidades da plataforma que você está escolhendo (o Appcelerator é outro exemplo), e você precisa testar para ter uma idéia de como o produto resultante será e será capaz de ser. Estes geradores híbridos são uma área de inovação contínua e estão constantemente a melhorar, mas o seu estado actual, e o quão bom o produto é como resultado da sua utilização, é desconhecido para mim. Eu definitivamente li muitas vezes sobre problemas de implementação, como o uso de uma função gradiente que funciona em uma plataforma, mas simplesmente falha em outra, ou funciona de forma diferente. É teoricamente possível que o seu aplicativo seja negado à App Store se implementado dessa forma, essas decisões cabem à Apple e seus critérios para o que passa e o que não passa't varia de acordo com o revisor e é desconhecido do público. Outro fator é que quando uma nova versão do iOS sai, você ganha't tem acesso a ela até que a plataforma que você está usando habilite o suporte para ela. Isso provavelmente virá tarde demais para lhe dar a vantagem, os caras escrevendo código nativo têm isso e você estará um passo atrás no design porque você depende de um terceiro para implementar esse suporte para você.

Pronto, já está, cabeça girando? Espero que isso chegue aos olhos de muitos que estão fazendo essa pergunta o tempo todo. Há ainda mais preocupações, mas eu acho que esta resposta já é bastante longa. Boa sorte!

De Lunseth Gerla

Como fixar a tela azul da morte no meu hp chromebook ele congela nessa tela :: How to fix Ubuntu 16.04 Bluetooth issues