Sé cómo desarrollar aplicaciones simples de Android que almacenan datos localmente. ¿Qué habilidades de software debo aprender a continuación para crear aplicaciones que puedan manejar la sincronización en línea?

No estoy seguro de lo que quieres decir con atajos. Pero hablando de backend, ¿quiere decir que quiere construir su propio servicio de backend y tiene planes de construir un servidor de backend como negocio?

Si está en el negocio de las aplicaciones y sus requisitos son ‘tener un servicio de back-end para su aplicación’, debe optar por algunos BaaS o SaaS. Hay muchos servicios con plan gratuito. Elija uno que se ajuste a su aplicación. Este es el camino más rápido para tener su aplicación en funcionamiento. Es por eso que hay muchos servicios de back-end disponibles como QuickBlox (página en quickblox.com), Firebase (Build Realtime Apps), polljoy (https://polljoy.com), Flurry (https://flurry.com), etc. .

Pero si está considerando obtener más conocimiento y cómo ejecutar un back-end, puede considerar AWS free-tier con LAMP stack. Solo unos pocos clics y puede tener su servidor en funcionamiento para su desarrollo y pruebas. Luego puede elegir PHP / MySQL o Rudy … etc. como su plataforma principal. Después de familiarizarse con la tecnología y los conocimientos básicos, puede considerar la arquitectura moviendo la base de datos para separar la instancia de base de datos, configurar la seguridad … etc. La mayoría de la plataforma en la nube tiene un servicio de respaldo para respaldar sus archivos y datos.

Para un sistema en vivo, normalmente tendrán al menos 2 plataformas (o 3) para desarrollo y pruebas y separadas (instancia más potente) para producción.

¡Admiro tu ambición ya que esta es una lista enorme! No es imposible, pero hay una razón por la cual los desarrolladores de aplicaciones y los desarrolladores de servicios de fondo se han convertido en roles especializados, a saber, que dominar las habilidades requeridas en cada dominio lleva tiempo. Sin embargo, los especialistas deben comprender lo que sucede en el otro lado, ya que los hace desarrolladores mejores y más capaces. Entonces, sugerencias:

  1. Back End: ¡elecciones, elecciones! Supongamos que has aprendido Java. Google Cloud Platform es un buen lugar para comenzar a funcionar, ya que le permite concentrarse en la lógica empresarial y proporciona todos los demás servicios listos para usar. También hay node.js, si no le importa aprender Javascript y hacer un mayor esfuerzo para proporcionar los otros servicios que necesita. Si desea seguir con Java pero no quiere ejecutarlo en Google, elija un marco como Play! ¡y prepárate para una empinada curva de aprendizaje! Sin embargo, estos marcos a menudo vienen con muchos complementos para ayudar con todo tipo de interacciones estándar cliente / servidor.
  2. ¿Cómo configurar servidores? Google Cloud Platform lo llevará a un largo camino, pero si desea conocer los principios involucrados, debe aprender sobre redundancia, escalabilidad y comenzar a pensar en servicios sin estado, por ejemplo, implementando API REST, probablemente con JSON como el tipo de carga útil. Nuevamente, las bibliotecas de framework proporcionarán mucho de esto, pero esas son las áreas en las que debe pensar. Especificar e implementar servicios está bien, pero los datos deben ser persistentes, lo que nos lleva a …
  3. Persistencia de fondo: para SQL o NoSQL, esa es la pregunta. Entrar en el mundo del almacenamiento de datos es otra espe