2010-06-19 14 views
9

He leído sobre PhoneGap que permite a los usuarios escribir aplicaciones basadas en web para Android y me preguntaba:androide/PhoneGap rendimiento

  1. cómo es el desempeño de PhoneGap en comparación con una aplicación para Android "real"
  2. ¿Qué NO funcionaría en phonegap?
  3. Sé que es posible implementar Google Maps con phonegap, pero supongo que hay muchas limitaciones en comparación con la codificación directa de los mapas en Android.
  4. como novato en Android (pero intermedio en la programación web), ¿debería utilizar la codificación directa de Android en lugar de phonegap?

estoy planeando escribir una aplicación que utiliza el servicio google maps + gps, el acceso a la base de datos y tal, y me temo que no es realmente posible con phonegap.

THX

Respuesta

2

El rendimiento de las aplicaciones PhoneGap es bueno, pero depende en gran medida exactamente de lo que esté haciendo (por ejemplo, las animaciones probablemente funcionen mejor como nativas).

Si solo lo estás construyendo en una plataforma, es mejor que te conviertas en nativo ya que habrá una curva de aprendizaje tanto con PhoneGap como con el desarrollo nativo de Android. También puede ser más fácil convertirte en nativo ya que estás usando mucho los mapas.

1

Lo bueno de phonegap es que le permite construir aplicaciones móviles multiplataforma. Si está haciendo solo android, supongo que no tiene sentido.

2

Evitaría Phonegap cueste lo que cueste. He estado trabajando en un proyecto con Phonegap, y tuvimos muchos problemas con él. Al final, recurrimos a la codificación en idiomas nativos (java/objective c/java me).

Tal vez algo cambió mientras tanto, pero en ese momento (Q2 de 2010) Phonegap estaba realmente bien solo para iPhone. Android API no tenía la mitad de las características documentadas en su sitio, e incluso esas características estaban llenas de errores. Por ejemplo, su API de contactos tenía un gran bloqueador: utilizaba un objeto JavaScript no existente. Parecía como si solo copiaran/pegaran el código de la API de iPhone y ni siquiera se preocuparon de comprobar si funcionaba. Estaba realmente decepcionado con Phonegap, no podíamos usar la base de datos, no podíamos obtener contactos, la documentación era falsa ...

Una cosa más que odiaba acerca de hacer una aplicación HTML para Android era la falta de bibliotecas con interfaz gráfica de usuario nativa de Android. Casi todas las bibliotecas de GUI de JS se centraron en iPhone y replicaron la GUI de iPhone. Algunos de los que anunciaron tener soporte para Android tenían un diseño de componentes tan malo que eran inútiles.

Una vez más, estas son mis experiencias de hace 6 meses. Espero que algunas cosas cambien mientras tanto, pero estoy seguro de que no usaré HTML para aplicaciones móviles/Android en el corto plazo.

+0

así que eso es lo que era - intentó usando PhoneGap para Android y la mayoría de las versiones parciales de programa trabajó con excepción de Contactos - el único campo que he sido capaz de recuperar hasta el momento es correos electrónicos, ninguno de los campos de nombre parece estar funcionando. – dr3x

3

Estoy construyendo una aplicación con Google Maps, GPS y utiliza un servicio/base de datos de servicios. He elegido usar

  • Phonegap - Para "ajustar" mi HTML y también uso la biblioteca Geo-Location.
  • Javascript - jQuery - jQuery Mobile - La mayor parte de la interfaz de usuario de HTML 5
  • - UI fuertemente personalizada, en la que tenía que hacer gráficos y gesticulando etc, necesarios para codificar manualmente
  • Node.JS - mi servicio de back-end .
  • JSONP - Comunicación entre mi aplicación móvil y el servicio
  • CouchDB - En la nube, Base de datos noSQL Javascript amigable, muy genial.

Al haber terminado casi, puedo decir que este tipo de aplicación ciertamente es factible con esta pila de tecnologías y todo el aspecto transversal/de plataforma es fantástico. Sin embargo, no ha sido particularmente fácil. En particular, es necesario tener cuidado con los ...

  • Phonegap utiliza file: // URL base así todo tipo de problemas con el navegador 'seguridad' y secuencias de comandos entre sitio de echar a perder su código Ajax y galletas. Lo solucioné usando JSONP, pero me impidió usar algunas cosas interesantes que de otro modo hubieran sido posibles, como SocketIO.

  • depurando su JavaScript dentro del navegador, dentro del contenedor de Phonegap, dentro del emulador ... es virtualmente imposible. Solucioné esto haciendo la mayor parte de mi depuración en Firefox con Firebug y luego usando la alerta ('blah') para cualquier problema que apareciera solo cuando se implementara.

  • Google Maps alojado en HTML solo funcionará mientras esté conectado a internet, esto significa que la depuración en el dispositivo móvil (uso mucha codificación mientras viajo) fue un problema. Necesitaba encontrar Internet móvil confiable, no es gran cosa, de todos modos es genial, pero fue algo extra.

  • Google maps ventanas de InfoView chupar chupar chupar. Eventualmente me di por vencido y saqué los cuadros de diálogo necesarios del mapa como páginas de JQuery Mobile.

Espero que esto ayude a alguien;)

+0

realmente buen consejo! Estoy buscando mejoras en el rendimiento de Google Maps, si tiene alguna de estas sugerencias? – the0ther