¿Debería alguien que está aprendiendo el desarrollo de aplicaciones móviles comenzar con Swift, Android o React?

Si quieres ser un desarrollador móvil fuerte, entonces debes desechar React Native. Es conveniente de usar y está bien escrito, pero lo abstrae de las bibliotecas y SDK que operan bajo el capó. Si bien es tentador elegir una tecnología multiplataforma, su experiencia y habilidades serán mucho más limitadas a largo plazo.

Eso te deja con dos opciones: Java o Swift. La mayoría de los desarrolladores le dirán que Swift es un lenguaje mucho más agradable para trabajar que Java, y los números muestran que el desarrollo de iOS es mucho más lucrativo a largo plazo. Dicho esto, es más fácil encontrar trabajo en Android porque parece haber menos competencia (probablemente debido a una menor demanda) en ese frente.

En general, mi opinión es que Swift es el lenguaje que debes aprender para el desarrollo móvil. Dado que el lenguaje es de código abierto y se compila a través de LLVM, creo que es solo cuestión de tiempo antes de que haya soporte oficial para crear aplicaciones de Android con él. Abundan los rumores de que Google incluso está considerando una reescritura parcial de Android para admitir Go y Swift a largo plazo. RubyMotion nos da una prueba clara de que es una tarea muy factible (mapear SDK y compilar con un idioma no nativo), incluso con un equipo pequeño. Hay más pros / contras claros para cada enfoque, por lo que la pregunta es difícil de responder, pero esos son mis dos centavos.

Puedo compartir mi experiencia para reaccionar nativo.

Como era de javascript y nodo tech stack, fue fácil para mí elegir y comenzar a aprender reaccionar nativo. También con una experiencia muy pequeña en el desarrollo de aplicaciones nativas en Android, las cosas fueron fáciles para mí, como la configuración básica (estudio de Android, SDK, Gradle … y otras cosas)

Ventaja

  1. Fácil de comenzar si está familiarizado con javascript (es6).
  2. Compilar lleva menos tiempo. React Native admite el complemento de recarga en caliente.
  3. Puede escribir aplicaciones para iOS y Android (con solo un 20–35% de diferencia de código)
  4. Puede encontrar muchos componentes de reacción de código abierto (componentes esenciales de interfaz de usuario multiplataforma para React Native, un catálogo obstinado de paquetes JS de código abierto …)
  5. Incluso puede comenzar con una configuración mínima con Exponent (desarrollado por el cofundador de Quora)
  6. Admite codepush (puede actualizar silenciosamente la aplicación a su usuario final)

Desarrollé mi última aplicación usando Reaccionar nativo Init News Feed – Aplicaciones de Android en Google Play

Ya sea Java o Swift. Depende principalmente de sus intereses, el hardware que posee y el tipo de aplicación que desea crear. En términos generales, las aplicaciones industriales (POS, geofencing industrial, etc.) se realizan en Android (debido a las restricciones tanto de la tienda de aplicaciones como de los mercados de Google Play).

Manténgase alejado de React si es nuevo en el desarrollo de aplicaciones móviles. Yo diría que empiece a aprender en la plataforma que usa si usa un iPhone, aprenda rápido si usa un Android, use Android y si resulta ser uno de esos usuarios de teléfonos con ventana, aprenda C #. (No tiene nada de malo) La razón por la que digo esto es porque las personas realmente aprenden más cuando practican lo que usan.

Si crea una aplicación para iOS y no tiene un iPhone, ¿de qué sirve? Realmente solo vive en tu simulador. Si creas una aplicación y puedes usarla en tu propio teléfono, podrás ver fácilmente cómo puedes hacer mejoras y también tener una perspectiva de lo que ven tus usuarios.

Soy un gran admirador del desarrollo nativo. Estoy en contra del desarrollo multiplataforma porque nunca ofrecerá la misma calidad que la nativa.

Mi sugerencia es comenzar con Swift, pero soy un gran fanático de Apple y no real de Android, pero, tratando de ser honesto, ambos son buenos. Usar Java con Android y Swift con iOS te permitirá desarrollar aplicaciones de gran calidad. Los desarrolladores nativos pueden usar todas las funciones de los SDK nativos y esto solo es posible con el desarrollo nativo.

ps: nunca he dicho “nativo” tantas veces 😀

Diría que hay ventajas y desventajas en cada plataforma, pero Swift es más canónico, por así decirlo. Está mejor estructurado y es más fácil de construir, ya que está destinado solo para iOS.

¡Android es de código abierto pero tiene varias implementaciones para diferentes dispositivos y tiene algunas fallas junto con más bibliotecas para usar!

Por supuesto, Android, ya que es fácil de aprender, de código abierto, muchos recursos, fácil de integrar con otros servicios, puede reflejar fácilmente su idea en él.