¿Cómo creo aplicaciones para teléfonos inteligentes?

Mi respuesta es con respecto al aprendizaje y desarrollo de aplicaciones Android e iOS (dispositivos inteligentes Android y dispositivos iOS)

Para Android :

Puede comenzar aprendiendo Core Java y familiarizarse con los conceptos de OOPS.
Tiene que ser muy fuerte en tipos de datos, clases / objetos, conceptos de interfaz, manejo de excepciones, subprocesos múltiples, manipulación de cadenas, utilidades, etc.

Una vez hecho esto, puede comenzar configurando el entorno de desarrollo para Android.

Puede usar Windows o Linux o Mac para desarrollar aplicaciones de Android (Smartphones / Tablets / Andr

oid Wear / Android Auto).

Puede referir este enlace para lo mismo: Crear su primera aplicación

También los tutoriales de Android de Vogella pueden ser una gran referencia para obtener todos los conceptos básicos necesarios para comenzar con su idea.

Desarrollo de Android

Para iOS:

Utilizará el lenguaje de programación Objective-C y / o Swift. Y se requieren los mismos conceptos de OOPS, tipos de datos, subprocesos múltiples, etc.

Necesita una Mac para instalar XCode y comenzar a desarrollar aplicaciones de iOS (iphone / iPad / Apple Watch / iTouch).

Puede consultar estos enlaces para comenzar:

iOS comenzando

Comience a desarrollar aplicaciones de iOS (Swift): salte directamente

En su mayoría, una aplicación móvil (empresa / consumidor) implicaría estas 5 cosas:

Interfaz de usuario
Conectividad (HTTP / S -> REST / SOAP, sockets, etc.)
Análisis de formato de intercambio de datos (XML, JSON)
Funciones específicas del dispositivo (cámara, GPS, etc.)
Almacenamiento local

Por lo tanto, debe adoptar ese enfoque e intentar crear una aplicación de muestra que lo familiarice con las áreas mencionadas anteriormente.

Espero que esto ayude.

Todo lo mejor !! Feliz aprendizaje 🙂

Si es desarrollador web y está tan familiarizado con JavaScript, HTML y CSS. No necesita aprender tantos idiomas referidos por @ Andrés Ibáñez, puede usar phonegap ( http://phonegap.com ) o titanium ( http://appcelerator.com ) para desarrollar una aplicación nativa móvil multiplataforma.

Bueno, por una vez necesitarás aprender inglés, porque el inglés es el idioma utilizado en los lenguajes de programación, por lo que debes aprender inglés para aprender C / C ++ (todos los lenguajes de programación populares están en inglés). Luego, basándose en eso, deberá elegir Java para aplicaciones de Android y Objective-C para aplicaciones de iOS