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




http : / / www. 7 se e d s. i nfo
Chi siamo


      http : / / www. 7 se e d s. i nfo
Chi siamo


      http : / / www. 7 se e d s. i nfo
Parleremo di

1. Il progetto
2. L’architettura
3. Tecnologie Google per lo sviluppo
    1. Google App Engine
    2. Google Web Toolkit
    3. Android SDK
4. Sviluppo web oriented
    1. Web compliant
    2. API REST
    3. Formato JSON
    4. Autenticazione
5. Modello di sviluppo
DEMO
http://www.rescueme.7seeds.info
L’architettura
API REST   oAuth2
                    Risposta JSON
Tecnologie Google per lo
       sviluppo
BACKEND: Google App Engine
BACKEND: Google App Engine
BACKEND: Google App Engine


        Cloud by Google: Platform as a Service
BACKEND: Google App Engine


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


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


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

        Offre account gratuiti limitati
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
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
App Engine - Features
App Engine - Features
Ricca offerta di API e tecnologie
App Engine - Features
Ricca offerta di API e tecnologie
  • Linguaggi supportati: Java, Python
App Engine - Features
Ricca offerta di API e tecnologie
  • Linguaggi supportati: Java, Python
  • Supporto a diverse tecnologie out-of-the-box
App Engine - Features
Ricca offerta di API e tecnologie
  • Linguaggi supportati: Java, Python
  • Supporto a diverse tecnologie out-of-the-box
    • Datastore
App Engine - Features
Ricca offerta di API e tecnologie
  • Linguaggi supportati: Java, Python
  • Supporto a diverse tecnologie out-of-the-box
    • Datastore
    • Memcache
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
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
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)
App Engine - Features
App Engine - Features
Ambiente completo per lo sviluppo
App Engine - Features
Ambiente completo per lo sviluppo
 • SDK per i linguaggi supportati ufficialmente Java, Python
App Engine - Features
Ambiente completo per lo sviluppo
 • SDK per i linguaggi supportati ufficialmente Java, Python
 • Replica locale dei servizi disponibili in produzione
App Engine - Features
Ambiente completo per lo sviluppo
 • SDK per i linguaggi supportati ufficialmente Java, Python
 • Replica locale dei servizi disponibili in produzione
 • Software CLI per la pubblicazione
App Engine - Features
Ambiente 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
App Engine - Features
Ambiente 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
App Engine - Features
Ambiente 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
App Engine - Features
Ambiente 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
App Engine - Features
Ambiente 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
App Engine - Features
Ambiente 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
FRONTEND: GWT   (area backoffice)
FRONTEND: GWT   (area backoffice)
FRONTEND: GWT         (area backoffice)




      Google Web Toolkit per sviluppo RIA
FRONTEND: GWT         (area backoffice)




      Google Web Toolkit per sviluppo RIA
      from JAVA to JAVASCRIPT Widgets
FRONTEND: GWT         (area backoffice)




      Google Web Toolkit per sviluppo RIA
      from JAVA to JAVASCRIPT Widgets

      Compatibilità crossbrowser
GWT - Features
GWT - Features
GWT - Features

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

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)
Utilizza servlet per comunicazioni RPC client/server
GWT - Features

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)
Utilizza servlet per comunicazioni RPC client/server
Permette l’utilizzo di interfacce condivise tra client e server
GWT - Features

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)
Utilizza servlet per comunicazioni RPC client/server
Permette l’utilizzo di interfacce condivise tra client e server
Molti widget già pronti (tabelle, popup ...)
GWT - Features

Plain Old Java: ambiente di sviluppo familiare (oggetti, test...)
Utilizza servlet per comunicazioni RPC client/server
Permette l’utilizzo di interfacce condivise tra client e server
Molti widget già pronti (tabelle, popup ...)
Integrazione Eclipse - Browser per debugging
MOBILE DEVICE: Android
MOBILE DEVICE: Android
MOBILE DEVICE: Android


      Open-source
MOBILE DEVICE: Android


      Open-source
      Disponibile per molti device
MOBILE DEVICE: Android


      Open-source
      Disponibile per molti device
      Sviluppo e distribuzione gratuita
MOBILE DEVICE: Android


      Open-source
      Disponibile per molti device
      Sviluppo e distribuzione gratuita
      Grande visibilità nel Market
MOBILE DEVICE: Android


      Open-source
      Disponibile per molti device
      Sviluppo e distribuzione gratuita
      Grande visibilità nel Market
      Poca qualità della concorrenza
Android - Features
Android - Features
Android - Features

Sviluppo in Java
Android - Features

Sviluppo in Java
SDK ufficiale con estensioni delle classi
Android - Features

Sviluppo in Java
SDK ufficiale con estensioni delle classi
JVM dalvik depotenziata (classi in blacklist)
Android - Features

Sviluppo in Java
SDK ufficiale con estensioni delle classi
JVM dalvik depotenziata (classi in blacklist)
Necessario Eclipse con l’emulatore (ottima integrazione!)
Android - Features

Sviluppo in Java
SDK ufficiale con estensioni delle classi
JVM dalvik depotenziata (classi in blacklist)
Necessario Eclipse con l’emulatore (ottima integrazione!)
UIDesigner povero (per ora), necessario XML a mano
Android - Features

Sviluppo in Java
SDK ufficiale con estensioni delle classi
JVM dalvik depotenziata (classi in blacklist)
Necessario Eclipse con l’emulatore (ottima integrazione!)
UIDesigner povero (per ora), necessario XML a mano
Viste utente diventano “Activities”
Sviluppo web oriented
HTTP
HTTP




HTTP 1.1
HTTP



           Universale

HTTP 1.1
HTTP



           Universale

HTTP 1.1   Semplice da implementare
HTTP



           Universale

HTTP 1.1   Semplice da implementare
           Stabile e consolidato
HTTP



           Universale

HTTP 1.1   Semplice da implementare
           Stabile e consolidato
           It just works (everywhere)
FRONTEND: HTML   (area utente)
FRONTEND: HTML   (area utente)
FRONTEND: HTML          (area utente)




     Standard e compatibile con ogni device
FRONTEND: HTML          (area utente)




     Standard e compatibile con ogni device
     Personalizza la UX per i diversi media
FRONTEND: HTML          (area utente)




     Standard e compatibile con ogni device
     Personalizza la UX per i diversi media
     Leggero da scaricare dal browser
FRONTEND: HTML          (area utente)




     Standard e compatibile con ogni device
     Personalizza la UX per i diversi media
     Leggero da scaricare dal browser
     Veloce da sviluppare
REST
REST




REST
REST



       Chiaro e semplice

REST
REST



       Chiaro e semplice

REST   Semantico
REST



       Chiaro e semplice

REST   Semantico
       Risorse con identificativi univoci
REST



       Chiaro e semplice

REST   Semantico
       Risorse con identificativi univoci
       Facilmente estendibile
JSON
JSON




JSON
JSON



       Leggero

JSON
JSON



       Leggero

JSON   Senza schema
JSON



       Leggero

JSON   Senza schema
       Supportato da tutti i linguaggi
JSON



       Leggero

JSON   Senza schema
       Supportato da tutti i linguaggi
       Conversioni più veloci di XML
oAuth
oAuth
oAuth



Tecnologia innovativa
oAuth



Tecnologia innovativa
Standard de facto
oAuth



Tecnologia innovativa
Standard de facto
Maggior sicurezza
oAuth



Tecnologia innovativa
Standard de facto
Maggior sicurezza
Maggior controllo negli accessi
Modello di sviluppo
Modello di sviluppo
Modello di sviluppo

Analisi   [30 ore a persona]
Modello di sviluppo

Analisi   [30 ore a persona]


Progettazione        [40 ore a persona]
Modello di sviluppo

Analisi   [30 ore a persona]


Progettazione        [40 ore a persona]


Progettazione di Dettaglio                [30 ore a persona]
Modello di sviluppo

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

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]
Pro
Pro
Pro


1)Tecnologie consistenti ( Java )
Pro


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


1)Tecnologie consistenti ( Java )
2)Tecnologie open-source
3)Pronto alla produzione senza ostacoli
Pro


1)Tecnologie consistenti ( Java )
2)Tecnologie open-source
3)Pronto alla produzione senza ostacoli
4)Approfondimento di nuove tecnologie
Contro
Contro
Contro


1)Verbosità linguaggio Java e suoi framework
Contro


1)Verbosità linguaggio Java e suoi framework
2)Programmazione mobile non cross-platform
Contro


1)Verbosità linguaggio Java e suoi framework
2)Programmazione mobile non cross-platform
3)Molte ore dedicate alla documentazione
Contro


1)Verbosità linguaggio Java e suoi framework
2)Programmazione mobile non cross-platform
3)Molte ore dedicate alla documentazione
4)Google App Engine non configurabile

Dal cloud al mobile con tecnologie Google

  • 1.
    FLY S.O.S. "Dallo sviluppocloud a quello mobile con tecnologie Google" http : / / www. 7 se e d s. i nfo
  • 2.
    Chi siamo http : / / www. 7 se e d s. i nfo
  • 3.
    Chi siamo http : / / www. 7 se e d s. i nfo
  • 4.
    Parleremo di 1. Ilprogetto 2. L’architettura 3. Tecnologie Google per lo sviluppo 1. Google App Engine 2. Google Web Toolkit 3. Android SDK 4. Sviluppo web oriented 1. Web compliant 2. API REST 3. Formato JSON 4. Autenticazione 5. Modello di sviluppo
  • 5.
  • 6.
  • 8.
    API REST oAuth2 Risposta JSON
  • 9.
  • 10.
  • 11.
  • 12.
    BACKEND: Google AppEngine Cloud by Google: Platform as a Service
  • 13.
    BACKEND: Google AppEngine Cloud by Google: Platform as a Service • Piattaforma pronta per la pubblicazione
  • 14.
    BACKEND: Google AppEngine Cloud by Google: Platform as a Service • Piattaforma pronta per la pubblicazione • Autoscaling delle applicazioni
  • 15.
    BACKEND: Google AppEngine Cloud by Google: Platform as a Service • Piattaforma pronta per la pubblicazione • Autoscaling delle applicazioni Offre account gratuiti limitati
  • 16.
    BACKEND: Google AppEngine Cloud by Google: Platform as a Service • Piattaforma pronta per la pubblicazione • Autoscaling delle applicazioni Offre account gratuiti limitati • Limiti giornalieri sulle risorse
  • 17.
    BACKEND: Google AppEngine 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
  • 18.
    App Engine -Features
  • 19.
    App Engine -Features Ricca offerta di API e tecnologie
  • 20.
    App Engine -Features Ricca offerta di API e tecnologie • Linguaggi supportati: Java, Python
  • 21.
    App Engine -Features Ricca offerta di API e tecnologie • Linguaggi supportati: Java, Python • Supporto a diverse tecnologie out-of-the-box
  • 22.
    App Engine -Features Ricca offerta di API e tecnologie • Linguaggi supportati: Java, Python • Supporto a diverse tecnologie out-of-the-box • Datastore
  • 23.
    App Engine -Features Ricca offerta di API e tecnologie • Linguaggi supportati: Java, Python • Supporto a diverse tecnologie out-of-the-box • Datastore • Memcache
  • 24.
    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
  • 25.
    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
  • 26.
    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)
  • 27.
    App Engine -Features
  • 28.
    App Engine -Features Ambiente completo per lo sviluppo
  • 29.
    App Engine -Features Ambiente completo per lo sviluppo • SDK per i linguaggi supportati ufficialmente Java, Python
  • 30.
    App Engine -Features Ambiente completo per lo sviluppo • SDK per i linguaggi supportati ufficialmente Java, Python • Replica locale dei servizi disponibili in produzione
  • 31.
    App Engine -Features Ambiente completo per lo sviluppo • SDK per i linguaggi supportati ufficialmente Java, Python • Replica locale dei servizi disponibili in produzione • Software CLI per la pubblicazione
  • 32.
    App Engine -Features Ambiente 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
  • 33.
    App Engine -Features Ambiente 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
  • 34.
    App Engine -Features Ambiente 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
  • 35.
    App Engine -Features Ambiente 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
  • 36.
    App Engine -Features Ambiente 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
  • 37.
    App Engine -Features Ambiente 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
  • 38.
    FRONTEND: GWT (area backoffice)
  • 39.
    FRONTEND: GWT (area backoffice)
  • 40.
    FRONTEND: GWT (area backoffice) Google Web Toolkit per sviluppo RIA
  • 41.
    FRONTEND: GWT (area backoffice) Google Web Toolkit per sviluppo RIA from JAVA to JAVASCRIPT Widgets
  • 42.
    FRONTEND: GWT (area backoffice) Google Web Toolkit per sviluppo RIA from JAVA to JAVASCRIPT Widgets Compatibilità crossbrowser
  • 43.
  • 44.
  • 45.
    GWT - Features PlainOld Java: ambiente di sviluppo familiare (oggetti, test...)
  • 46.
    GWT - Features PlainOld Java: ambiente di sviluppo familiare (oggetti, test...) Utilizza servlet per comunicazioni RPC client/server
  • 47.
    GWT - Features PlainOld Java: ambiente di sviluppo familiare (oggetti, test...) Utilizza servlet per comunicazioni RPC client/server Permette l’utilizzo di interfacce condivise tra client e server
  • 48.
    GWT - Features PlainOld Java: ambiente di sviluppo familiare (oggetti, test...) Utilizza servlet per comunicazioni RPC client/server Permette l’utilizzo di interfacce condivise tra client e server Molti widget già pronti (tabelle, popup ...)
  • 49.
    GWT - Features PlainOld Java: ambiente di sviluppo familiare (oggetti, test...) Utilizza servlet per comunicazioni RPC client/server Permette l’utilizzo di interfacce condivise tra client e server Molti widget già pronti (tabelle, popup ...) Integrazione Eclipse - Browser per debugging
  • 50.
  • 51.
  • 52.
  • 53.
    MOBILE DEVICE: Android Open-source Disponibile per molti device
  • 54.
    MOBILE DEVICE: Android Open-source Disponibile per molti device Sviluppo e distribuzione gratuita
  • 55.
    MOBILE DEVICE: Android Open-source Disponibile per molti device Sviluppo e distribuzione gratuita Grande visibilità nel Market
  • 56.
    MOBILE DEVICE: Android Open-source Disponibile per molti device Sviluppo e distribuzione gratuita Grande visibilità nel Market Poca qualità della concorrenza
  • 57.
  • 58.
  • 59.
  • 60.
    Android - Features Sviluppoin Java SDK ufficiale con estensioni delle classi
  • 61.
    Android - Features Sviluppoin Java SDK ufficiale con estensioni delle classi JVM dalvik depotenziata (classi in blacklist)
  • 62.
    Android - Features Sviluppoin Java SDK ufficiale con estensioni delle classi JVM dalvik depotenziata (classi in blacklist) Necessario Eclipse con l’emulatore (ottima integrazione!)
  • 63.
    Android - Features Sviluppoin Java SDK ufficiale con estensioni delle classi JVM dalvik depotenziata (classi in blacklist) Necessario Eclipse con l’emulatore (ottima integrazione!) UIDesigner povero (per ora), necessario XML a mano
  • 64.
    Android - Features Sviluppoin Java SDK ufficiale con estensioni delle classi JVM dalvik depotenziata (classi in blacklist) Necessario Eclipse con l’emulatore (ottima integrazione!) UIDesigner povero (per ora), necessario XML a mano Viste utente diventano “Activities”
  • 65.
  • 66.
  • 67.
  • 68.
    HTTP Universale HTTP 1.1
  • 69.
    HTTP Universale HTTP 1.1 Semplice da implementare
  • 70.
    HTTP Universale HTTP 1.1 Semplice da implementare Stabile e consolidato
  • 71.
    HTTP Universale HTTP 1.1 Semplice da implementare Stabile e consolidato It just works (everywhere)
  • 72.
    FRONTEND: HTML (area utente)
  • 73.
    FRONTEND: HTML (area utente)
  • 74.
    FRONTEND: HTML (area utente) Standard e compatibile con ogni device
  • 75.
    FRONTEND: HTML (area utente) Standard e compatibile con ogni device Personalizza la UX per i diversi media
  • 76.
    FRONTEND: HTML (area utente) Standard e compatibile con ogni device Personalizza la UX per i diversi media Leggero da scaricare dal browser
  • 77.
    FRONTEND: HTML (area utente) Standard e compatibile con ogni device Personalizza la UX per i diversi media Leggero da scaricare dal browser Veloce da sviluppare
  • 78.
  • 79.
  • 80.
    REST Chiaro e semplice REST
  • 81.
    REST Chiaro e semplice REST Semantico
  • 82.
    REST Chiaro e semplice REST Semantico Risorse con identificativi univoci
  • 83.
    REST Chiaro e semplice REST Semantico Risorse con identificativi univoci Facilmente estendibile
  • 84.
  • 85.
  • 86.
    JSON Leggero JSON
  • 87.
    JSON Leggero JSON Senza schema
  • 88.
    JSON Leggero JSON Senza schema Supportato da tutti i linguaggi
  • 89.
    JSON Leggero JSON Senza schema Supportato da tutti i linguaggi Conversioni più veloci di XML
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
    oAuth Tecnologia innovativa Standard defacto Maggior sicurezza Maggior controllo negli accessi
  • 96.
  • 97.
  • 98.
    Modello di sviluppo Analisi [30 ore a persona]
  • 99.
    Modello di sviluppo Analisi [30 ore a persona] Progettazione [40 ore a persona]
  • 100.
    Modello di sviluppo Analisi [30 ore a persona] Progettazione [40 ore a persona] Progettazione di Dettaglio [30 ore a persona]
  • 101.
    Modello di sviluppo Analisi [30 ore a persona] Progettazione [40 ore a persona] Progettazione di Dettaglio [30 ore a persona] Codifica [50 ore a persona]
  • 102.
    Modello di sviluppo 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]
  • 103.
  • 104.
  • 105.
  • 106.
    Pro 1)Tecnologie consistenti (Java ) 2)Tecnologie open-source
  • 107.
    Pro 1)Tecnologie consistenti (Java ) 2)Tecnologie open-source 3)Pronto alla produzione senza ostacoli
  • 108.
    Pro 1)Tecnologie consistenti (Java ) 2)Tecnologie open-source 3)Pronto alla produzione senza ostacoli 4)Approfondimento di nuove tecnologie
  • 109.
  • 110.
  • 111.
  • 112.
    Contro 1)Verbosità linguaggio Javae suoi framework 2)Programmazione mobile non cross-platform
  • 113.
    Contro 1)Verbosità linguaggio Javae suoi framework 2)Programmazione mobile non cross-platform 3)Molte ore dedicate alla documentazione
  • 114.
    Contro 1)Verbosità linguaggio Javae suoi framework 2)Programmazione mobile non cross-platform 3)Molte ore dedicate alla documentazione 4)Google App Engine non configurabile