BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

APP con datos en la nube

Ketere

estamos pensando en crear una app gratuita de agenda cultural a nivel local. en la que los usuarios puedan añadir eventos. (luego ya veremos si se añaden automaticamente, o nos llega un aviso para revisarlo y añadirlo después)

los eventos los guardaríamos en una BBDD o xml en la nube. y cada vez que se abra la app tendrá que conectarse a la nube, y descargarlo.

este archivo podriamos guardalo en google drive, dropbox o algun sistema parecido? o necesitamos contratar un servidor, y ello conlleva a pagar mensualmente?

a ver si alguien sabe algo y nos saca de dudas.

muchas gracias.

BocaDePez
BocaDePez

Un hosting para soportar esto puede costar un puñado de euros al año. Deberías quitarte de la cabeza la idea de racanear por este lado.

Aparte, tendrás que revisar tú los eventos, si no te van a trollear la app el mismo día que la lances.

BocaDePez
BocaDePez

Muy mala idea, porque sólo son gratuitos durante meses o si no superas cierto consumo, y una vez tengas que usar la parte de pago o les tienes que pagar o te tienes que ir a otro sitio, reescribiendo la parte de tu código donde abstraes el almacenamiento (o la app entera, si no sabes programar).

🗨️ 2
campi

Es mala idea por ser pago por uso ? Solo hay que ser cuidadoso, crear tus métricas y alarmas de facturación y listo.

🗨️ 1
BocaDePez
BocaDePez
1

Yo no recomendaría AWS a alguien que cree que puede poner el backend de una app en dropbox, pero bueno

Ketere

12 meses gratuitos?

Bisset

Hola,

Necesitáis un servidor.

Saludos.

🗨️ 4
Ketere

hola. puedes especificar mas? es de pago? de cuanto dinero estamos hablando?

🗨️ 3
Leste

Pues opciones hay para todos los gustos y precios.... Y si preguntas proveedor cada cual te va a hacer el cuento según sus opiniones....

Yo optaría por algún servidor en España o al menos que te ofrezca soporte en Español, ya que si no disponéis de conocimientos avanzados, será más fácil la comprensión entre el servicio técnico ante cualquier problema.....

🗨️ 2
Ketere

el archivo xml cuantos eventos tendra...? 100? no va a llegar a ocupar 1MB...

Ketere

y algun ejemplo? que es lo que tenemos que contratar?

vukits

niño, xml es para que sea humanamente legible.

como minimo tiene que ser json , que es como xml, pero para máquinas

🗨️ 6
Ketere

no hables en clave por favor.

digo que tendremos un archivo de poco mas de 1 megabyte

🗨️ 5
BocaDePez
BocaDePez

No es que hable en clave, pero no sabe de lo que habla.

rbetancor
1

¿y que tiene que ver que sea 1Mb de archivo?, ¿cuando sean 100Mb vas a usar el mismo "método" de backend de guardar el fichero en DropBox?

Las cosas, si se hacen, se hacen bien desde el principio, tienes bastante proyectos libres en Github de aplicaciones para la gestión de eventos, con su parte front-end y su parte backend ... que puedes levantar en una instancia de EC2.tiny si quieres, si te orientas a un público escaso. Pero por lo menos haz las cosas bien.

🗨️ 3
BocaDePez
BocaDePez

Nunca llegara a 100mb. Porque los eventos antiguos se iran borrando

🗨️ 2
rbetancor
1
🗨️ 1
Ketere
Spyd

Podrías crear una base de datos en SQLite y alojarla en Drive o Dropbox y descargarla entera cada vez que hay una modificación en la misma, pero eso provocaría unos gastos de transmisión de datos enormes para la gente que no usa Wifi. Además, en este sistema, tendrías que crear un sistema para recabar las actualizaciones de los clientes (por email, por ejemplo?) para añadirlas a mano (o mediante un script) para luego actualizar el archivo, y eso puede ser factible en aplicaciones muy pequeñas, pero si quieres hacer algo que tenga posibilidades reales de crecer, yo lo descartaría directamente.

Necesitas un servidor, aunque no tiene por que ser una barbaridad. Podrías pasar con algún plan de hosting web estándar que tuviera soporte para MySQL, PHP y que no tuviera límites de transferencia. Por dar un ejemplo en 1&1 eso son unos 10€ mensuales, más el coste del dominio (varía mucho, pero es fácil que sean unos 10€ al año por dominio).

También tienes que tener en cuenta el coste de publicar la aplicación en la tienda oficial de turno, por ejemplo en Google Play son unos 20€ + el 30% de los ingresos (sean por venta si es una app de pago o si obtienes ingresos por publicidad en una app gratuita).

Lo correcto sería hacer la aplicación en dos partes: un Webservice que se ejecuta en el servidor para gestionar las peticiones de la App del móvil. La consulta de los eventos se haría al momento, descargando sólo la mínima cantidad de datos a la app, con lo que ganaría en velocidad y no requeriría descargas de bases de datos cada vez que hay novedades, y también facilitaría que los datos aportados por los clientes se incluyeran en la base de datos de forma directa (incluso aunque requirieran aprovación para que salieran en los resultados).

Además, como más partes de la aplicación estén en el Webservice, más fácil te será portar la aplicación a distintas plataformas (iOS, SmartTV, navegadores Web, etc).

De todas formas es algo complicado poder explicar todos los detalles de un proyecto de este tipo en un foro. Te recomiendo que busques a un profesional que te podrá asesorar bien.

🗨️ 31
Ketere

osea. entiendo dos opciones.

1. la BBDD está en el servidor. se descarga al movil. y después ya solo se descargan los nuevos eventos, y se borran los antiguos.

2. instalar la BBDD en el servidor, (webservice). y descargar al movil unicamente las peticiones. por ejemplo, los eventos de hoy, y solo descargar lo que haya hoy. si en el movil voy al dia del sabado. que solo me descargue los eventos del sabado.

me das una opción que es instalar una BBDD SQLite en Drive o Dropbox, que son gratuitos. primeramente deberiamos empezar por aqui, ya que no tenemos dinero para gastar, ni tampoco para mantener la app. no vamos a ponerla de pago. será gratuita, o gratuita con publicidad (pero no se si realmente merece la pena, porque pagan 1 centimo por cada usuario/dia?)

asi que, podriamos ponerlo en Drive, y más adelante cambiarlo a un servidor de pago?

🗨️ 8
Spyd

Sobre el punto 1:

Cuando dices los "nuevos eventos", ¿cómo sabe la aplicación cuáles son?, quiero decir, ¿a partir de que fecha son nuevos? ¿Habrá en el servidor un archivo para cada actualización y la app se descargará todos los que son superiores a la fecha de la base de datos actual?

Este sistema puede servir, pero es lento si en la aplicación hace mucho que no actualizas, y también le quita inmediatez al funcionamiento de la app, y hoy en día nadie está dispuesto a esperar más de uno o dos segundos a que una app/web muestre los resultados.

También hay que tener en cuenta que esto también requiere que tengas disponible y actualices de vez en cuando una versión descargable completa de la base de datos, y eso también es trabajo de mantenimiento.

Y supongo que no valoras la opción de que los usuarios puedan aportar eventos, ya que eso aún complicaría más el sistema.

Sobre el punto 2:

Si, es como funciona cualquier web/app moderna. ¿Quieres ver los datos del sábado? pues los descargas al momento y listo. Instantáneo, apenas consume datos.

Sobre tener un presupuesto de 0€:

La opción 1, si luego quisieras pasar a la opción 2, tendrás que desechar prácticamente todo el código de gestión de los datos y el de las actualizaciones, ya que en ese aspecto la aplicación funcionará de forma radicalmente distinta.

Otra opción con presupuesto casi cero y haciendo directamente la opción 2, es coger un ordenador antiguo que no uses (o una raspberry Pi o similar), instalarle un LAMP y dejarlo en casa/trabajo funcionando 24/7 con los puertos necesarios (80) abiertos en el router y usar un DNS dinámico gratuito (por ejemplo DuckDNS) para que la app pueda acceder aunque te cambien la IP.

De esta forma puedes hacer la aplicación "como tiene que ser" y si la cosa funciona y puedes contratar un alojamiento profesional, sólo tienes que copiar los archivos y bases de datos, y cambiar el DNS para que la app apunte al nuevo alojamiento.

Eso es lo que yo haría.

🗨️ 7
Ketere

hola, no habia visto esta respuesta. empezando por el punto 2.

si pido los eventos de hoy, el servidor los busca los filtra y los pasa al movil. el movil unicamente los muestra. si le pido los de mañana, hace lo mismo. cada fecha sería una peticion al servidor, y el trabajo lo hace el servidor. y le pasa los datos al movil para mostrarlos.

después podría hacer una peticion en el movil, por ejemplo, X evento que dias sale? entonces el servidor busca ese evento X, todas las veces que se repite y se los pasa al movil.

este proceso es rapido? me queda la duda de si es mejor esto, o hacer esa busqueda en el movil. (ya me habeis dicho que pasar la BBDD completa al movil es una perdida de tiempo y datos mayor. pero una vez ya tenga la BBDD las busquedas de un sistema u otro varian en tiempo?)

gracias.

estoy informandome sobre mariaDB (que es una mejora/actualizacion de mysql). y android studio.

🗨️ 6
superllo
🗨️ 1
Spyd
🗨️ 3
Ketere
Ketere
🗨️ 1
Spyd
BocaDePez
BocaDePez

También es gratuito App Engine hasta cierto punto.

🗨️ 6
Ketere

pero veo que firebase es para crear apps? yo lo que busco es donde alojar la BBDD.

🗨️ 5
BocaDePez
BocaDePez
🗨️ 3
Ketere
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
Ketere
BocaDePez
BocaDePez
Spyd

No he trabajado nunca con Firebase, pero las limitaciones del plan gratuito son bastantes, y el primer plan (USD25 al mes) es exagerado, cuando por 10€ al mes tienes planes ilimitados en 1and1.

🗨️ 13
Ketere

gracias. voy a empezar por la bbdd. y de momento que pueda consultarse unicamente via web.

voy a ver que encuentro en 1and1

🗨️ 9
Bramante
🗨️ 8
Ketere
🗨️ 7
Bramante
🗨️ 4
BocaDePez
BocaDePez
🗨️ 1
Ketere
🗨️ 1
Spyd
🗨️ 1
Ketere
BocaDePez
BocaDePez

1and1 es carísimo, hay servidores VPS por 3€ al mes en OVH u Online.net

🗨️ 2
Spyd
🗨️ 1
BocaDePez
BocaDePez
Ketere

esto ya está casi en marcha. la BBDD funcionando. la web PHP funcionando. y el formulario también.

sólo nos falta adquirir el dominio y el servidor. algunos ofrecen X cuentas de correo, X espacio web...

pero va a ser una pagina sencilla, donde al entrar carguen los datos de la BBDD y un boton para añadir nuevos eventos.

necesitamos cuenta correo, espacio web,...etc?

muchas gracias por vuestra colaboración. esperamos estar online pronto