Cómo convertirse en un desarrollador de pila completa: Parte 3

Publicado: 2017-12-02

Esta publicación es la tercera y última de la serie sobre cómo convertirse en un desarrollador completo. Este artículo habla específicamente sobre el desarrollo de aplicaciones móviles. Lea aquí para obtener más información sobre el desarrollo de frontend y backend.
Cuando Steve Jobs presentó el iPhone en 2007, marcó el comienzo de la mayor revolución que el mundo había presenciado desde la imprenta. Los teléfonos inteligentes han logrado penetrar en casi todos los países del mundo. Incluso los más empobrecidos parecen estar en posesión de uno tanto que la vida sin ellos parece inconcebible.

Motivación

Hay ciertas aplicaciones que solo tienen sentido cuando se ejecutan en un teléfono. Tome Uber, por ejemplo. Uber necesita saber tu ubicación exacta a través del GPS. Una aplicación de Uber para escritorio no tendría mucho sentido.
Otro problema es que la mayoría de su audiencia abrirá su aplicación a través de un teléfono, incluso si se ha creado para navegadores. En tales casos, es imperativo que se asegure de que la experiencia sea fluida y que no se consuman demasiados datos. Por último, existen diferencias sutiles entre la interacción mediante clics del mouse y el tacto. Su aplicación debe asegurarse de que se comporte bien en ambos escenarios.
Teniendo en cuenta todas estas consideraciones, tiene sentido aventurarse fuera del navegador y crear aplicaciones móviles. Esto asegura que aproveche al máximo las funcionalidades que un teléfono inteligente típico tiene para ofrecer y, al mismo tiempo, hace que la experiencia del usuario sea una delicia. A continuación se detallan los pasos para lograr el desarrollo de aplicaciones móviles. Para la primera parte, convertirse en un desarrollador de pila completa en el desarrollo de frontend y backend.

Cómo convertirse en un desarrollador de software web Full-Stack Blog de UpGrad Desarrollo móvil

Entrevista con Ankit Tomar, Co-Fundador y CTO, Bizongo

Tabla de contenido

Paso 12: elige una plataforma

El primer paso sería elegir una plataforma en la que le gustaría construir su aplicación. A menos que forme parte de un equipo razonablemente grande, es muy poco probable que cree aplicaciones desde cero en todas las plataformas principales. El escenario más probable es que esté codificando en su plataforma favorita y luego simplemente la transferirá a los demás.
Las principales plataformas de teléfonos inteligentes en la actualidad son iOS, Android y Windows. Utilizan lenguajes e IDE drásticamente diferentes. Por ejemplo, iOS usa Swift y XCode, Android usa Java y Android Studio y Microsoft opera con C# y Visual Studio.
El mercado actual está dominado por Android e iOS, por lo que la elección realmente se reduce a estos dos. Algunas cosas que debe tener en cuenta antes de tomar una decisión son la cuota de audiencia de su aplicación. Creo que tiene sentido desde el punto de vista empresarial crear aplicaciones para iOS si se encuentra en un país del primer mundo, ya que los dispositivos Apple son extremadamente populares allí. Por el contrario, en un país como India, Android sería una opción más obvia, ya que la cuota de mercado de los iPhone es extremadamente pequeña debido a su precio exorbitante.
Si planea ganar dinero con su aplicación, tenga en cuenta que es más probable que los usuarios de iOS abran sus billeteras para compras dentro de la aplicación que sus contrapartes de Android. Esto puede deberse a que los usuarios de iOS generalmente tienden a tener más ingresos disponibles en comparación con los mercados del tercer mundo donde domina Android.
El desarrollo de iOS requiere que tenga una máquina de desarrollo de Mac. Además, las licencias de Apple App Store se venden al por menor a $99/año en comparación con la tarifa única de $25 de Google Play. En otras palabras, el desarrollo de iOS es considerablemente más caro.
En esta publicación, cubriré cómo se realiza el desarrollo de aplicaciones móviles hoy en día: aplicaciones nativas de Android, aplicaciones nativas de iOS y aplicaciones móviles híbridas.

Paso 13: Java y XML

Java es el lenguaje más popular para el desarrollo de Android (Google también ha introducido recientemente soporte para el lenguaje de programación Kotlin).
Los fundadores de Android pensaron que Java era una opción adecuada y se han ceñido a ella desde sus inicios. Y si su trayectoria es algo por lo que pasar, ha sido nada menos que una decisión asombrosa.
Cómo convertirse en un desarrollador de software web Full-Stack Blog de UpGrad Desarrollo móvil
El mejor recurso para aprender Java sería Head First Java. La lectura de este libro le brindará una introducción completa al lenguaje, así como a los principios de programación orientada a objetos.
En lo que respecta a XML, no creo que necesite un tutorial concentrado sobre el tema. Ya ha trabajado mucho con un subconjunto de XML (HTML) y podrá resolverlo con bastante rapidez, incluso si tuviera que saltar directamente al desarrollo de Android. No puedo decir lo mismo de Java. Asegúrese de tener un buen dominio del idioma antes de aventurarse en Android.

Paso 14: Androide

Ahora tiene los conocimientos técnicos para crear aplicaciones de Android. Es hora de profundizar en este sistema operativo revolucionario. Sin embargo, tenga cuidado porque ciertas prácticas de Android difieren de lo que normalmente ve en la web. Los recursos que he sugerido a continuación asegurarán que su aprendizaje no se vea obstaculizado por estas diferencias.
Programación de Android: The Big Nerd Ranch Guide 2nd Edition es un buen lugar para comenzar si ya conoce Java. Asegúrese de elegir la segunda edición, ya que es la que usa Android Studio, que ahora es el estándar de la industria. La práctica de crear aplicaciones en Eclipse está en gran parte desactualizada.
Entrevista con Farooq Adam, cofundador, Fynd

Paso 15: iOS

Si es más aficionado a Apple y/o ha decidido que las aplicaciones de iOS tienen más sentido para sus aspiraciones comerciales/profesionales. El primer paso sería adquirir una Mac. XCode solo funciona en Mac y para publicar en la tienda de aplicaciones, necesita una Mac. Lo siento, VMware.
El recurso que voy a sugerir para iOS es exactamente el mismo que para Android. Nerd Ranch tiene su propia publicación: Programación de iOS: The Big Nerd Ranch Guide que se ocupa de Swift y XCode, por lo que es un buen lugar para comenzar.

Cómo convertirse en un desarrollador de software web Full-Stack Blog de UpGrad Desarrollo móvil

Paso 16: Aplicaciones Móviles Híbridas

Si es un desarrollador independiente o trabaja en un equipo pequeño, probablemente no tenga el tiempo o los recursos para crear y mantener aplicaciones de Android e iOS por separado. Para aliviar el dolor del desarrollador de construir para múltiples plataformas, se introdujo el concepto de aplicaciones móviles híbridas.
El concepto es extremadamente simple y revolucionario. Si conoce Javascript, ya sabe cómo crear aplicaciones web. Por lo tanto, si tiene una aplicación en JS, debe existir un marco que transfiera automáticamente su aplicación a Android, iOS y Windows. Increíble pero cierto.
La mayoría de los marcos híbridos logran esto usando Cordova o React Native. Puede pensar en Cordova como el puente entre los navegadores y el hardware nativo del teléfono inteligente. Establece una conexión entre los dos utilizando únicamente JS y ayuda a crear los scripts de compilación en los idiomas nativos de cada plataforma.
Sin embargo, los marcos basados ​​en Cordova están siendo eclipsados ​​rápidamente por la potencia de Facebook, React Native. El poder de React Native radica en el hecho de que mientras Cordova crea WebViews, React Native le permite crear aplicaciones nativas que crearía utilizando Java (para Android) o Swift (para iOS). En otras palabras, Cordova es un sitio web disfrazado de aplicación móvil, pero React Native te permite crear la aplicación real .
En mi opinión, puedes echar de menos a Cordova y aprender React Native en su lugar. Es una gran inversión profesional para hacer. El programa de desarrollo de software de UpGrad & IIIT-B es un excelente lugar para comenzar su viaje con esta biblioteca revolucionaria que ya han utilizado empresas como Facebook, Netflix y AirBnB para diseñar sus aplicaciones.
Entrevista con Farooq Adam, cofundador, Fynd

Conclusión

Con la conclusión de las aplicaciones híbridas, llegamos al final de esta serie. En resumen, estas son las cosas que hemos cubierto:

  1. Fundamentos de Informática.
  2. Estructuras de datos y algoritmos
  3. interfaz de usuario/experiencia de usuario
  4. HTML, CSS, JS
  5. Marcos front-end
  6. Bases de datos y secuencias de comandos del lado del servidor
  7. Marcos de pila completa
  8. Android e iOS
  9. Aplicaciones móviles híbridas

Espero que hayan disfrutado leyendo esta serie tanto como yo disfruté escribiéndola y, lo que es más importante, que hayan encontrado al menos algunas partes útiles. Como siempre, sus comentarios y sugerencias son bienvenidos!

Conviértase en un desarrollador de pila completa

Diploma PG de UpGrad y IIIT-Bangalore en desarrollo de software
Aprende más