Download - Go on AppEngine
Gabriele Baldoni
Email: [email protected]
Sitoweb: gabrielebaldoni.altervista.org
Altro:
plus.google.com/u/0/+GabrieleBaldoni/
@gabry
Go on AppEngine
Cos’è Google AppEngine?
Google AppEngine è una PaaS (Platform-as-a-Service) fornita
da Google.
Cos’è GoLang?
GoLang è un linguaggio di programmazione rilasciato da Google
Go on AppEngine
+
Go è la runtime più veloce che è possibile utilizzare su App Engine
=
Go on AppEngine
Sembra tutto molto bello, ma è difficile utilizzare Go su AppEngine?
Assolutamente no, anzi la Go runtime di AppEngine fornisce un Interfaccia simile al package http standard di Go!
Ovviamente ci sono delle limitazioni su alcune librerieEs. scrittura di file su disco
Go on AppEngine
Non ti ho ancora convinto!?!?Vediamo il classico «Hello,World!»
package hello
import (
"fmt"
"net/http"
)
func init() {
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello, world!")
}
Sembra proprioIl package http standard!!
Go on AppEngine
Cosa mi viene messo a disposizione da Google per migliorarela mia WebApp/WebService?
• Datastore• Google Cloud SQL• Memcache• Channel API• Images • Log API• Mail API• Task Queue• Url Fetch• … e molto altro!
Go on AppEngine
Adesso diamo un piccolo sguardo al codice con una demopreparata appositamente per la DevFest…
GDG Catania TicTacToe!!
Caratteristiche:• IA (non molto intelligente) completamente in Go• Backend in Go su AppEngine• Storico delle partite salvato su Datastore• Accesso tramite Google Account• Leaderboard
Scaricala!!
Go on AppEngine
Cosa è stato utilizzato per sviluppare la demo
• Datastore• OAuth (su Android)• … e molte caratteristiche di Go
Go on AppEngine
Obiettivi della demo:
• Illustrare come è possibile realizzare un backend per un App Android in Go• Garantire tempi di risposta brevi• Salvare le partite e gli utenti sul Datastore
Guardiamo assieme il codice!
Go on AppEngine
Vediamo adesso come è stato utilizzato il Datastore
Due indici:• Utenti (Nome,emaili)• Risultati(email,risultato)
Guardiamo assieme il codice!
Go on AppEngine
Domande??
Go on AppEngine
Riferimenti:
https://cloud.google.com/appengine/docs/go/http://talks.golang.org/2013/highperf.slidehttp://talks.golang.org/2013/bestpractices.slidehttp://talks.golang.org/2011/Writing_Web_Apps_in_Go.pdf
Ringrazio Nunzio Giulio Caggegi del GDG Catania che mi ha aiutatonella realizzazione della demo Android
Grazie per l’attenzione
Email: [email protected]
Sitoweb: gabrielebaldoni.altervista.org
Altro:
plus.google.com/u/0/+GabrieleBaldoni/
@gabry
Gabriele Baldoni