SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Gabriele Baldoni
Email: gabriele.baldoni@gmail.com
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 librerie
Es. 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 proprio
Il package http standard!!
Go on AppEngine
Cosa mi viene messo a disposizione da Google per migliorare
la 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 demo
preparata 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.slide
http://talks.golang.org/2013/bestpractices.slide
http://talks.golang.org/2011/Writing_Web_Apps_in_Go.pdf
Ringrazio Nunzio Giulio Caggegi del GDG Catania che mi ha aiutato
nella realizzazione della demo Android
Grazie per l’attenzione
Email: gabriele.baldoni@gmail.com
Sitoweb: gabrielebaldoni.altervista.org
Altro:
plus.google.com/u/0/+GabrieleBaldoni/
@gabry
Gabriele Baldoni

Weitere ähnliche Inhalte

Ähnlich wie Go on AppEngine

I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014Giulio De Donato
 
I came, i saw, i go - Cefaro and De Donato
I came, i saw, i go - Cefaro and De DonatoI came, i saw, i go - Cefaro and De Donato
I came, i saw, i go - Cefaro and De DonatoCodemotion
 
Tech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolTech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolCodemotion
 
Il PaaS di Google
Il PaaS di GoogleIl PaaS di Google
Il PaaS di GoogleMssiStf
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazioneDaniele Costarella
 
GAE python GDG Milano L04
GAE python GDG Milano L04GAE python GDG Milano L04
GAE python GDG Milano L04Paolo Dadda
 
Google app engine_gae_intro
Google app engine_gae_introGoogle app engine_gae_intro
Google app engine_gae_introfirenze-gtug
 
Sviluppare estensioni per google chrome
Sviluppare estensioni per google chromeSviluppare estensioni per google chrome
Sviluppare estensioni per google chromeMarco Vito Moscaritolo
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Antonio Gallo
 
Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT orientedfirenze-gtug
 
Job opportunities in_google_emea
Job opportunities in_google_emeaJob opportunities in_google_emea
Job opportunities in_google_emeafirenze-gtug
 
Strumenti online prima lezione 15 maggio
Strumenti online prima lezione 15 maggioStrumenti online prima lezione 15 maggio
Strumenti online prima lezione 15 maggioAntonio Todaro
 
Come essere produttivi nel lavoro grazie agli strumenti di google
Come essere produttivi nel lavoro grazie agli strumenti di googleCome essere produttivi nel lavoro grazie agli strumenti di google
Come essere produttivi nel lavoro grazie agli strumenti di googleRaul Cafini
 
Dal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDiego Giorgini
 

Ähnlich wie Go on AppEngine (20)

WordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWAWordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWA
 
Flash vs jQuery
Flash vs jQueryFlash vs jQuery
Flash vs jQuery
 
I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014
 
I came, i saw, i go - Cefaro and De Donato
I came, i saw, i go - Cefaro and De DonatoI came, i saw, i go - Cefaro and De Donato
I came, i saw, i go - Cefaro and De Donato
 
Tech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolTech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer Tool
 
Il PaaS di Google
Il PaaS di GoogleIl PaaS di Google
Il PaaS di Google
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
 
GAE python GDG Milano L04
GAE python GDG Milano L04GAE python GDG Milano L04
GAE python GDG Milano L04
 
Google app engine_gae_intro
Google app engine_gae_introGoogle app engine_gae_intro
Google app engine_gae_intro
 
Ok glass wdbs 2
Ok glass wdbs 2Ok glass wdbs 2
Ok glass wdbs 2
 
Html5
Html5Html5
Html5
 
App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
 
Sviluppare estensioni per google chrome
Sviluppare estensioni per google chromeSviluppare estensioni per google chrome
Sviluppare estensioni per google chrome
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
 
Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT oriented
 
Job opportunities in_google_emea
Job opportunities in_google_emeaJob opportunities in_google_emea
Job opportunities in_google_emea
 
Strumenti online prima lezione 15 maggio
Strumenti online prima lezione 15 maggioStrumenti online prima lezione 15 maggio
Strumenti online prima lezione 15 maggio
 
Come essere produttivi nel lavoro grazie agli strumenti di google
Come essere produttivi nel lavoro grazie agli strumenti di googleCome essere produttivi nel lavoro grazie agli strumenti di google
Come essere produttivi nel lavoro grazie agli strumenti di google
 
Dal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie Google
 
Xamarin DevOps
Xamarin DevOpsXamarin DevOps
Xamarin DevOps
 

Mehr von Gabriele Baldoni

Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Gabriele Baldoni
 
Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Gabriele Baldoni
 
Microservices power by unikernels
Microservices power by unikernelsMicroservices power by unikernels
Microservices power by unikernelsGabriele Baldoni
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloudGabriele Baldoni
 
Presentazione Google Cloud Messanging
Presentazione Google Cloud MessangingPresentazione Google Cloud Messanging
Presentazione Google Cloud MessangingGabriele Baldoni
 

Mehr von Gabriele Baldoni (6)

Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Fog computing with Eclipse fog05
Fog computing with Eclipse fog05
 
Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018
 
Microservices power by unikernels
Microservices power by unikernelsMicroservices power by unikernels
Microservices power by unikernels
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloud
 
SDN Cosa è?
SDN Cosa è?SDN Cosa è?
SDN Cosa è?
 
Presentazione Google Cloud Messanging
Presentazione Google Cloud MessangingPresentazione Google Cloud Messanging
Presentazione Google Cloud Messanging
 

Go on AppEngine