Soy un diseñador web front-end, ¿qué debo aprender para poder crear aplicaciones móviles simples?

Todo lo que necesitas es reaccionar nativo

“Aprender una vez, escribir en cualquier lugar” es el mantra de React Native .

Después de construir una aplicación web en React.js, un desarrollador que quiera portar a iOS o Android nativo debe reescribir algún código. Las aplicaciones React Native consisten en JavaScript y código nativo (Java u Objective C). El JavaScript se ejecuta en una máquina virtual en el dispositivo móvil y se comunica con el código nativo a través de una interfaz de paso de mensajes JSON. Facebook perdió velocidad de desarrollador cuando los ingenieros comenzaron a construir las versiones móviles del sitio web de Facebook. Los desarrolladores web pueden volver a cargar su JavaScript en vivo simplemente guardando sus archivos y actualizando la página. Los ingenieros de iOS y Android tienen que volver a compilar toda su aplicación para ver los cambios.

Esto castiga una aplicación de diseño pesado como Facebook, donde los desarrolladores quieren modificar un píxel y ver el resultado de inmediato.

Los ingenieros de Facebook escriben sobre portar una aplicación de la web a React Native:

La aplicación necesitaba contener una gran cantidad de lógica empresarial compleja para manejar con precisión las diferencias en los formatos de anuncios, zonas horarias, formatos de fecha, monedas, convenciones de monedas, etc. Gran parte de esto ya estaba escrito en JavaScript. La posibilidad de escribir todo ese código en Objective-C solo para luego escribirla en Java para la versión de Android de la aplicación no era atractiva, ni sería eficiente. En React Native, sería fácil implementar la mayoría de las superficies de la interfaz de usuario que queríamos construir, mostrando una gran cantidad de datos en forma de listas, tablas o gráficos. Los ingenieros de producto podrían ser productivos de inmediato implementando estas vistas, siempre y cuando conozcan React.

Encontré que React Native es increíble para desarrollar aplicaciones web. Tomé un tutorial sobre esto aquí: crear aplicaciones con React Native – Udemy y estaba acelerado bastante rápido.

Todas las respuestas mencionan Frameworks, aunque definitivamente son más fáciles de aprender y más rápidas de implementar, no estoy de acuerdo con ellas. Los marcos suben y bajan, y he estado alrededor el tiempo suficiente para ver a muchos conquistar el mundo y luego caer del mapa. Y cuando eso suceda, no querrá ser un desarrollador que solo conozca Frameworks, sin mencionar que no se lo considerará seriamente por una buena posición, lo mejor que puede esperar es una startup donde el CEO no tenga experiencia suficiente para saberlo mejor.

Así que le aconsejo que aprenda los lenguajes de desarrollo móvil y los domine, antes de considerar aprender cualquier Framework.

Para desarrollar aplicaciones de Android necesitarás aprender JAVA. Una vez que haya aprendido Java, el siguiente paso es aprender a usar Java para crear aplicaciones de Android. Para eso necesitará el Kit de desarrollo de software de Android (SDK). El SDK de Android proporciona todas las bibliotecas y herramientas de API que necesita para crear una aplicación de Android. Google ofrece el paquete de Herramientas para desarrolladores de Android (ADT) que incluye el SDK, una versión del IDE de Eclipse con los complementos de ADT y las herramientas de la plataforma Android con el emulador de Android.

Y para desarrollar las aplicaciones de iOS necesitará aprender Objective C, es el lenguaje que la mayoría de los desarrolladores de Mac e iOS usan para escribir aplicaciones nativas. Hay formas alternativas de escribir aplicaciones para Mac e iOS (puro C o C ++, MacRuby, PyObjC, MonoTouch, etc.) pero, por lo que puedo decir, Objective C es el más popular.

Y para volver al tema de Frameworks, es bueno estar al día y conocer las tecnologías de tendencias, pero primero debe ser realmente bueno en lo básico.

Normalmente se llama la pila MEAN.

  • Mongo DB
  • Express JS
  • Angular
  • Nodo JS

Eso le permitirá crear aplicaciones web móviles sólidas, lo cual es realmente el futuro una vez que iOS deje de fingir que los asistentes de servicio no existen.

Tampoco hace daño agregar React JS a tu montón de cosas para estudiar, ya que isomorphic es el futuro de este tipo de desarrollo.

La ruta más fácil para los desarrolladores front-end sería crear aplicaciones híbridas.

Cordova e Ionic son 2 marcos que puedes usar.

https://cordova.apache.org
http://ionicframework.com

Esencialmente, las aplicaciones híbridas son “sitios web / aplicaciones” que se representan a través de la vista web y vienen con adaptadores para las diversas API nativas (por ejemplo, GPS, etc.).

More Interesting

Cómo hacer una aplicación uber

Cómo hacer una aplicación de Android para mi universidad

Se me ocurrió la mejor idea de aplicación de citas del mundo y construí una demostración interactiva para probar el concepto. ¿Cuáles deberían ser mis próximos pasos?

Quiero entrar en el negocio de las aplicaciones móviles, pero me falta conocimiento técnico. ¿Hay alguna forma de construir la primera aplicación para mi empresa a través de algunos desarrolladores remotos sin tener que preocuparme por el robo de la 'idea'?

Soy nuevo en la codificación y trato de hacer una aplicación que nunca antes se haya hecho, ¿cómo puedo hacer esto?

Mi primera impresión de Swift es que es como una versión mutante de Java y Python combinados. ¿Alguien está de acuerdo?

Tengo una presentación para una reunión de iOS móvil, pero no sé qué puedo presentar, ¿qué será interesante que escuchen?

Cómo obtener una aplicación de recarga gratuita para Android fácilmente

Estoy buscando contratar a un desarrollador de iOS. ¿Es demasiado pedirles que creen una aplicación de muestra? Si no, ¿cuáles son algunas sugerencias de una buena aplicación de prueba?

Cómo publicar una canción en WeChat

Si elimino mi WhatsApp, ¿se eliminarán los chats archivados?

Quiero hacer una aplicación para que solo mis estudiantes universitarios puedan usarla, ¿cómo puedo hacerlo?

¿Sería útil para mí usar la aplicación móvil? Ofrezco los servicios y no vendo productos. ¿Para qué puedo usarlo?

Android (sistema operativo): ¿Cómo obtengo ingresos pasivos con las aplicaciones de Android?

Cómo disminuir el uso de Facebook o WhatsApp