Nunca he hecho un desarrollo serio de iOS, pero he creado una aplicación PhoneGap que está en la tienda de aplicaciones de iOS y por un corto tiempo estuve en la tienda de Google Play (la retiramos porque algunos dispositivos Android no mostraban nuestra aplicación correctamente. para probar muchos dispositivos Android).
Me considero muy versado en el desarrollo web y me entusiasmaron las características que PhoneGap aporta a las aplicaciones web. Ir a la ruta de la aplicación web HTML5 parecía la ruta más sensata.
Pros
- ¿Cuál es la diferencia entre un 'objetivo' y un 'proyecto' en Xcode? ¿Cuáles son las implicaciones de esta diferencia?
- ¿Necesito un iPhone para desarrollar aplicaciones iOS?
- ¿Cuál es la información más confidencial recopilada en los registros enviados a Apple como probador beta de iOS 10?
- ¿Cuál es la curva de aprendizaje para un desarrollador de Android que aprende iOS?
- ¿Por qué las aplicaciones de Android no están protegidas como iOS?
- No tiene que aprender ningún idioma nuevo si ya es un desarrollador web decente.
- Es muy rápido crear prototipos
- Aunque no terminamos usándolo, jQuery mobile es bastante limpio y lo hace aún más rápido.
- Muchas opciones de biblioteca para casi todo lo que puedas desear
- Es genial y divertido
- Si así lo desea, puede omitir la tienda de aplicaciones al alojar los archivos en un servidor y utilizar el caché de la aplicación para acelerar las cosas. Cambiar su aplicación es solo cambiar una página web y su archivo de manifiesto de caché
- Administrar imágenes para múltiples dispositivos es mucho más fácil con CSS y consultas de medios que para un proyecto de xcode de iOS y un proyecto de Android con sus ldpi, hdpi, xdpi y cualquier dpi.
- Es más fácil crear gráficos vectoriales para diseñar especificaciones
- Demonios, es más fácil hacer que las cosas sean exactamente como el diseño (excepto si te importa la compatibilidad entre navegadores)
Contras
- Hay muchos navegadores móviles (el estado de los navegadores es peor que nunca en términos de la cantidad de basura diferentes que tenemos que soportar; solía ser, es decir, pero adivina cuántas personas hay en Android 2). X)
- Existen muchos dispositivos móviles con hardware, tamaños de pantalla y velocidad de red variables.
- Algunas funciones a las que está acostumbrado a usar no están disponibles para todos los dispositivos (posición: estática, por ejemplo) y dado que es probable que sean dispositivos defectuosos, usar un shim de JavaScript (como iScroll) está fuera de discusión si le importa el rendimiento
- Parece que hay algunos problemas de versión con el complemento de Facebook Connect para PhoneGap (Córdoba) y las últimas versiones de PhoneGap solo en iOS: para que Facebook Connect y PhoneGap funcionen, tuve que usar una versión anterior de PhoneGap
- La documentación para PhoneGap en sí es bastante decente, pero aún es nueva, por lo que no mucha gente tiene información confiable sobre las versiones actuales (al menos este fue el caso hace 3-4 meses)
- Como tenía que usar una versión anterior de PhoneGap, descubrí que algunas de sus funciones de la API causarían errores de JavaScript. Tuve que pasar por alto el azúcar que proporcionan y llamar a PhoneGap.exec directamente en su com.phonegap.whateverFunctionality – Fue feo, pero funcionó
- Hay complicaciones al vincular a otras aplicaciones como Google Maps
- Descubrí que guardar contactos no funcionaba en todas las versiones de iOS
- jQuery Mobile + Backbone es más doloroso de lo que crees
- Obtener transiciones neato puede ser un dolor
- Hay menos instalaciones en JavaScript para la modularización de aplicaciones a gran escala que Objective-C o Java
- Pruebas apestadas: ya no tanto http://labs.adobe.com/technologi…
Siento que los contras superaron a los profesionales al final. Sin embargo, armados con este conocimiento, no diseñaríamos nuestra aplicación móvil de la misma manera. Por ejemplo, queríamos una experiencia similar a la nativa con una navegación de encabezado y pie de página posicionada estáticamente. Si la compatibilidad y el rendimiento entre navegadores son una preocupación, no desea hacer esto. También evitaría las esquinas muy redondeadas. Android 2.x no funciona tan bien con él.
Si su aplicación es simple, la recomiendo. Realmente disfruté el proceso y vi mi aplicación web como una aplicación instalada. Pero, solo sé que es más problema de lo que parece ser.