Dal cloud al mobile con tecnologie Google

590 views
533 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
590
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Dal cloud al mobile con tecnologie Google

  1. 1. FLY S.O.S."Dallo sviluppo cloud a quello mobile con tecnologie Google"http : / / www. 7 se e d s. i nfo
  2. 2. Chi siamo http : / / www. 7 se e d s. i nfo
  3. 3. Chi siamo http : / / www. 7 se e d s. i nfo
  4. 4. Parleremo di1. Il progetto2. L’architettura3. Tecnologie Google per lo sviluppo 1. Google App Engine 2. Google Web Toolkit 3. Android SDK4. Sviluppo web oriented 1. Web compliant 2. API REST 3. Formato JSON 4. Autenticazione5. Modello di sviluppo
  5. 5. DEMOhttp://www.rescueme.7seeds.info
  6. 6. L’architettura
  7. 7. API REST oAuth2 Risposta JSON
  8. 8. Tecnologie Google per lo sviluppo
  9. 9. BACKEND: Google App Engine
  10. 10. BACKEND: Google App Engine
  11. 11. BACKEND: Google App Engine Cloud by Google: Platform as a Service
  12. 12. BACKEND: Google App Engine Cloud by Google: Platform as a Service • Piattaforma pronta per la pubblicazione
  13. 13. BACKEND: Google App Engine Cloud by Google: Platform as a Service • Piattaforma pronta per la pubblicazione • Autoscaling delle applicazioni
  14. 14. BACKEND: Google App Engine Cloud by Google: Platform as a Service • Piattaforma pronta per la pubblicazione • Autoscaling delle applicazioni Offre account gratuiti limitati
  15. 15. 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
  16. 16. 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
  17. 17. App Engine - Features
  18. 18. App Engine - FeaturesRicca offerta di API e tecnologie
  19. 19. App Engine - FeaturesRicca offerta di API e tecnologie • Linguaggi supportati: Java, Python
  20. 20. App Engine - FeaturesRicca offerta di API e tecnologie • Linguaggi supportati: Java, Python • Supporto a diverse tecnologie out-of-the-box
  21. 21. App Engine - FeaturesRicca offerta di API e tecnologie • Linguaggi supportati: Java, Python • Supporto a diverse tecnologie out-of-the-box • Datastore
  22. 22. App Engine - FeaturesRicca offerta di API e tecnologie • Linguaggi supportati: Java, Python • Supporto a diverse tecnologie out-of-the-box • Datastore • Memcache
  23. 23. App Engine - FeaturesRicca offerta di API e tecnologie • Linguaggi supportati: Java, Python • Supporto a diverse tecnologie out-of-the-box • Datastore • Memcache • XMPP server
  24. 24. App Engine - FeaturesRicca offerta di API e tecnologie • Linguaggi supportati: Java, Python • Supporto a diverse tecnologie out-of-the-box • Datastore • Memcache • XMPP server • Task Queue
  25. 25. App Engine - FeaturesRicca 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)
  26. 26. App Engine - Features
  27. 27. App Engine - FeaturesAmbiente completo per lo sviluppo
  28. 28. App Engine - FeaturesAmbiente completo per lo sviluppo • SDK per i linguaggi supportati ufficialmente Java, Python
  29. 29. App Engine - FeaturesAmbiente completo per lo sviluppo • SDK per i linguaggi supportati ufficialmente Java, Python • Replica locale dei servizi disponibili in produzione
  30. 30. 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
  31. 31. 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
  32. 32. 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 ufficialiLimiti della piattaforma
  33. 33. 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 ufficialiLimiti della piattaforma • No threads
  34. 34. 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 ufficialiLimiti della piattaforma • No threads • No database SQL
  35. 35. 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 ufficialiLimiti della piattaforma • No threads • No database SQL • No accesso al filesystem
  36. 36. 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 ufficialiLimiti della piattaforma • No threads • No database SQL • No accesso al filesystem • Tutti i task hanno un tempo limite
  37. 37. FRONTEND: GWT (area backoffice)
  38. 38. FRONTEND: GWT (area backoffice)
  39. 39. FRONTEND: GWT (area backoffice) Google Web Toolkit per sviluppo RIA
  40. 40. FRONTEND: GWT (area backoffice) Google Web Toolkit per sviluppo RIA from JAVA to JAVASCRIPT Widgets
  41. 41. FRONTEND: GWT (area backoffice) Google Web Toolkit per sviluppo RIA from JAVA to JAVASCRIPT Widgets Compatibilità crossbrowser
  42. 42. GWT - Features
  43. 43. GWT - Features
  44. 44. GWT - FeaturesPlain Old Java: ambiente di sviluppo familiare (oggetti, test...)
  45. 45. GWT - FeaturesPlain Old Java: ambiente di sviluppo familiare (oggetti, test...)Utilizza servlet per comunicazioni RPC client/server
  46. 46. GWT - FeaturesPlain Old Java: ambiente di sviluppo familiare (oggetti, test...)Utilizza servlet per comunicazioni RPC client/serverPermette l’utilizzo di interfacce condivise tra client e server
  47. 47. GWT - FeaturesPlain 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 ...)
  48. 48. GWT - FeaturesPlain 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
  49. 49. MOBILE DEVICE: Android
  50. 50. MOBILE DEVICE: Android
  51. 51. MOBILE DEVICE: Android Open-source
  52. 52. MOBILE DEVICE: Android Open-source Disponibile per molti device
  53. 53. MOBILE DEVICE: Android Open-source Disponibile per molti device Sviluppo e distribuzione gratuita
  54. 54. MOBILE DEVICE: Android Open-source Disponibile per molti device Sviluppo e distribuzione gratuita Grande visibilità nel Market
  55. 55. MOBILE DEVICE: Android Open-source Disponibile per molti device Sviluppo e distribuzione gratuita Grande visibilità nel Market Poca qualità della concorrenza
  56. 56. Android - Features
  57. 57. Android - Features
  58. 58. Android - FeaturesSviluppo in Java
  59. 59. Android - FeaturesSviluppo in JavaSDK ufficiale con estensioni delle classi
  60. 60. Android - FeaturesSviluppo in JavaSDK ufficiale con estensioni delle classiJVM dalvik depotenziata (classi in blacklist)
  61. 61. Android - FeaturesSviluppo in JavaSDK ufficiale con estensioni delle classiJVM dalvik depotenziata (classi in blacklist)Necessario Eclipse con l’emulatore (ottima integrazione!)
  62. 62. Android - FeaturesSviluppo 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
  63. 63. Android - FeaturesSviluppo 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”
  64. 64. Sviluppo web oriented
  65. 65. HTTP
  66. 66. HTTPHTTP 1.1
  67. 67. HTTP UniversaleHTTP 1.1
  68. 68. HTTP UniversaleHTTP 1.1 Semplice da implementare
  69. 69. HTTP UniversaleHTTP 1.1 Semplice da implementare Stabile e consolidato
  70. 70. HTTP UniversaleHTTP 1.1 Semplice da implementare Stabile e consolidato It just works (everywhere)
  71. 71. FRONTEND: HTML (area utente)
  72. 72. FRONTEND: HTML (area utente)
  73. 73. FRONTEND: HTML (area utente) Standard e compatibile con ogni device
  74. 74. FRONTEND: HTML (area utente) Standard e compatibile con ogni device Personalizza la UX per i diversi media
  75. 75. FRONTEND: HTML (area utente) Standard e compatibile con ogni device Personalizza la UX per i diversi media Leggero da scaricare dal browser
  76. 76. 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
  77. 77. REST
  78. 78. RESTREST
  79. 79. REST Chiaro e sempliceREST
  80. 80. REST Chiaro e sempliceREST Semantico
  81. 81. REST Chiaro e sempliceREST Semantico Risorse con identificativi univoci
  82. 82. REST Chiaro e sempliceREST Semantico Risorse con identificativi univoci Facilmente estendibile
  83. 83. JSON
  84. 84. JSONJSON
  85. 85. JSON LeggeroJSON
  86. 86. JSON LeggeroJSON Senza schema
  87. 87. JSON LeggeroJSON Senza schema Supportato da tutti i linguaggi
  88. 88. JSON LeggeroJSON Senza schema Supportato da tutti i linguaggi Conversioni più veloci di XML
  89. 89. oAuth
  90. 90. oAuth
  91. 91. oAuthTecnologia innovativa
  92. 92. oAuthTecnologia innovativaStandard de facto
  93. 93. oAuthTecnologia innovativaStandard de factoMaggior sicurezza
  94. 94. oAuthTecnologia innovativaStandard de factoMaggior sicurezzaMaggior controllo negli accessi
  95. 95. Modello di sviluppo
  96. 96. Modello di sviluppo
  97. 97. Modello di sviluppoAnalisi [30 ore a persona]
  98. 98. Modello di sviluppoAnalisi [30 ore a persona]Progettazione [40 ore a persona]
  99. 99. Modello di sviluppoAnalisi [30 ore a persona]Progettazione [40 ore a persona]Progettazione di Dettaglio [30 ore a persona]
  100. 100. Modello di sviluppoAnalisi [30 ore a persona]Progettazione [40 ore a persona]Progettazione di Dettaglio [30 ore a persona]Codifica [50 ore a persona]
  101. 101. Modello di sviluppoAnalisi [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]
  102. 102. Pro
  103. 103. Pro
  104. 104. Pro1)Tecnologie consistenti ( Java )
  105. 105. Pro1)Tecnologie consistenti ( Java )2)Tecnologie open-source
  106. 106. Pro1)Tecnologie consistenti ( Java )2)Tecnologie open-source3)Pronto alla produzione senza ostacoli
  107. 107. Pro1)Tecnologie consistenti ( Java )2)Tecnologie open-source3)Pronto alla produzione senza ostacoli4)Approfondimento di nuove tecnologie
  108. 108. Contro
  109. 109. Contro
  110. 110. Contro1)Verbosità linguaggio Java e suoi framework
  111. 111. Contro1)Verbosità linguaggio Java e suoi framework2)Programmazione mobile non cross-platform
  112. 112. Contro1)Verbosità linguaggio Java e suoi framework2)Programmazione mobile non cross-platform3)Molte ore dedicate alla documentazione
  113. 113. Contro1)Verbosità linguaggio Java e suoi framework2)Programmazione mobile non cross-platform3)Molte ore dedicate alla documentazione4)Google App Engine non configurabile

×