dal cloud al mobile con tecnologie google

114
FLY S.O.S. "Dallo sviluppo cloud a quello mobile con tecnologie Google" http://www.7seeds.info

Upload: diego-giorgini

Post on 05-Jul-2015

436 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Dal cloud al mobile con tecnologie Google

FLY S.O.S."Dallo sviluppo cloud a quello mobile con

tecnologie Google"

http://www.7seeds.info

Page 2: Dal cloud al mobile con tecnologie Google

Chi siamo

http://www.7seeds.info

Page 3: Dal cloud al mobile con tecnologie Google

Chi siamo

http://www.7seeds.info

Page 4: Dal cloud al mobile con tecnologie Google

1. Il progetto2. L’architettura3. Tecnologie Google per lo sviluppo

1. Google App Engine2. Google Web Toolkit3. Android SDK

4. Sviluppo web oriented1. Web compliant2. API REST3. Formato JSON4. Autenticazione

5. Modello di sviluppo

Parleremo di

Page 5: Dal cloud al mobile con tecnologie Google

DEMOhttp://www.rescueme.7seeds.info

Page 6: Dal cloud al mobile con tecnologie Google

L’architettura

Page 7: Dal cloud al mobile con tecnologie Google
Page 8: Dal cloud al mobile con tecnologie Google

API RESTRisposta JSON

oAuth2

Page 9: Dal cloud al mobile con tecnologie Google

Tecnologie Google per lo sviluppo

Page 10: Dal cloud al mobile con tecnologie Google

BACKEND: Google App Engine

Page 11: Dal cloud al mobile con tecnologie Google

BACKEND: Google App Engine

Page 12: Dal cloud al mobile con tecnologie Google

BACKEND: Google App Engine

Cloud by Google: Platform as a Service

Page 13: Dal cloud al mobile con tecnologie Google

BACKEND: Google App Engine

Cloud by Google: Platform as a Service• Piattaforma pronta per la pubblicazione

Page 14: Dal cloud al mobile con tecnologie Google

BACKEND: Google App Engine

Cloud by Google: Platform as a Service• Piattaforma pronta per la pubblicazione• Autoscaling delle applicazioni

Page 15: Dal cloud al mobile con tecnologie Google

BACKEND: Google App Engine

Cloud by Google: Platform as a Service• Piattaforma pronta per la pubblicazione• Autoscaling delle applicazioni

Offre account gratuiti limitati

Page 16: Dal cloud al mobile con tecnologie Google

BACKEND: Google App Engine

Cloud by Google: Platform as a Service• Piattaforma pronta per la pubblicazione• Autoscaling delle applicazioni

Offre account gratuiti limitati• Limiti giornalieri sulle risorse

Page 17: Dal cloud al mobile con tecnologie Google

BACKEND: Google App Engine

Cloud by Google: Platform as a Service• Piattaforma pronta per la pubblicazione• Autoscaling delle applicazioni

Offre account gratuiti limitati• Limiti giornalieri sulle risorse• Pagamento a consumo

Page 18: Dal cloud al mobile con tecnologie Google

App Engine - Features

Page 19: Dal cloud al mobile con tecnologie Google

App Engine - Features

Ricca offerta di API e tecnologie

Page 20: Dal cloud al mobile con tecnologie Google

App Engine - Features

Ricca offerta di API e tecnologie• Linguaggi supportati: Java, Python

Page 21: Dal cloud al mobile con tecnologie Google

App Engine - Features

Ricca offerta di API e tecnologie• Linguaggi supportati: Java, Python• Supporto a diverse tecnologie out-of-the-box

Page 22: Dal cloud al mobile con tecnologie Google

App Engine - Features

Ricca offerta di API e tecnologie• Linguaggi supportati: Java, Python• Supporto a diverse tecnologie out-of-the-box

• Datastore

Page 23: Dal cloud al mobile con tecnologie Google

App Engine - Features

Ricca offerta di API e tecnologie• Linguaggi supportati: Java, Python• Supporto a diverse tecnologie out-of-the-box

• Datastore• Memcache

Page 24: Dal cloud al mobile con tecnologie Google

App Engine - Features

Ricca offerta di API e tecnologie• Linguaggi supportati: Java, Python• Supporto a diverse tecnologie out-of-the-box

• Datastore• Memcache• XMPP server

Page 25: Dal cloud al mobile con tecnologie Google

App Engine - Features

Ricca offerta di API e tecnologie• Linguaggi supportati: Java, Python• Supporto a diverse tecnologie out-of-the-box

• Datastore• Memcache• XMPP server• Task Queue

Page 26: Dal cloud al mobile con tecnologie Google

App Engine - Features

Ricca offerta di API e tecnologie• Linguaggi supportati: Java, Python• Supporto a diverse tecnologie out-of-the-box

• Datastore• Memcache• XMPP server• Task Queue

• Accesso a API Google (autenticazione)

Page 27: Dal cloud al mobile con tecnologie Google

App Engine - Features

Page 28: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

Page 29: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python

Page 30: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python• Replica locale dei servizi disponibili in produzione

Page 31: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python• Replica locale dei servizi disponibili in produzione• Software CLI per la pubblicazione

Page 32: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python• Replica locale dei servizi disponibili in produzione• Software CLI per la pubblicazione• Forte integrazione con Eclipse tramite plugin ufficiali

Page 33: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python• Replica locale dei servizi disponibili in produzione• Software CLI per la pubblicazione• Forte integrazione con Eclipse tramite plugin ufficiali

Limiti della piattaforma

Page 34: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python• Replica locale dei servizi disponibili in produzione• Software CLI per la pubblicazione• Forte integrazione con Eclipse tramite plugin ufficiali

Limiti della piattaforma• No threads

Page 35: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python• Replica locale dei servizi disponibili in produzione• Software CLI per la pubblicazione• Forte integrazione con Eclipse tramite plugin ufficiali

Limiti della piattaforma• No threads• No database SQL

Page 36: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python• Replica locale dei servizi disponibili in produzione• Software CLI per la pubblicazione• Forte integrazione con Eclipse tramite plugin ufficiali

Limiti della piattaforma• No threads• No database SQL• No accesso al filesystem

Page 37: Dal cloud al mobile con tecnologie Google

App Engine - FeaturesAmbiente completo per lo sviluppo

• SDK per i linguaggi supportati ufficialmente Java, Python• Replica locale dei servizi disponibili in produzione• Software CLI per la pubblicazione• Forte integrazione con Eclipse tramite plugin ufficiali

Limiti della piattaforma• No threads• No database SQL• No accesso al filesystem• Tutti i task hanno un tempo limite

Page 38: Dal cloud al mobile con tecnologie Google

FRONTEND: GWT (area backoffice)

Page 39: Dal cloud al mobile con tecnologie Google

FRONTEND: GWT (area backoffice)

Page 40: Dal cloud al mobile con tecnologie Google

FRONTEND: GWT (area backoffice)

Google Web Toolkit per sviluppo RIA

Page 41: Dal cloud al mobile con tecnologie Google

FRONTEND: GWT (area backoffice)

Google Web Toolkit per sviluppo RIAfrom JAVA to JAVASCRIPT Widgets

Page 42: Dal cloud al mobile con tecnologie Google

FRONTEND: GWT (area backoffice)

Google Web Toolkit per sviluppo RIAfrom JAVA to JAVASCRIPT WidgetsCompatibilità crossbrowser

Page 43: Dal cloud al mobile con tecnologie Google

GWT - Features

Page 44: Dal cloud al mobile con tecnologie Google

GWT - Features

Page 45: Dal cloud al mobile con tecnologie Google

GWT - Features

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)

Page 46: Dal cloud al mobile con tecnologie Google

GWT - Features

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)

Utilizza servlet per comunicazioni RPC client/server

Page 47: Dal cloud al mobile con tecnologie Google

GWT - Features

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)

Utilizza servlet per comunicazioni RPC client/serverPermette l’utilizzo di interfacce condivise tra client e server

Page 48: Dal cloud al mobile con tecnologie Google

GWT - Features

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)

Utilizza servlet per comunicazioni RPC client/serverPermette l’utilizzo di interfacce condivise tra client e serverMolti widget già pronti (tabelle, popup ...)

Page 49: Dal cloud al mobile con tecnologie Google

GWT - Features

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)

Utilizza servlet per comunicazioni RPC client/serverPermette l’utilizzo di interfacce condivise tra client e serverMolti widget già pronti (tabelle, popup ...)Integrazione Eclipse - Browser per debugging

Page 50: Dal cloud al mobile con tecnologie Google

MOBILE DEVICE: Android

Page 51: Dal cloud al mobile con tecnologie Google

MOBILE DEVICE: Android

Page 52: Dal cloud al mobile con tecnologie Google

MOBILE DEVICE: Android

Open-source

Page 53: Dal cloud al mobile con tecnologie Google

MOBILE DEVICE: Android

Open-sourceDisponibile per molti device

Page 54: Dal cloud al mobile con tecnologie Google

MOBILE DEVICE: Android

Open-sourceDisponibile per molti deviceSviluppo e distribuzione gratuita

Page 55: Dal cloud al mobile con tecnologie Google

MOBILE DEVICE: Android

Open-sourceDisponibile per molti deviceSviluppo e distribuzione gratuitaGrande visibilità nel Market

Page 56: Dal cloud al mobile con tecnologie Google

MOBILE DEVICE: Android

Open-sourceDisponibile per molti deviceSviluppo e distribuzione gratuitaGrande visibilità nel MarketPoca qualità della concorrenza

Page 57: Dal cloud al mobile con tecnologie Google

Android - Features

Page 58: Dal cloud al mobile con tecnologie Google

Android - Features

Page 59: Dal cloud al mobile con tecnologie Google

Android - Features

Sviluppo in Java

Page 60: Dal cloud al mobile con tecnologie Google

Android - Features

Sviluppo in JavaSDK ufficiale con estensioni delle classi

Page 61: Dal cloud al mobile con tecnologie Google

Android - Features

Sviluppo in JavaSDK ufficiale con estensioni delle classiJVM dalvik depotenziata (classi in blacklist)

Page 62: Dal cloud al mobile con tecnologie Google

Android - Features

Sviluppo in JavaSDK ufficiale con estensioni delle classiJVM dalvik depotenziata (classi in blacklist)Necessario Eclipse con l’emulatore (ottima integrazione!)

Page 63: Dal cloud al mobile con tecnologie Google

Android - Features

Sviluppo in JavaSDK ufficiale con estensioni delle classiJVM dalvik depotenziata (classi in blacklist)Necessario Eclipse con l’emulatore (ottima integrazione!)UIDesigner povero (per ora), necessario XML a mano

Page 64: Dal cloud al mobile con tecnologie Google

Android - Features

Sviluppo in JavaSDK ufficiale con estensioni delle classiJVM dalvik depotenziata (classi in blacklist)Necessario Eclipse con l’emulatore (ottima integrazione!)UIDesigner povero (per ora), necessario XML a manoViste utente diventano “Activities”

Page 65: Dal cloud al mobile con tecnologie Google

Sviluppo web oriented

Page 66: Dal cloud al mobile con tecnologie Google

HTTP

Page 67: Dal cloud al mobile con tecnologie Google

HTTP

HTTP 1.1

Page 68: Dal cloud al mobile con tecnologie Google

HTTP

Universale

HTTP 1.1

Page 69: Dal cloud al mobile con tecnologie Google

HTTP

UniversaleSemplice da implementareHTTP 1.1

Page 70: Dal cloud al mobile con tecnologie Google

HTTP

UniversaleSemplice da implementareStabile e consolidatoHTTP 1.1

Page 71: Dal cloud al mobile con tecnologie Google

HTTP

UniversaleSemplice da implementareStabile e consolidatoIt just works (everywhere)

HTTP 1.1

Page 72: Dal cloud al mobile con tecnologie Google

FRONTEND: HTML (area utente)

Page 73: Dal cloud al mobile con tecnologie Google

FRONTEND: HTML (area utente)

Page 74: Dal cloud al mobile con tecnologie Google

FRONTEND: HTML (area utente)

Standard e compatibile con ogni device

Page 75: Dal cloud al mobile con tecnologie Google

FRONTEND: HTML (area utente)

Standard e compatibile con ogni devicePersonalizza la UX per i diversi media

Page 76: Dal cloud al mobile con tecnologie Google

FRONTEND: HTML (area utente)

Standard e compatibile con ogni devicePersonalizza la UX per i diversi mediaLeggero da scaricare dal browser

Page 77: Dal cloud al mobile con tecnologie Google

FRONTEND: HTML (area utente)

Standard e compatibile con ogni devicePersonalizza la UX per i diversi mediaLeggero da scaricare dal browserVeloce da sviluppare

Page 78: Dal cloud al mobile con tecnologie Google

REST

Page 79: Dal cloud al mobile con tecnologie Google

REST

REST

Page 80: Dal cloud al mobile con tecnologie Google

REST

Chiaro e semplice

REST

Page 81: Dal cloud al mobile con tecnologie Google

REST

Chiaro e sempliceSemanticoREST

Page 82: Dal cloud al mobile con tecnologie Google

REST

Chiaro e sempliceSemanticoRisorse con identificativi univociREST

Page 83: Dal cloud al mobile con tecnologie Google

REST

Chiaro e sempliceSemanticoRisorse con identificativi univociFacilmente estendibile

REST

Page 84: Dal cloud al mobile con tecnologie Google

JSON

Page 85: Dal cloud al mobile con tecnologie Google

JSON

JSON

Page 86: Dal cloud al mobile con tecnologie Google

JSON

Leggero

JSON

Page 87: Dal cloud al mobile con tecnologie Google

JSON

LeggeroSenza schemaJSON

Page 88: Dal cloud al mobile con tecnologie Google

JSON

LeggeroSenza schemaSupportato da tutti i linguaggi

JSON

Page 89: Dal cloud al mobile con tecnologie Google

JSON

LeggeroSenza schemaSupportato da tutti i linguaggiConversioni più veloci di XML

JSON

Page 90: Dal cloud al mobile con tecnologie Google

oAuth

Page 91: Dal cloud al mobile con tecnologie Google

oAuth

Page 92: Dal cloud al mobile con tecnologie Google

oAuth

Tecnologia innovativa

Page 93: Dal cloud al mobile con tecnologie Google

oAuth

Tecnologia innovativaStandard de facto

Page 94: Dal cloud al mobile con tecnologie Google

oAuth

Tecnologia innovativaStandard de factoMaggior sicurezza

Page 95: Dal cloud al mobile con tecnologie Google

oAuth

Tecnologia innovativaStandard de factoMaggior sicurezzaMaggior controllo negli accessi

Page 96: Dal cloud al mobile con tecnologie Google

Modello di sviluppo

Page 97: Dal cloud al mobile con tecnologie Google

Modello di sviluppo

Page 98: Dal cloud al mobile con tecnologie Google

Analisi [30 ore a persona]

Modello di sviluppo

Page 99: Dal cloud al mobile con tecnologie Google

Analisi [30 ore a persona]

Progettazione [40 ore a persona]

Modello di sviluppo

Page 100: Dal cloud al mobile con tecnologie Google

Analisi [30 ore a persona]

Progettazione [40 ore a persona]

Progettazione di Dettaglio [30 ore a persona]

Modello di sviluppo

Page 101: Dal cloud al mobile con tecnologie Google

Analisi [30 ore a persona]

Progettazione [40 ore a persona]

Progettazione di Dettaglio [30 ore a persona]

Codifica [50 ore a persona]

Modello di sviluppo

Page 102: Dal cloud al mobile con tecnologie Google

Analisi [30 ore a persona]

Progettazione [40 ore a persona]

Progettazione di Dettaglio [30 ore a persona]

Codifica [50 ore a persona]

Verifica [25 ore a persona]

Modello di sviluppo

Page 103: Dal cloud al mobile con tecnologie Google

Pro

Page 104: Dal cloud al mobile con tecnologie Google

Pro

Page 105: Dal cloud al mobile con tecnologie Google

1)Tecnologie consistenti ( Java )

Pro

Page 106: Dal cloud al mobile con tecnologie Google

1)Tecnologie consistenti ( Java )2)Tecnologie open-source

Pro

Page 107: Dal cloud al mobile con tecnologie Google

1)Tecnologie consistenti ( Java )2)Tecnologie open-source3)Pronto alla produzione senza ostacoli

Pro

Page 108: Dal cloud al mobile con tecnologie Google

1)Tecnologie consistenti ( Java )2)Tecnologie open-source3)Pronto alla produzione senza ostacoli4)Approfondimento di nuove tecnologie

Pro

Page 109: Dal cloud al mobile con tecnologie Google

Contro

Page 110: Dal cloud al mobile con tecnologie Google

Contro

Page 111: Dal cloud al mobile con tecnologie Google

1)Verbosità linguaggio Java e suoi framework

Contro

Page 112: Dal cloud al mobile con tecnologie Google

1)Verbosità linguaggio Java e suoi framework2)Programmazione mobile non cross-platform

Contro

Page 113: Dal cloud al mobile con tecnologie Google

1)Verbosità linguaggio Java e suoi framework2)Programmazione mobile non cross-platform3)Molte ore dedicate alla documentazione

Contro

Page 114: Dal cloud al mobile con tecnologie Google

1)Verbosità linguaggio Java e suoi framework2)Programmazione mobile non cross-platform3)Molte ore dedicate alla documentazione4)Google App Engine non configurabile

Contro