7. Inne zalety zastosowania App Engine
• Automatycznie skalowalny
• Automatycznie generowane api dla aplikacji klienckiej
Android (obsługa również dla iOS)
• Możliwość wykorzystania końcówek jako klasyczne rest api
• Brak konieczności posiadania lub wynajmowania osobnego
serwera - zerowe koszty wejścia
• Do niewielkiego wykorzystania zupełnie darmowy, później
koszt jest zależny od zużycia
• Możliwość tworzenia w Python, Java, PHP i Go
8. Słabe strony App Engine
• Datastore jest bardzo ograniczony w stosunku do SQL
• Pierwszy deploy potrafi nastręczyć sporo problemów
(Stackoverflow na ratunek)
• Społeczność nie jest tak liczna jak dla innych popularnych
rozwiązań backendowych
• Źle zaprojektowana aplikacja o dużym zapotrzebowaniu
może pochłonąć majątek
• Brak możliwości zwracania podstawowych obiektów
odzwierciedlających typy proste
16. Bulkloader
Narzędzie pozwalające na upload dużych paczek
danych bezpośrednio z plików CSV do Datastore.
https://cloud.google.com/appengine/docs/adminconsole/datastoreadmin
appcfg.py upload_data --config_file bulkloader.yaml --url=https://quiz-
fight.appspot.com/remote_api --filename question.csv --kind=Question -e
jacek.kwiecien@gmail.com
Najlepiej do tego celu używać Google Docs!
18. Konsola developerska
• Wiele przydatnych i nieprzydatnych informacji (w tym
statystyki użycia i logi)
• Możliwość przeglądania i edycji Datastore
• Aktywacja poszczególnych API Google (np do celów
integracji z Google+ lub Youtube)
• Wgląd w kod źródłowy aplikacji oraz push-to-deploy
• Kreator okna dostępu
• Wiele, wiele innych…
19. Udzielanie dostępu aplikacjom klienckim
Wyświetlenie danych o kluczach w pliku keystore: keytool -list -v -keystore <sciezka_pliku>
Wyświetlenie danych o pliku apk: keytool -list -printcert -jarfile <sciezka_apk>
28. Multiplayer (turowy i w czasie rzeczywistym)
https://developers.google.com/games/services/common/concepts/realtimeMultiplayer
• System pokojów
• Szereg callbacków obsługujących zdarzenia w grze
• UI do zapraszania znajomych oraz oczekiwania na start gry
• Przesyłanie informacji pomiędzy uczestnikami
(reliable i non-reliable)
• Brak konieczności posiadania backendu dla prostych
gier