Quiero crear aplicaciones relacionadas con viajes y transporte para Android e iOS. ¿Qué lenguaje de programación me recomendaría que aprendiera para crear este tipo de aplicaciones de software?

Si tiene que preguntar esto, le recomiendo que deje de lado sus ideas de aplicación por un tiempo y simplemente comience con algo extremadamente simple.

La escritura de aplicaciones en Android se realiza con Java.

La escritura de aplicaciones en iOS se realiza con Swift (u Objective C, pero su uso ha disminuido rápidamente debido a Swift).

Oficialmente, solo puede escribir aplicaciones iOS en una Mac, pero puede haber soluciones alternativas. Puede escribir aplicaciones de Android en Windows, Mac o Linux.

Estas son las dos únicas formas oficiales de escribir aplicaciones nativas en los dos principales sistemas operativos del teléfono.

Pero esa no es toda la verdad. Hay excepciones. Escribir una aplicación dos veces tiene beneficios, pero hay soluciones en las que puede escribirla y desplegarla tanto en iOS como en Android.

Xamarin, probablemente la plataforma más popular para escribir desarrollo móvil multiplataforma, usa C #. En iOS, Xamarin utiliza la compilación anticipada (AOT) y convierte a C # directamente a código de máquina nativo, sin pasar por el requisito de Swift / Objective-C.

En Android, se compila en un idioma intermedio, luego utiliza un compilador JIT (Just-In-Time) que se compila en código de máquina sobre la marcha. Nuevamente, esto pasa por alto el requisito escrito en Java.

Hay limitaciones con Xamarin, pero no estoy muy familiarizado con él, por lo que debe investigarlas por su cuenta para saber si se ajusta a sus necesidades.

Finalmente, hay otras opciones que usan HTML, CSS y JavaScript, al igual que una página web. De hecho, eso es básicamente lo que son. Escribes una aplicación que es esencialmente una página web. Hay funcionalidades adicionales que estos marcos proporcionan en una página web normal, por supuesto. Puede acceder a la cámara del dispositivo, la consola, los archivos, los contactos, etc.

La desventaja aquí es que el rendimiento será menor que el de una aplicación nativa porque es una página web. También estará limitado en la interacción del sistema a lo que permita el marco. Una opción popular aquí es Apache Cordova.

Objetivo C o Swift para iOS, Java / Kotlin (recomiendo Kotlin) para Android. Pero si tiene menos tiempo y no quiere aprender varios idiomas, React Native es lo mejor para usted. Si está familiarizado con JavaScript, entonces sería fácil comenzar a React Native.

Tenga en cuenta que aprender un lenguaje de programación no es lo único que necesita para construir un sistema de software. Primero debe crear un modelo de trabajo, anotar sus requisitos, diseñar el sistema, elegir qué sistema de base de datos es el más adecuado para usted, si va a necesitar una API externa, etc., y luego realmente va a escribir el código. Por lo tanto, primero deberá borrar las cosas mencionadas antes de comenzar a escribir el código.

“¡Un solo lenguaje de programación es suficiente para aprender codificación!”

Necesitarás:-

  1. Aplicación Java para Android.
  2. Objetivo C o Swift para la aplicación iOS.
  3. Un marco Python / PHP / Ruby / JS / Java junto con MySQL / MongoDB / PostgreSQL para DBMS
  4. Además, necesitará una gran cantidad de conocimiento sobre el desarrollo HTTP y REST.

¡Buena suerte! 🙂

Como desea ir multiplataforma con la aplicación, me gustaría considerar la creación de una aplicación híbrida. Puedes construir esto con javascript usando herramientas como cordova o Mobile App Development & MBaaS | Axway Appcelerator

También necesitará explorar la aplicación web del edificio para manejar los datos que van a un servidor / back-end. Este backend se puede escribir en php / Python / .net, etc.

Sería mejor comenzar con esta parte y hacer que la aplicación web sea receptiva para trabajar en dispositivos móviles.

Sin lugar a dudas use Sketchware de MIT. He visto muchos, pero este software puede hacer casi todo.

También puede agregar bases de datos escribiendo a mano el código dentro de los archivos de sketchware para Mysql o Sql-lite. Algo que incluso sketchware no comparte jajaja.

Para la aplicación de Android debes conocer Java o Kotlin y para iOS debes aprender Objective C o Swift