¿Cuál es el mejor lenguaje de programación para desarrollar aplicaciones móviles multiplataforma?

Puede escribir su aplicación en C ++ y luego usar NDK para compilar para Android y para iOS puede crear un contenedor rápido. Los pasos / tutoriales para hacerlo están a Google de distancia.

EDITAR:
Ok, así que sigue investigando. Estas formas no son las mejores formas de hacerlo si está creando una aplicación desde cero. Esto se entiende simplemente como una forma en que podría hacer su aplicación desde la misma base de código usando C o C ++. Esto no proporcionará el mejor resultado y todavía tendrá que diseñar la interfaz de usuario utilizando cualquier medio que normalmente diseñe para el dispositivo, para Android, supongo que es Android Studio y para iOS es Interface Builder.

Aquí le mostramos cómo comenzar a usar NDK para C / C ++ Android NDK | Desarrolladores de Android.

Aquí hay un documento de Apple sobre cómo hacer un contenedor Objective-C para C, todavía estoy tratando de rastrear el que muestra cómo hacerlo con C ++ pero aparentemente es lo mismo, excepto un contenedor Objective-C ++.
Interactuando con las API de C

Pero tenga en cuenta que si desea brindar a sus usuarios la mejor experiencia posible, debe usar cualquier idioma que los desarrolladores del sistema operativo usen en sus documentos, ya que eso es probablemente para lo que estaba destinado el sistema operativo y proporcionará menos dolores de cabeza en el futuro.

C / C ++ o JavaScript (con HTML y CSS)

Si tiene una aplicación ligera que está limitada principalmente por la entrada del usuario, JS es una buena opción. Hay bastantes plataformas móviles basadas en JS, toneladas de bibliotecas JS, y es un lenguaje muy popular. Me gusta bastante Intel® XDK para el desarrollo de JS móvil multiplataforma, pero hay otras plataformas populares como Appcelerator y Phonegap.

Si está haciendo algo pesado en gráficos o audio, o algo que necesita exprimir todos los recursos disponibles para el rendimiento, C / C ++ es compatible con todas las principales plataformas móviles. A veces tiene que escribir un pequeño código de pegamento en el idioma preferido de la plataforma, pero generalmente no mucho, y principalmente para el audio o la interfaz con los sistemas de mensajería de la plataforma (envíe un MMS, correo electrónico, etc.). Android e iOS también admiten gran parte de libc y POSIX. (Recomiendo C sobre C ++ ya que es más fácil integrarse con Obj-C en iOS. De hecho, la cadena de herramientas de Apple traduce Objective-C a C antes de compilar, por lo que todos los enlaces de la biblioteca están disponibles en C.)

JavaScript

Esta parece ser la dirección en la que van la mayoría de las empresas, incluidas Google y Apple, borrando las líneas entre las aplicaciones web y las aplicaciones nativas. HTML5 es increíblemente rico en funciones y amigable para los novatos, lo que efectivamente hace que el tiempo de desarrollo sea muy bajo. El sistema operativo móvil de Ubuntu también parece estar construido alrededor de aplicaciones web.

También leí que Google está planeando reemplazar Java con Dart como lenguaje para Android (Dart compila a JavaScript).

Ya hay una gran cantidad de frameworks de JavaScript como Ionic que pueden crear hermosas aplicaciones en muy poco tiempo.

Puede usar Javascript junto con proyectos como cordova y relacionados.
Aunque prácticamente puede crear aplicaciones para casi cualquier plataforma, seguirá teniendo dependencias. Por ejemplo, para implementar una aplicación en Apple Store, debe usar una Mac.

Eso depende de qué plataforma estés utilizando para desarrollar. Si usa Visual Studio o Unity, entonces usará C #, C ++ o JavaScript. No puedo pensar en ninguna otra plataforma de desarrollo multiplataforma específica, pero estoy seguro de que hay una que también usa Java.

https://www.visualstudio.com/en-…