¿Puede proporcionar sugerencias para alguien con cero experiencia tecnológica en lo que usted cree que es el camino más eficiente y valioso para aprender la arquitectura de programación tradicional que también será productiva para seguir trabajando como desarrollador / diseñador web?

Python es una gran opción para cualquiera que quiera aprender programación y quiera usar este conocimiento en muchos dominios diferentes.
Sin embargo, si apunta específicamente a Android, me temo que tendrá que aprender Java, ya que este es el lenguaje utilizado para desarrollar aplicaciones nativas en esta plataforma.

De todos modos, aprender Python no te hará daño. Es un lenguaje excelente, flexible, fácil y poderoso y le servirá mucho más allá de su objetivo específico.

En cuanto a la “web móvil”, hay dos formas de hacerlo. Aplicaciones nativas o aplicaciones web.
Las aplicaciones nativas son aquellas hechas específicamente para una plataforma (Android, iOs, etc.). Estos se instalan en su teléfono y no se pueden instalar en otros teléfonos incompatibles sin modificación.
Las aplicaciones web, en cambio, se crean con estándares web abiertos (html5, javascript, css, etc.) para que funcionen en cualquier teléfono móvil que tenga un navegador web (todos ellos).

Si desea hacer aplicaciones web, debe aprender HTML5, CSS, Javascript y algunos marcos. Todo esto es para el lado del cliente (lo que se ejecuta en el navegador), pero también necesitará saber qué se ejecuta en el lado del servidor (al menos una base de datos y un lenguaje de programación del lado del servidor). El lenguaje de programación que se utilizará para el desarrollo del lado del servidor podría ser cualquier persona compatible con el servidor. Si es su propio servidor, puede configurarlo de la forma que desee.

Hoy en día es posible usar JavaScript también en el servidor, gracias a Node.js.
Pero Python es un gran candidato para esta tarea.

Me parece que quieres hacer trabajo de front end en lugar de back end. Desde mi experiencia, solo uso php (caso de uso similar a python) para el trabajo de fondo como consultas de bases de datos. Si desea construir el front-end de aplicaciones móviles, querrá pasar el 90% de su tiempo en Android (Java Powering xml) o en un marco de sitio web (JavaScript Powering html).

Los tutoriales, como su primera aplicación, en Android son realmente útiles y aprendí un montón de tiempo atrás, casi todo lo que necesita saber. Son un poco difíciles de entender pero contienen todo lo que necesitas saber. El único requisito que probablemente necesitará saber es qué es una clase. 30 minutos de google para aprender.

Si te diriges hacia el desarrollo móvil, probablemente quieras ir con una de las opciones que mencionó Luis Gonzales. El nativo es el mejor pero el más difícil.

Para las aplicaciones web sugeriría Cordova, o similar. Además, pronto surgirá uno nuevo, llamado NativeScript (Desarrollo nativo multiplataforma con Javascript). Podrías echarle un vistazo. Utiliza tecnologías web como XML, JavaScript, Angular, etc. js libs, pero se convierte (realmente) en código nativo. Y lo hace notablemente para las tres plataformas más populares: Android, iOS y Windows Phone.

Hasta aquí todo bien. Ahora el backend, como lo mencionó Luis, podría ir por varios caminos diferentes. Python debería ser bueno con algunos MySQL para la capa DB. No tengo experiencia con Python, pero sí con Ruby on Rails. Podría decir que ambos son realmente expresivos y que ambos (tienden a favorecer a Rails) tienen una comunidad realmente genial desarrollando paquetes (gemas para Ruby) que realmente podrían impulsar su aplicación y ahorrarle un montón de tiempo. Si puedo agregar (como dije que soy biosco) Ruby on Rails se está dirigiendo últimamente hacia el perfil API del software web, por lo que incluso será mejor para desarrollar API para aplicaciones móviles.

Espero que mi respuesta te haya dado alguna buena información e ideas.

Verifique el nanoprograma de Udacity. Son programas centrados en la carrera que se ven muy interesantes 🙂

Nanodegree: un nuevo tipo de credencial para trabajos en tecnología

More Interesting

Cómo hacer una aplicación donde los usuarios ingresen información en el sitio web o la aplicación móvil, la información se envíe a un servidor para su cómputo, y la salida se muestra al usuario

¿Creas aplicaciones / sitios web?

¿Qué herramientas de productividad utilizas como una pequeña empresa de desarrollo de aplicaciones web y móviles?

Para el desarrollo de aplicaciones móviles, ¿es React mejor que Angular cuando la prioridad principal es la representación del lado del usuario?

Desarrollo de aplicaciones web, ¿cuál es el mejor lenguaje para php o python backend web móvil?

¿Cuáles son las diferencias entre sitios web y aplicaciones web?

Cómo desarrollar una aplicación multiplataforma

Cómo obtener ideas para crear una aplicación

¿Cuáles son los principales desafíos cuando se localiza una aplicación móvil?

¿Cuál es el costo de desarrollar una aplicación con varias características buenas?

¿Puedo usar Firebase como back-end para mi aplicación móvil tipo Uber?

¿AppEngine es mejor que Node.js o MongoDB para desarrollar un backend de aplicaciones móviles?

¿Cuál es la mejor herramienta de prueba de control de calidad para el desarrollo de aplicaciones móviles?

¿Qué marco Java debo usar como sistema de mensajería interna entre usuarios en una aplicación móvil social?

¿Debería tener mi propia base de datos para mi aplicación web y aplicación móvil o debería usar un BaaS de terceros como Parse / Build Realtime Apps - Firebase?