Este documento describe Google App Engine (GAE) como una plataforma para crear backends para aplicaciones móviles. GAE permite ejecutar aplicaciones web en la infraestructura de Google de manera escalable y rentable. Incluye información sobre lenguajes de programación compatibles, características clave como escalabilidad automática y alojamiento rentable, y APIs centrales como Datastore para almacenamiento de datos. También discute ventajas como la facilidad de creación y mantenimiento de aplicaciones, e inconvenientes como la portabilidad nula y herramient
5. GAE como backend de apps mobile
IDEA
● Project: Bares de tapeo en
Granada
6. GAE como backend de apps mobile
¿Qué es GAE?
● GAE es PaaS
● GAE permite ejecutar aplicaciones web en las
infraestructuras de Google
● Características:
○ Las aplicaciones son fáciles de crear, de mantener
y de escalar.
○ Dominio propio o un subdominio http:
//subdominio.appspot.com
7. GAE como backend de apps mobile
¿Qué es GAE?
● Lenguajes de programación:
○ Python
○ Java
○ Go ¡¡Experimental!!
○ PHP ¡¡Experimental!!
●
●
●
●
Pago por consumo
Alta disponibilidad y alta replicación
Administración remota
SDK con entorno de desarrollo local
8. GAE como backend de apps mobile
Comparaciones
● Desarrollo de webapps:
● Frameworks usados:
9. GAE como backend de apps mobile
Ventajas
● Escalabilidad automática.
● Alojamiento rentable
○ Para prototipos
○ Para webs/plataformas
○ Cuota gratuita: 500MB de DB y 5 millones de
visitas mensuales ~ Valores aprox.
10. GAE como backend de apps mobile
Inconvenientes
● Portabilidad
nula
11. GAE como backend de apps mobile
Inconvenientes
● Herramientas
muy limitadas
12. GAE como backend de apps mobile
Inconvenientes
● Debora recursos
14. GAE como backend de apps mobile
Datastore
● Base de datos NOSQL
● Datastore es muy rápido
● Datastore: ¡¡CUESTA DINERO!!
● Interfaz de consulta a través de una cadena, GQL
(Google Query Language)
● GQL no puede ejecutar JOINS en las consultas
SELECT
18. GAE como backend de apps mobile
Datastore
● Características del database:
19. GAE como backend de apps mobile
Datastore
● Características del database:
20. GAE como backend de apps mobile
Datastore
● Características del database:
21. GAE como backend de apps mobile
Datastore
● Características del database:
22. GAE como backend de apps mobile
Datastore
Entity != Entrada
● Dos entities del mismo Kind no tienen porqué tener las
mismas propiedades
● Una propiedad puede contener uno o múltiples valores
● Las Queries son para echarles de comer a parte
● Indexes!!
23. GAE como backend de apps mobile
Datastore
Entity != Entrada
● Dos entities del mismo Kind no tienen porqué tener las
mismas propiedades
● Una propiedad puede contener uno o múltiples
valores
● Las Queries son para echarles de comer a parte
● Indexes!!
24. GAE como backend de apps mobile
Datastore
Entity != Entrada
● Dos entities del mismo Kind no tienen porqué tener las
mismas propiedades
● Una propiedad puede contener uno o múltiples valores
● Las Queries son para echarles de comer a parte
● Indexes!!
25. GAE como backend de apps mobile
Añadir, recuperar, modificar y eliminar
27. GAE como backend de apps mobile
Objectify
● Permite modelar las Entities como clases (a lo ORM)
● Menos verbosa que al API de bajo nivel del Datastore
● Realiza optimizaciones por nosotros (p.e. cachea
resultados)
32. GAE como backend de apps mobile
En GAE..
● Ejecutar una instancia
cuesta dinero
● El datastore cuesta
dinero
● Hacer las cosas mal
puede costar mucho
dinero
33. GAE como backend de apps mobile
{ GDG -> Dev Gift }
https://cloud.google.com/resources/starterpack/
35. GAE como backend de apps mobile
Recursos
● Documentación de GAE (Español)
● GAE Console Admin
● Training GAE (English)
● Codelab: GAE using Python (English)
● Github: Google Cloud Platform