Phonegap y frameworks mobile (situacion actual android)

smintcs

Estoy empezando a hacer desarrollo multiplataforma con phonegap y me gustaría como lo tenéis montado los que programáis en esto.

La parte en si de phonegap es lo menos que me preocupa por ahora, el tema es que antes de meterme con las apis del hardware y tal quiero ir haciendo GUIS pero no se que framework puede venir mejor.

Vale que en phonegap en principio puedes sacar para 50 plataformas distintas pero por ahora me interesa sobretodo Android, y los frameworks que voy probando son un poco lamentablas.

He probado por ahora Jquery Mobile y Ratchet y no me convencen nada. De ratchet no hay prácticamente documentación y Jquery Mobile peta por todas partes.

Hasta donde estoy entendiendo el problema esta en que phonegap pilla todo el código html5 y lo mete en una webview de android que es lo que realmente limita todo esto.

Las apps van perfectas en chrome e incluso en el chrome de android, pero en el momento en que lo meto todo al apk y tira del navegador que use la webview de android empiezan los líos, las transiciones no van, parpadeos raros, la mitad del css se lo pasa por el forro y demás.

Veo que revolviendo mucho puedo acabar arreglando las cosillas de cada framework pero los fw están para ahorrar tiempo y no para tener que andar mirando como arreglar cada detalle, de ahí mi pregunta de si hay alguno que este medio optimizado para este tipo de desarrollo en phonegap.

Tengo una lista de unos cuantos para ir probando:
Fries
Chocolate Chip UI
App Framework
Lungo
Ionic

El que mas esperanza me da es Ionic porque parece que es el que mas gente tiene detrás, pero JQueryMobile tambien tiene una gran comunidad y luego sale como sale.

Igual sigue siendo pronto para esto pero con tantos SO que quieren tirar hacia html5 me parece muy raro que no exista un framework bien establecido.

B

#1 esos framework están bien para cosas sencillas pero cuando se complíca lo más mínimo peta por todas partes o el rendimiento da pena. Mi consejo es que uses un framework en condiciones que compile a nativo sin usar contenedores.

zoeshadow

El problema son los dispositivos con versiones "antiguas" de Android ( hasta Android 4.3 no van nada bien a no ser que seas un mago o sea muy simple la página) esto provoca que un alto porcentaje de los usuarios tenga una experiencia de mierda.

Sinceramente, si te interesa hacer algo bien, haz la aplicación en nativo, da igual el framework HTML5 que uses, en cuanto te salgas de los dispositivos de gama alta el rendimiento y los problemas van a darte mucho por saco.

smintcs

Me estáis desanimando bastante aunque por otro lado lo entiendo.

Hay aplicaciones gordas y chulas con phonegap pero tienen mucho tiempo detrás para refinar todo y utilizan frameworks mínimos o caseros.

Voy a probar un par más porque quien sabe igual encuentro algo que si que tire medianamente bien.

El tema es que lo que tengo ahora hecho no son burradas ni mucho menos, pasar de una página con texto a otra página con texto ya llevo 3 frameworks que dan problemas o en la transición, o parpadeos, o simplemente que es ridículo lo que tarda en cargar eso.

Entiendo entonces que jquerymobile y estos frameworks tan famosos son para hacer webapps pero que se carguen desde un servidor y tal, no para esto de hibridos / no nativo.

MTX_Anubis

Yo he usado cordova con backbone. Para la interfaz nunca se me ocurrió usar ningún framework porque los que probé me parecieron malísimos xD. Backbone está bien pero el desarrollo con estas herramientas para moviles me parece un truñaco la verdad.

CCiRviNe

Yo he usado Dojo mobile con Phonegap: En iOS sin problema, en Android alguno al comienzo, ya que el nombre de algunos ficheros comienzan por _ y al generar el APK en Android no incluía esos ficheros (ahora creo que si lo hace), por lo que había que crear un build. Por lo demás me ha ido bastante bien salvo algún problema con alguna versión específica.

neoline

Una imagen vale más que mil palabras:

6 1 respuesta
smintcs

He estado probando unos cuantos más y hay unos cuantos que tienen pinta de estar bien pero es el 90% se hace en javascript metiendo <divs> dentro del propio javascript y eso no me gusta nada, creo que me voy a quedar con Iconic que corre sobre angularjs y por lo que tengo probado las transiciones y todo funcionan fluidas en un android viejo y bastante malo.

Otras opciones viables son topcoat + angular y OnsenUI, por si a alguien le sirve

1 respuesta
zoeshadow

#7 Ya, claro.. xD

MTX_Anubis

#8 Yo te digo como lo hice: requireJs (bastante importante) y Backbone. Backbone tiene dependencia de underscore que puedes usarlo para los templates y hacer los htmls a parte.

Aunque yo me tuve que currar un sistema de persistencia con el localstorage en vez de usar el plugin no me acuerdo de por qué.

1 respuesta
smintcs

#10 gracias

LLoid

Personalmente, nunca he visto una app híbrida que se acerque siquiera a la calidad de una nativa. De todos modos échale un vistazo a Titanium que es, desde mi punto de vista, el que alcanza resultados lo más parecido posible a nativo (y aún así está bastante lejos de dar el pego).

También te digo una cosa más, ni a Google ni a Apple les conviene que se desarrolle en híbrido, y Google por lo menos hace esfuerzos ocultos pero existentes de joder las aplicaciones híbridas.

AvkZ

Yo probé Cordova/Phonegap, y al fin y al cabo para la maquetacion básica de la web en HTML acabas usando jQuery mobile y efectivamente como dices, lo acabé dejando porque con un HTML sencillísimo ya me daba parpadeos según que navegador y las transiciones no iban finas..

Parece mentira que jQuery mobile tenga tanta comunidad por detrás y que estas cosas sigan pasando. No todos tenemos tiempo para ponernos a desarrollar en los lenguajes nativos y menos hacer luego la app multiplataforma.

Si pruebas ionic cuentanos, que ya oí hablar de ello y buena pinta no le falta.

1 respuesta
Kiroushi

#13 Es lo que pasa cuando el 95% de los desarrolladores, por ejemplo, llaman a nodos DOM con selectores jQuery, y encima sin cachearlos.

for (...) {

   $(selector).find(...).blabla()...

}

¡Se sale!

smintcs

Estoy con ionic y tengo que decir que comparado con el resto es una maravilla, hay un par de frameworks con muy buena pinta pero que la documentación es puro javascript, llegando a tener que poner los divs y tal dentro del propio javascript, y por eso no me he metido con esos.

Decir que Ionic utiliza JQlite que no tiene nada que ver con JQuery pero funciona muy parecido, tiene mucha documentación y me parece completísimo, las transiciones funcionando con css3 sin ningún problema (hay alguna que no me va pero tampoco me he puesto a investigar).

El tema es que va integrado con angularjs y claro viniendo del frontend de toda la vida te puede chocar un poco adaptarte pero una vez que pillas como va (es un mvc en el fondo) me parece buenisimo.

El rendimiento es muy bueno comparado con el resto que he probado, lo único que tarda algún segundo de más la primera vez que cargas la app, tengo que mirar de poner un splash que creo que se lanzaría al momento y ya luego empieza a cargar el html en sí.

Veo que tiene muchas ventajas porque la flexibilidad es enorme y ves los cambios al momento sin andar tirando de emulador todo el rato.

Al final con phonegap + ionic + is18n + shareplugin puedes hacer el 90% de las apps del market, se me ocurren muy pocas cosas que no pueda hacer o que sean mas costosas.

Yo estoy haciendo solo android por ahora, pero si te pones a pensar que con una inversión de tiempo relativamente pequeña para configurar entornos y demás puedes tener una app que si quieres portar a firefoxOS, ubuntu, incluso windows 8 desktop tienes mucho echo.

Depende un poco de donde vengas y a donde vas pero me parece una opción muy valida para ir empezando y viendo un poco por donde va todo.

1 1 respuesta
17 días después
Foxandxss

#15 Haces bien. Ionic tiene una comunidad inmensa detrás, el equipo, el cual conozco personalmente son geniales, son gente muy competente y están sacando unas herramientas muy muy buenas (como creator).

Usa Angular el cual está dando fuerte también.

échale un ojo a ngCordova donde han portado muchos plugins para ser usados en Ionic de puta madre.

2 meses después
smintcs

Por si a alguien le sirve parece que este es un poco el camino, ionic tiene mucha comunidad y esta bastante bien explicado, el rendimiento esta quedando curioso y para alguien que venga de web el paso a esto le va a ser bastante llevadero.

g4sb0

Prueba Meteor =)

neoalex88

Yo acabo de terminar una app con phonegap y jquery mobile y el rendimiento es ... bueno ya lo sabemos todos xD pero si quieres hacer algo rapido y sencillo la verdad es que te simplifica mucho el trabajo.

7 días después
smintcs

La gente de foundation saca un framework para apps que tira con angular por debajo.
http://foundation.zurb.com/apps/

Usuarios habituales