Sé que Javascript se puede usar para crear aplicaciones móviles mediante el uso de marcos como Ionic y PhoneGap. ¿Cuáles son las ventajas y desventajas de hacerlo, en comparación con el uso de Objective-C o, en última instancia, Swift?

Ventajas:

  • Escribe una vez, corre a cualquier lugar.
  • Una aplicación para web, Android e iOS significa un equipo de desarrollo, un proyecto, una implementación, un idioma.
  • No es necesario comenzar desde cero si alguna vez desea implementar otro dispositivo como un teléfono con Windows.
  • Si tiene una aplicación web de todos modos, usará JS sin importar qué. También podría aprovechar su código.
  • No hay diferencia en la funcionalidad entre cada dispositivo móvil y la aplicación web.
  • Te obliga a pensar primero en términos de dispositivos móviles. (Necesario en el creciente mercado móvil actual y con los cambios recientes en la búsqueda de Google).

Preguntas frecuentes sobre la actualización para dispositivos móviles del 21 de abril
Se espera que las tabletas superen a las PC para 2015 [GRÁFICO]

Desventajas

  • Necesidad de especialistas. JS puede ser difícil de aprender. Y necesitará a alguien que no solo pueda “hacer” JS, sino que también tenga un conocimiento profundo de un puñado de bibliotecas y tecnologías avanzadas que incluyen Angular, Cordova, Ionic, etc.
  • Riesgo del adoptante temprano. Esta tecnología aún está en pañales. El soporte sigue cambiando, los estándares siguen cambiando, las bibliotecas se pueden reescribir por completo en cualquier momento.
  • Posibles problemas de rendimiento según el tipo de aplicación. Pero existen alternativas a PhoneGap.

Personalmente, si tienes una aplicación simple de tipo “interfaz en una base de datos”, diría que ¡adelante! Si está tratando de hacer algo realmente nervioso como la manipulación de video o los juegos, es posible que desee hacer una investigación profunda sobre el rendimiento de PhoneGap y alternativas como CocoonJS, Titanium y otros.
Alternativas de PhoneGap y software similar – AlternativeTo.net

Utilizamos Titanium para desarrollar nuestra aplicación. Nuestra aplicación es una aplicación de orientación interna. El algoritmo para buscar la ruta a recorrer desde el punto A al punto B se encuentra en el lado del servidor y se expone como un servicio REST. Luego, la aplicación móvil descarga el mapa del servidor y dibuja las rutas en la imagen del mapa.
Todo lo que Titanium podía darme eran los elementos básicos de la interfaz de usuario. Para cada operación compleja, como dibujar el camino en la imagen, obtener los puntos de acceso WiFi del teléfono del usuario (en Android), etc., todo tenía que escribirse usando un código nativo que se integra a la aplicación de titanio como módulos a través de un proceso doloroso. Además, la depuración es un gran dolor. En un momento, había un requisito para integrar esta aplicación a otra aplicación dentro de la misma institución. Esa solicitud fue escrita de forma nativa. Titanium no tiene forma de integrarse con las aplicaciones nativas existentes.
Mejor de todo. recientemente lo convirtieron en un software pago. Hemos tenido suficiente y estamos reescribiendo toda la aplicación de forma nativa.
Mi pensamiento es este, vaya a estos marcos si y solo si su aplicación es simple (como mostrar solo algunos elementos de la interfaz de usuario y no implica manipulación de imágenes, etc.) y también si no tiene planes de integrarla en otras aplicaciones en el futuro . De lo contrario, ni siquiera vale la pena. Con el dolor que sufre por integrar módulos nativos, puede escribir fácilmente aplicaciones usando Swift o Java.

Hay una cosa que no tiene nada que ver con PhoneGap per se, y que desearía que también estuviera disponible para iOS y Android:

Una extensa biblioteca de complementos listos y fáciles de usar como parte natural del kit. Eso me ahorró mucho tiempo. El inconveniente es que algunos no se mantienen correctamente o no hacen con precisión (o no hacen nada) lo que necesitas, lo cual descubres una vez que los usas, pero afortunadamente la mayoría son buenos.

Por otro lado, si no hay un complemento para la funcionalidad (especialmente hardware) que está realmente en cualquiera de las plataformas, entonces estás atascado o tienes que crear tu propio complemento, lo que anula el uso de PhoneGap.

Ionic simplemente se ejecuta sobre PhoneGap, por lo que se aplica el mismo razonamiento allí.

En general, encuentro que PhoneGap / Cordova es agradable para trabajar junto con PhoneGap Build. Menos así sin. Planeo usar Ionic para futuras aplicaciones.

More Interesting

Tengo una aplicación de Android que me puede ayudar a buscar texto por voz. ¿Cómo puedo calcular la tasa de precisión (tasa de error de palabras)?

Desarrollo aplicaciones de Android en Windows y Linux (Ubuntu). ¿Debo instalar Android SDK en ambos SO o instalarlo en una partición de disco compartida?

Cómo aprender a hacer una aplicación de Android como un estudiante de PCB de clase 12 que quiere adoptar la medicina como profesión y desarrollador de aplicaciones como un pasatiempo a tiempo parcial

Tengo experiencia en el desarrollo de aplicaciones de Android y quiero aprender el desarrollo de back-end de Java. ¿Cómo podría comenzar?

Si tengo la intención de crear múltiples aplicaciones que luego se adquirirán, ¿es mejor crear una compañía para todas las aplicaciones o que cada aplicación sea su propia entidad legal bajo una única propiedad?

Estoy usando un Xolo Q1011 (Android v4.4 KitKat). Últimamente, he estado tratando de descargar aplicaciones de Play Store y, aunque tengo mucho espacio en el dispositivo, dice 'error al descargar', 'no hay suficiente espacio en el dispositivo'. ¿Cual podría ser el problema?

Quiero desarrollar una aplicación de seguimiento familiar en Android. ¿Cuáles son las cosas que debo saber antes de comenzar el desarrollo?

Sé que Javascript se puede usar para crear aplicaciones móviles mediante el uso de marcos como Ionic y PhoneGap. ¿Cuáles son las ventajas y desventajas de hacerlo, en comparación con el uso de Objective-C o, en última instancia, Swift?

Me gustaría desarrollar aplicaciones de Android. ¿Qué curso debo tomar para aprender el desarrollo de aplicaciones de Android?

Viajaré a Japón la semana que viene. ¿Qué aplicaciones específicas de Japón para Android serían muy útiles?

Si creo una aplicación y muchas personas la utilizan, ¿cómo obtendrán ganancias los creadores de la aplicación?

Soy artista gráfico y diseño web (pero no soy programador) y tengo un cliente que quiere una aplicación de Android. ¿Qué es un software WYSIWYG para crear una aplicación que no requiere que aprenda un lenguaje de programación?

Quiero construir una aplicación de Android yo mismo. Soy un principiante en la codificación. ¿Alguien me puede dar orientación?

Diseñé una aplicación móvil y quiero codificar la versión básica para atraer inversores. ¿Qué idiomas necesito para aprender a crear una aplicación de mensajería en Android?

Cómo comenzar a aprender Android