Quiero desarrollar un back-end para una aplicación de Android. ¿Qué tecnología debo usar?

Depende de muchos factores, como cuál es su experiencia en programación, qué tan rápido puede aprender cosas nuevas, cuánto conocimiento tiene sobre los fundamentos de RESTFul y API, etc.

He tenido experiencia en el desarrollo de backend de aplicaciones móviles usando PHP con Laravel y python con Flask.

Conocía PHP antes, así que sin perder mucho tiempo aprendiendo un idioma más, investigué un poco y descubrí que Laravel es el mejor marco MVC según mi necesidad y comencé a codificar. Aprendí mucho de él, especialmente los fundamentos de REST y el desarrollo web.

Luego tuve que trabajar en Machine Learning para mi aplicación de Android, que solo podía hacerse en Python, aprendí Python y escribí todo el código en Flask (recuerde, mis fundamentos eran claros) ya que es un micro marco basado en MVC en Python.

La idea es que comiences con algo que ya sabes, de lo contrario nunca comenzarás. Puede enfrentar desafíos a medida que las cosas se amplían, que todos enfrentan. Entonces necesitas aprender algo más, implementarlo y hacer que las cosas funcionen.

Dado que el backend vivirá en el servidor; Yo diría que deberías usar cualquier tecnología del lado del servidor con la que te sientas cómodo.
Personalmente uso PHP para todos mis backends, pero puedes optar por Ruby, Python (lo que sea que quieras), pero toma nota para enviar tus respuestas en un formato apropiado (por ejemplo, JSON) que se pueda decodificar fácilmente dentro de tu aplicación.
Que te diviertas.

Hay muchas consideraciones al elegir una plataforma del lado del servidor, y muchas opciones. Elegir uno es complicado. Lo bueno es que la mayoría de las opciones estarán bien. Hay compensaciones, pero la mayoría de sus opciones no serán una / mala / elección, solo un conjunto diferente de compensaciones.

Existen plataformas diseñadas para ser backends móviles (Parse, servicios móviles de Azure, etc.), plataformas en la nube (IaaS, PaaS), virtualización, hosting compartido y dedicado. Existen diferentes lenguajes (Java, Ruby, Python, PHP). Usted y / o su equipo tendrán algunos niveles de familiaridad con los diferentes idiomas y plataformas. Los modelos de precios y ganancias para las plataformas varían. Las diferentes plataformas abordan la concurrencia de diferentes maneras. Algunas plataformas son mejores para integraciones externas que otras. El rendimiento varía de una plataforma, lenguaje y arquitectura a otra, y los criterios de rendimiento de su aplicación específicos para su aplicación.
Es una decisión compleja y hay muchas opciones.

Suponiendo que la aplicación de Android está escrita en Java, el uso de Java en el servidor le permitiría compartir un código potencialmente que tiene algunos méritos, así como también usar el mismo conjunto de habilidades. Dicho esto, la familiaridad y el intercambio de código son solo dos aspectos de la amplia gama de compensaciones que tiene que hacer.

Hay muchas opciones específicas enumeradas por otros comentaristas aquí, pero en última instancia, tendrá que considerar sus necesidades, ver algunas de las opciones y tomar una decisión.

Bueno, esta pregunta es bastante amplia ya que necesita disociar el software / servicio de alojamiento y el software que desea escribir:

– Para la parte de hosting:

– Tiene la solución de PaaS en la nube, como Google App Engine, Azure, Parse, etc. Todos estos servicios funcionarán con un enfoque de “pago por uso” con nivel gratuito (es decir, consumo gratuito si no escala). Es una solución agradable y fácil, ya que no tiene que preocuparse demasiado por cosas que no son realmente relevantes (como configurar su servidor, realizar actualizaciones, preocuparse por el apagado del servidor, etc.)

– Tienes la solución de IaaS en la nube como Google Compute Engine, Amazon (AWS), Azure, etc. Esta vez tienes una máquina virtual: significa que básicamente tienes un servidor Linux y tienes que hacer todo (instala el servidor que quieras desea, como Apache, IIS, Node.js, Ruby On Rails, Java, etc. Instale la base de datos, etc.). Debe comprender que si se escala, es mucho trabajo diseñar una nueva arquitectura (¿qué servidor necesito? ¿Dónde pongo mi DB? Etc.) También es una solución de “pago por uso” con ” escala fácil “al principio (básicamente solo tienes que presionar un botón para hacer que tu servidor sea más potente) pero al final, no puedes hacerlo indefinidamente, así que terminarás configurando nuevos servidores con más preocupaciones …

– Puede alquilar un servidor y hacer lo que quiera con él (será lo mismo que la solución IaaS, solo un sistema Linux), pero esta vez no hay capacidad de ampliación … Puede ser la solución más barata pero también arriesgado porque la noche en que saltas de poca actividad a MUCHA actividad, querrás llorar: / (y será mucho trabajo).

Entonces, básicamente, por el precio => alquilar un servidor. Para la escalabilidad => PaaS.
(Es mi punto de vista, puede ser defectuoso).

– Para la parte de software:

Bueno, realmente depende de qué servicio desea proporcionar y de lo que ya domina. Puedes hacer Java, Ruby, Python, Node.js, .NET, PHP, etc. Cada uno de ellos puede hacer cualquier cosa. Las preguntas para hacer es:

– ¿Ya conozco los conceptos básicos del idioma?

– ¿Me gusta cómo está construido y cómo funciona?

– ¿Hay alguna documentación relacionada con lo que quiero hacer escrita con este idioma en Internet?

Bueno, creo que es casi todo lo que podemos responder =)

Tengo casi 68 aplicaciones en el mercado, pocas se descargan más de 1 millón. Google Play Store e IOS ambos.

Es muy simple usar algunos de los proveedores de servicios de fondo como Parse (va a fallar en algunos meses) obtener una alternativa de análisis, son gratuitos para aplicaciones pequeñas e incluso si necesita pagar algo, será menor en comparación con el final de Beck por cuenta propia

aún así quieres crear tu back end. puede crear su back-end usando cualquiera de las tecnologías en las que es bueno, puede ser Java, PHP o .net, ya que va a usar el servicio web, por lo que no importa qué tecnología use en el back-end.

Sugeriría usar cualquier CMS como WordPress y usar su blog como xml o json en su aplicación si solo muestra los datos. de lo contrario, necesita personalizar un poco las tesis CMS. para su uso No te sugiero que crees ningún back-end desde cero, ya que lleva demasiado tiempo. A medida que su aplicación crezca, siga trabajando en su back end. Esto es lo que hice hace 3 años cuando comencé mi aplicación.

Aquí hay algunas opciones:

  1. Java : cuando la aplicación será utilizada por una gran base de empresas / usuarios e implica una lógica empresarial súper compleja además de que el cliente (o usted) tiene suficiente dinero para pagar un servidor multinúcleo de 4 GB. La elección de la base de datos sería Oracle o MySQL o DB2.
  2. DotNet: ¿En serio? Esta es una tecnología restringida ‘muerta’. Funciona de la misma manera que Java, PERO pide dinero. Por lo tanto, incluya el costo del servidor + licencia de Windows. Elección de base de datos: MS SQL, MySQL.
  3. NodeJS: cuando la aplicación será utilizada por aproximadamente 1 millón de usuarios y no tenga suficiente dinero para gastar en el servidor (se necesitan al menos 512 MB de RAM). Si la aplicación no implica leer y escribir archivos desde el disco duro, puede crear un backend increíble con un rendimiento mortal con bases de datos como PostgreSQL o MongoDB, CouchDB.
  4. PHP: cuando la base de usuarios es de aproximadamente 500 y no hay servicio en tiempo real y tiene 0 dinero para gastar en el servidor y tiene una mentalidad como ‘ [correo electrónico protegido] % # rendimiento’, entonces definitivamente puede optar por PHP. Elección de la base de datos: MySQL, MariaDB, etc.

Para el backend deberías usar Node.Js. Es muy ligero para crear API y fácil de aprender.
Para mantener la base de datos, puede usar MongoDB.

Campo de golf:-
Nodo.Js
Node.js v0.12.7 Manual y documentación
Videos y tutoriales de thenewboston

MongoDB
Videos y tutoriales de thenewboston

Para conectar API con base de datos
Videos y tutoriales de thenewboston

Bueno, hay varias formas de crear un back-end para aplicaciones de Android.
1) Puede optar por Google SQL Cloud Backend, pero es bastante costoso para uso personal.
2) Puede optar por PHP-JSON, generalmente conocido como JSON Parsing.
Que básicamente sigue la arquitectura cliente – servidor.
Android como cliente y servidor web como servidor y PHP como lenguaje de programación del lado del servidor.

Pero es bastante complicado en comparación con el backend de Google Sql Cloud.

Sin dar una indicación de lo que quiere que haga el back end, esta pregunta es muy abierta.
¿Necesita … baja latencia, gran ancho de banda, soporte siempre conectado o desconectado, actualizaciones de alta frecuencia, datos siempre dinámicos o en su mayoría estáticos, intercambio simultáneo con otros, y muchas más preguntas me vienen a la mente.

Es posible que simplemente descubra que si lee lo que Google Play Services puede hacer por usted, ¡obtendrá su respuesta allí mismo!

El mejor backend para una aplicación de Android es el análisis.
https: // www . analizar .com /

La documentación es muy fácil. y las mayores ventajas es que incluso podrías crear más de una aplicación y usar parse como backend.

Parse hace la vida más fácil para el desarrollo de Android.

ya que android está escrito principalmente en java … usar JSP como backend sería más o menos similar. Pero personalmente uso php, ya que es más flexible y liviano. Independientemente del backend que utilice, el análisis JSON es obligatorio, espero que lo sepa.

Eche un vistazo a django rest framework Django REST framework: las API son fáciles

Si :

  • usted es básicamente un desarrollador móvil sin una buena experiencia en el lenguaje del servidor
  • no sabe si necesitará escalabilidad para su proyecto (podría pero no está seguro)
  • si necesita probar la idea sobre su aplicación lo antes posible y está dispuesto a revisar la arquitectura del servidor más adelante si su idea es exitosa

Me gustaría ir con Mobile Backend como proveedor de servicios como Back4App, Firebase, SashiDo. Puede tener backend para aplicaciones pequeñas de forma gratuita o casi.

La respuesta de Akshay Narula a Quiero que mi aplicación de Android obtenga datos de una aplicación web externa. ¿Cómo debo hacerlo?

Dado que está utilizando Android Studio, significa que está familiarizado con Android y Java. Entonces, la primavera será una mejor opción.

este enlace puede ayudar
Tutorial de primavera

Sugeriría ir a Parse. Es realmente agradable y también proporciona espacio libre.

usar firebase

En este momento hay un curso sobre Udacity para AppEngine. Estoy en la lección 2, pero parece prometedor. Dale una oportunidad.

Usa lo que sabes para construir el backend. Decida si desea que sea impulsado por API (generalmente la mejor solución) para manejar el tráfico web y móvil.

More Interesting

Estoy buscando comprar un teclado con una sola mano para descansar sobre la muñeca o investigar para hacer uno. ¿Alguien sabe si hay prioridad para esto (que no utiliza el orden de las teclas QWERTY, me imagino que el orden de las teclas no es casi eficiente para la operación con una sola mano), o existe uno?

Encontré un ejecutable llamado .backdoor en un cuadro ReadyNAS basado en Linux en mi casa. No sé si esto era parte del sistema operativo, pero parece sospechoso como el infierno. ¿Qué tengo que hacer?

Accidentalmente abrí la ducha y duché mi computadora. ¿Se romperá mi computadora?

Utilizo una conexión LAN de albergue y otros piratean mi ancho de banda. ¿Cómo puedo resolver este problema (Netcut defender no puede resolver este problema)?

Estoy planeando comprar un dron. ¿Hay otros costos ocultos como registrar el dron?

Estoy dispuesto a hacer un dron para mi proyecto. ¿Cómo debo comenzar a obtener información completa sobre los drones?

Tengo un pen drive de 16GB pero ahora solo muestra 4 MB. ¿Como puedo resolver esto?

Si me transportaran 1000 años atrás, ¿haría daño o bien si le contara a la gente todo lo que pudiera sobre la tecnología moderna?

Pierdo mucho mi billetera. ¿Cuáles son algunas soluciones baratas que podrían ayudarme?

Tengo un equipo de desarrolladores, diseñadores y expertos en SEO. Y quiero que alguien que desarrolle servicios web externos trabaje regularmente para nosotros y nos encargamos de todas las necesidades de diseño y desarrollo. Por favor, hágamelo saber, ¿cómo debo acercarme a tales personas o empresas? La URL de mi empresa es la página en Www

Quiero acceder a mi antiguo archivo OST pero no puedo hacerlo. ¿Cómo puedo abrirlo y acceder a los datos?

Me gustaría llevar un segundo teléfono que no sea un teléfono inteligente. ¿Qué marca preferirías y por qué?

Tengo 50,000 INR (750 USD) para mi configuración de juego, ¿qué debo comprar?

Si llevo el último teléfono inteligente al año 2000, usando la tecnología allí, ¿es posible replicarlo?

Soy un estudiante universitario techy que busca una pasantía de verano en el Área de la Bahía, ¿a quién puedo contactar?