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).
- ¿Puedo desarrollar y publicar una aplicación de Android con habilidades intermedias de Java dentro de 3-4 meses?
- ¿Qué son las imágenes de recuperación de Android?
- ¿Cómo puedo hacer mi propia aplicación en un Android o una PC?
- Cómo localizar imágenes de proyectos de estudio de Android en línea para que puedan descargarse
- ¿Cuáles son algunos consejos y trucos que todo desarrollador de Android debe saber?
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.