Como o Sencha Touch está se saindo no Android na prática? [fechadas]


17

Estou prestes a iniciar um projeto usando o Sencha Touch e fiz alguns testes menores no meu dispositivo HTC. Todos os vídeos tutoriais no Vimeo parecem estar usando um emulador de iPhone rodando em um Mac. Não tenho certeza de quão rápido esse emulador é comparado a um dispositivo iPhone real ou mesmo a um dispositivo Android real, mas pelo que experimentei, parece que meu desejo pelo HTC não está sendo tão bom quanto esse emulador.

Todas as animações (deslizantes, desbotadas, etc.) parecem um pouco atrasadas. Você pode perceber facilmente que o FPS é muito menor do que nos vídeos do Vimeo.

O HTC Desire é um telefone Android 2.2 relativamente novo e moderno, funcionando com um hardware decente, por isso estou me perguntando se o Sencha Touch está "pronto" para a plataforma Android.

Alguém com experiência prática com Android e Sencha Touch?

Respostas:


19

Estou trabalhando em vários aplicativos Sencha Touch para Android usando o Phonegap e os resultados são decepcionantes. A experiência da interface do usuário em dispositivos iOS é muito superior ao Android.

Nos dispositivos iOS, tudo é tranquilo (carrosséis, controles deslizantes, tudo), mas, no Android, tudo fica um pouco lento e sem resposta.

Atualização Eu fiz um pouco mais de pesquisa e parece que os dispositivos iOS usam a aceleração de hardware da GPU para fazer as transições de CSS. Nos dispositivos Android, tudo isso é feito pela CPU, além de tudo o que já está sendo feito, portanto, temos uma aparência e uma aparência de atraso na interface do usuário. Suspiro ... Eu acho que é muito mais difícil implementar a aceleração de hardware quando o hardware varia muito.

Curiosamente, eu também li que mesmo aplicativos Android nativos (mesmo as telas de menu integradas) não usam aceleração de hardware. Somente aplicativos que utilizam o OpenGL realmente fazem uso da GPU.


Senti-me semelhante ao testar o Sencha Touch no meu HTC Desire Z, mas também senti que as coisas pareciam mais iPhone-ish do que Android-ish. Outra coisa foi que - embora a porcentagem de pessoas a quem isso se aplica possa ser baixa - o Sencha Touch não "funciona" para mim no Android desde que eu uso o Firefox Mobile, enquanto o Sencha Touch é apenas para Webkit.
zenzelezz

2
Faz dois anos e o toque Sencha ainda é decepcionante.
Kugel

ainda é uma porcaria; o toque sencha é uma porcaria inútil! Há tantas coisas que eles dizem que fazem, mas nem mesmo uma coisa que fazem corretamente ... basta perguntar se eles suportam o recurso de acessibilidade do Android ou mesmo iOS e vê-los se contorcer!
Nav

3

Em sencha.com :

Sencha Touch, a primeira estrutura JavaScript móvel para HTML5 que permite o desenvolvimento de aplicativos da Web móveis com aparência nativa no iPhone e Android

Eu acho que o motivo é tão lento, é que o aplicativo é escrito usando HTML5 / javascript. O que, quando você pensa sobre isso, é ótimo, pois facilita a movimentação pelas plataformas. A desvantagem é que eles "parecem e se parecem" com aplicativos nativos, mas na verdade não são. Portanto, em vez de o código nativo ser executado rapidamente no seu dispositivo, você tem o que provavelmente é um invólucro para um navegador, no qual todo o código é apenas marcação / js, mais lento. Pense em usar o aplicativo cnn em vez de ir para cnn.com no navegador iphone, é essencialmente o mesmo tipo de diferença. Isso é provavelmente o que você está vendo, pois um mac e um emulador rápidos podem pressionar muito mais do que um dispositivo (a menos que o emulador seja acelerado para ser tão lento quanto o dispositivo nativo, o que pode ser ... alguém dobra verifique-me).


1

Eu fiz uma pequena referência do Sencha, JQuery mobile e dojox.mobile no emulador e telefone Android usando o phonegap para um aplicativo da vida real. O ponto principal é que esse dojo supera facilmente o Sencha e o JQuery, que atualmente são tão lentos que são completamente inúteis, mesmo em hardware potente.

Então, por enquanto, eu vou pessoalmente com dojo ou nativo.

Fácil de testar você mesmo, levando uma das 'vitrines' das várias estruturas e chrome2phone para o seu próprio dispositivo.


1
Você é o primeiro a dizer que o Dojo Mobile supera qualquer uma das outras estruturas. Entre todos os desenvolvedores de aplicativos para celular que eu conheço, Dojo é a mordaça funcionamento de uma errada gone quadro móvel ...
Steffen Müller

Se você está falando apenas sobre desempenho, emuladores nunca devem ser usados. Eles são muito diferentes dos que rodam no hardware.
Mufasa

1

Sei que essa é uma pergunta mais antiga, no entanto, posso confirmar que também estamos tendo problemas de desempenho ao executar o Sencha Touch 2.0 no Android. Criamos um protótipo bastante simples com layouts de cartões muito simples e sem imagens personalizadas ou css e ainda notamos uma grande quantidade de atraso em todos os dispositivos Android testados. Inicialmente, pensávamos que estávamos violando algumas das práticas recomendadas do Sencha, mas, depois de examinar o código e revisar todas as áreas em que pensávamos estar causando problemas, ainda não conseguimos obter a capacidade de resposta e a suavidade nem perto do que esperávamos.

Em mais uma observação, parece que, em geral, qualquer método não nativo (especialmente baseado em JS / HTML / CSS) para desenvolver um aplicativo móvel sempre terá pelo menos alguns pequenos problemas de desempenho. Agora, estamos considerando usar o Titanium, pois ele oferece uma solução única de base de código com desempenho muito mais próximo do nativo (já que tecnicamente é nativo).


1
Por curiosidade, você já experimentou dispositivos Android 4.0? Como eles têm a aceleração da GPU disponível, pode funcionar melhor. Como ativar: developer.android.com/guide/topics/graphics/hardware-accel.html
Drake Clarris

1
Obrigado pela dica. Não testamos em nenhum dispositivo 4.0. A julgar pela resposta de Dean Wild, achei que os problemas de aceleração da GPU eram provavelmente o principal culpado. A questão agora é que, mesmo que possamos melhorar o desempenho em dispositivos 4.0, eles constituem uma parte tão pequena (~ 10%) do mercado Android que provavelmente ainda acabaremos optando por uma solução além do Sencha.
paz

não importa o que você faça com o sencha, ele sempre será lento ... o motivo é sua estrutura interna aninhada e profunda que não é adequada para nenhum navegador, deixando apenas os navegadores móveis.
Nav

0

Acabamos de lançar um aplicativo sencha touch e há alguns problemas significativos de desempenho no Android em comparação com o iOS. Tome cuidado ao tentar implementar interfaces com design pesado.

Algo que eu gostaria de saber há 3 meses: grandes projetos iniciais são ruins para dispositivos móveis. Você realmente precisa de uma abordagem iterativa entre a equipe de design / dev. As transições CSS3 são difíceis no Android: evite muitos cantos arredondados, RGBA, gradientes, sombras de texto. Isso fará com que seu aplicativo tenha uma convulsão.

Mantenha o DOM o menor possível; destrua os painéis porque eles não são mais usados.

Vimos alguns comportamentos estranhos de draw () no Android, mas isso pode resultar simplesmente do fato de estarmos pedindo muito da CPU. A única maneira de saber é criar um perfil de todo o código como um ninya


0

Consulte este artigo da equipe do LinkedLN Engineering sobre como eles melhoraram o desempenho do aplicativo HTML5 codificando manualmente as manipulações do DOM:

http://engineering.linkedin.com/linkedin-ipad-5-techniques-smooth-infinite-scrolling-html5

No contexto deste artigo, vejo dois problemas com o Sencha Touch:

  1. O Sencha Touch cria sua interface do usuário convertendo objetos Javascript em nós do Dom e adicionando-os à árvore do Dom. As Ferramentas do Chrome mostram que acaba adicionando um número relativamente alto de DIVs e outros elementos DOM à árvore do Dom. Isso não teria um efeito prejudicial no desempenho.

  2. A maioria dos nós do Dom na interface do usuário do Sencha é gerada pelo código da API do Sencha e não pela marcação. Se escrevermos código para manipular diretamente esses elementos do Dom, podemos ter certeza de que ele não produzirá efeitos colaterais?

Publiquei esta consulta no fórum oficial do Sencha hoje. Atualizará esta resposta com a resposta.


1
Não consigo ver se você publicou isso em 2011/2012, mas atualmente o iPad / iPhone simplesmente não é um problema no Sencha Touch. É executado absolutamente sem falhas. O problema é qualquer versão atual do Android 2,4 etc. o translate3d é tão instável que é quase inutilizável.
Dominic Watson

0

Estamos criando um aplicativo Web para iOS / Android usando a estrutura Sencha 2 e o desempenho é horrível no Android em comparação com o IOS. Infelizmente, agora estou dizendo aos meus clientes que, se eles querem um aplicativo no Android, sejam nativos ou Titanium. Espero que eles possam fazer melhorias, mas eu nunca usarei o Sencha novamente se a plataforma de destino for o Android.

FYI (o dispositivo de destino era o Galaxy S3).


-1

Sencha Touch + Phonegap Sucks em dispositivos Android. Especialmente se você estiver visando o 2.2 em diante. Essa combinação funciona bem para a categoria G3 / Note de dispositivos Android. Esqueça o Sencha Touch + Phonegap no Android se você quiser desempenho e interface do usuário como nativos.

O Sencha Touch + Phonegap é bom apenas para atingir rapidamente mercados em milhares de dispositivos sem desejar um visual espetacular e um desempenho incrível.

Se o seu cliente é muito específico sobre a interface do usuário e o desempenho e insiste na solução híbrida, basta dar-lhe isenção de responsabilidade e o documento assinado por ele que ele deseja o aplicativo Sencha Touch + Phonegap.

Eu queimei não apenas meus dedos, mas todo o corpo com esta combinação mortal no Android.


-1

Sua demo de pia da cozinha de novembro de 2013 e Sencha 2 está suspensa no meu HTC Android 4.0, outras estruturas html5 mostram melhor resposta, como o XDK da intel, que usa jqMobi.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.