tamkang’’ university social’media’apps’programming’

62
Social Media Apps Programming MinYuh Day, Ph.D. Assistant Professor Department of Informa9on Management Tamkang University h?p://mail.tku.edu.tw/myday Google Cloud Pla6orm Tamkang University 20141203 1031SMAP10 TLMXM1A (8687) (M2143) (Fall 2014) (MIS MBA) (2 Credits, Elec9ve) [Full English Course] Thu 8,9 (15:1017:00) V201

Upload: others

Post on 13-Jun-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tamkang’’ University Social’Media’Apps’Programming’

Social  Media  Apps  Programming  

Min-­‐Yuh  Day,  Ph.D.  Assistant  Professor  

Department  of  Informa9on  Management  Tamkang  University  

 h?p://mail.tku.edu.tw/myday  

 

Google  Cloud  Pla6orm  

Tamkang    University

2014-­‐12-­‐03  

1031SMAP10  TLMXM1A (8687)  (M2143)  (Fall  2014)  

(MIS  MBA)  (2  Credits,  Elec9ve)  [Full  English  Course]  Thu  8,9  (15:10-­‐17:00)  V201  

   

Page 2: Tamkang’’ University Social’Media’Apps’Programming’

Course  Schedule  (1/3)  Week        Date        Subject/Topics  •  1        2014/09/17        Course  Orienta9on  and  Introduc9on  to    

                                                               Social  Media  and  Mobile  Apps  Programming  •  2        2014/09/24        Introduc9on  to  Android  /  iOS  Apps    

                                                               Programming  •  3        2014/10/01        Developing  Android  Na9ve  Apps  with    

                                                               Java  (Eclipse)  (MIT  App  Inventor)  •  4        2014/10/08        Developing  iPhone  /  iPad  Na9ve  Apps  with    

                                                               Swib  /  Objec9ve-­‐C  (XCode)  •  5        2014/10/15        Mobile  Apps  Using  HTML5/CSS3/JavaScript  •  6        2014/10/22        jQuery  Mobile  

2  

Page 3: Tamkang’’ University Social’Media’Apps’Programming’

Course  Schedule  (2/3)  Week        Date        Subject/Topics  •  7        2014/10/29          Create  Hybrid  Apps  with  Phonegap  •  8        2014/11/05          jQuery  Mobile/Phonegap  •  9        2014/11/12          jQuery  Mobile/Phonegap  •  10        2014/11/19        Midterm  Exam  Week    

                                                                   (Midterm  Project  Report)  •  11        2014/11/26        Case  Study  on  Social  Media  Apps    

                                                                   Programming  and  Marke9ng  in                                                                        Google  Play  and  App  Store  

•  12        2014/12/03        Google  Cloud  Plahorm  

3  

Page 4: Tamkang’’ University Social’Media’Apps’Programming’

Course  Schedule  (3/3)  Week        Date        Subject/Topics  •  13        2014/12/10        Invited  Talk:  Social,  Data  and  Business  Model    

                                                                                                                 -­‐  Let’s  see  PIXNET                                                                        [Invited  Speaker:  Dr.  Rick  Cheng-­‐Yu  Lu,                                                                                                                                      Technical  Director,  PIXNET]  

•  14        2014/12/17        Google  App  Engine  and  Google  Map  API  •  15        2014/12/24        Facebook  API  (Facebook  JavaScript  SDK)    

                                                                   (Integrate  Facebook  with  iOS/Android  Apps)  •  16        2014/01/31        Twi?er  API  •  17        2015/01/07        Final  Project  Presenta9on  •  18        2015/01/14        Final  Exam  Week  (Final  Project  Report)  

4  

Page 5: Tamkang’’ University Social’Media’Apps’Programming’

Outline  •  Google  Cloud  Pla6orm  

– Google  App  Engine  – Google  Cloud  Datastore  – Google  Cloud  Endpoints  

•  Mobile  App  with  Google  Cloud  Pla6orm    

5  

Page 6: Tamkang’’ University Social’Media’Apps’Programming’

6  

h?ps://cloud.google.com/  Google  Cloud  Pla6orm  

Page 7: Tamkang’’ University Social’Media’Apps’Programming’

Google  Cloud  Pla6orm  

•  Google  Cloud  Plahorm  is  a  set  of    modular  cloud-­‐based  services  that    allow  you  to  create  anything    from  simple  websites  to  complex  applica9ons.  

7  Source:  h?ps://cloud.google.com/  

Page 8: Tamkang’’ University Social’Media’Apps’Programming’

8  Source:  h?ps://cloud.google.com/products/  

Big  Data  Storage  HosEng  +  Compute   Services  

Google  Cloud  Pla6orm  

Page 9: Tamkang’’ University Social’Media’Apps’Programming’

9  Source:  h?ps://cloud.google.com/products/  

Compute  Engine  

App  Engine  

Container  Engine  

Cloud  Datastore  

Cloud  SQL  

Cloud  Storage  

Big  Query  

Big  Data  Storage  Compute   Services  

Cloud  Endpoints  

Translate  API  

Predic9on  API  

Google  Cloud  Pla6orm  

Page 10: Tamkang’’ University Social’Media’Apps’Programming’

10  Source:  h?ps://cloud.google.com/why-­‐google/  

Why  Google  Cloud  Pla6orm  

Page 11: Tamkang’’ University Social’Media’Apps’Programming’

11  

Why  Google  Cloud  Pla6orm  

Source:  h?ps://cloud.google.com/  

Page 12: Tamkang’’ University Social’Media’Apps’Programming’

Customers  of  Google  Cloud  Pla6orm  

12  Source:  h?ps://cloud.google.com/customers/  

Page 13: Tamkang’’ University Social’Media’Apps’Programming’

Angry  Birds  

13  Source:  h?ps://cloud.google.com/customers/  

Page 14: Tamkang’’ University Social’Media’Apps’Programming’

Compute  

14  Source:  h?ps://cloud.google.com/products/  

Page 15: Tamkang’’ University Social’Media’Apps’Programming’

Storage  

15  Source:  h?ps://cloud.google.com/products/  

Page 16: Tamkang’’ University Social’Media’Apps’Programming’

BigQuery  

•  Analyze  Big  Data  in  the  cloud  with  BigQuery.    •  Run  fast,  SQL-­‐like  queries  against  mul9-­‐terabyte  datasets  in  seconds.    

•  Scalable  and  easy  to  use,  BigQuery  gives  you  real-­‐9me  insights  about  your  data  

16  Source:  h?ps://cloud.google.com/products/  

Page 17: Tamkang’’ University Social’Media’Apps’Programming’

Services  

17  Source:  h?ps://cloud.google.com/products/  

Page 18: Tamkang’’ University Social’Media’Apps’Programming’

PredicEon  API  

•  Use  Google’s  machine  learning  algorithms  to  analyze  data  and  predict  future  outcomes  using  a  familiar  RESTful  interface.  

18  Source:  h?ps://cloud.google.com/products/  

Page 19: Tamkang’’ University Social’Media’Apps’Programming’

Google  Cloud  Pla6orm  SoluEons  

19  Source:  h?ps://cloud.google.com/solu9ons/  

Page 20: Tamkang’’ University Social’Media’Apps’Programming’

Mobile  App  with  Google  Cloud  Pla6orm  

20  Source:  h?ps://cloud.google.com/solu9ons/mobile/  

Page 21: Tamkang’’ University Social’Media’Apps’Programming’

21  Source:  h?ps://cloud.google.com/solu9ons/mobile/  

Mobile  App  with  Google  Cloud  Pla6orm  

Page 22: Tamkang’’ University Social’Media’Apps’Programming’

22  Source:  h?ps://cloud.google.com/developers/ar9cles/mobile-­‐applica9on-­‐solu9ons/  

Page 23: Tamkang’’ University Social’Media’Apps’Programming’

Mobile  SoluEon  on    Google  Cloud  Pla6orm  

•  Support  for  Android  and  iOS  devices  through  na9ve  applica9ons  

•  Storage,  retrieval,  and  processing  data  outside  of  mobile  devices  

•  Orchestra9ng  push  no9fica9on  to  Android  and  IOS  devices  

•  Geo-­‐loca9on  awareness  and  geo-­‐proximity  search  •  User  authen9ca9on  •  High  scalability  

23  Source:  h?ps://cloud.google.com/developers/ar9cles/mobile-­‐applica9on-­‐solu9ons/  

Page 24: Tamkang’’ University Social’Media’Apps’Programming’

Mobile  App  SoluEons  Architecture  

24  Source:  h?ps://cloud.google.com/developers/ar9cles/mobile-­‐applica9on-­‐solu9ons/  

Page 25: Tamkang’’ University Social’Media’Apps’Programming’

 Mobile  App  SoluEons  Architecture  

•  Android  and/or  iOS  mobile  clients.  •  Google  Cloud  Endpoints  used  for  communica9ons  between  the  clients  and  the  backend  over  REST  API  with  op9onal  OAuth2  authen9ca9on.  

•  Your  mobile  backend  applica9on  code  running  on  Google  App  Engine  and  responsible  for  serving  requests  from  the  clients.  

25  Source:  h?ps://cloud.google.com/developers/ar9cles/mobile-­‐applica9on-­‐solu9ons/  

Page 26: Tamkang’’ University Social’Media’Apps’Programming’

Storing  data  

26  

Page 27: Tamkang’’ University Social’Media’Apps’Programming’

Google  App  Engine    Datastore  Quotas  and  limits  

Limit Amount Maximum  en9ty  size   1 megabyte

Maximum  transac9on  size   10 megabytes

Maximum  number  of  index  entries  for  an  en9ty   20000

Maximum  number  of  bytes  in  composite  indexes  for  an  en9ty   2 megabytes

27  Source:  h?ps://cloud.google.com/appengine/docs/java/datastore/  

Page 28: Tamkang’’ University Social’Media’Apps’Programming’

OpEmizing  data  access  with  Memcache  

28  Source:  h?ps://cloud.google.com/developers/ar9cles/mobile-­‐applica9on-­‐solu9ons/  

Page 29: Tamkang’’ University Social’Media’Apps’Programming’

Google  App  Engine    Plahorm  as  a  Service  (PaaS)  

29  Source:  h?ps://cloud.google.com/appengine/docs  

build  and  run  applica9ons  on  Google’s  infrastructure  

Page 30: Tamkang’’ University Social’Media’Apps’Programming’

Google  App  Engine    

• 1  GB  of  data  storage  and  traffic  for  free  

 

• can  be  increased    by  enabling  paid  applica9ons  

 

30  Source:  h?ps://cloud.google.com/appengine/docs/wha9sgoogleappengine  

Page 31: Tamkang’’ University Social’Media’Apps’Programming’

Google  App  Engine    

31  

Python   Java  

PHP   Go  

Google  App  Engine  supports  apps  wri?en  in  a  variety  of  programming  languages:  Python,  Java,  PHP,  Go  

Source:  h?ps://cloud.google.com/appengine/docs/wha9sgoogleappengine  

Page 32: Tamkang’’ University Social’Media’Apps’Programming’

32  

Google  App  Engine  

h?ps://cloud.google.com/appengine/  

Page 33: Tamkang’’ University Social’Media’Apps’Programming’

33  

Google  App  Engine  

h?ps://cloud.google.com/appengine/  

Page 34: Tamkang’’ University Social’Media’Apps’Programming’

34  

Google  Cloud  Datastore  

h?ps://cloud.google.com/datastore/  

Page 35: Tamkang’’ University Social’Media’Apps’Programming’

35  

Google  Cloud  Datastore  

h?ps://cloud.google.com/datastore/  

Page 36: Tamkang’’ University Social’Media’Apps’Programming’

Google  Cloud  Endpoints  

36  Source:  h?ps://cloud.google.com/endpoints/  

Page 37: Tamkang’’ University Social’Media’Apps’Programming’

37  

Google  Cloud  Endpoints  

Source:  h?ps://cloud.google.com/endpoints/  

Page 38: Tamkang’’ University Social’Media’Apps’Programming’

Mobile  Apps  Backend    on  Google  App  Engine  

 

38  Source:  h?ps://cloud.google.com/appengine/docs/java/endpoints/  

Cloud  Endpoints  App  Engine  

Google  Cloud  Endpoints  Architecture  

Page 39: Tamkang’’ University Social’Media’Apps’Programming’

Mobile  App,  Goolge  App  Engine,  Cloud  Datasotre  

39  h?p://www.youtube.com/watch?v=v5u_Owtbfew  

Page 40: Tamkang’’ University Social’Media’Apps’Programming’

Mobile,  Web  and  Cloud  

40  h?p://www.youtube.com/watch?v=6_oO9Gwf_do  

Page 41: Tamkang’’ University Social’Media’Apps’Programming’

Build  your  mobile  app  with  Google  Cloud  Pla6orm  

41  h?p://www.youtube.com/watch?v=ZZNb1NOPTp8  

Page 42: Tamkang’’ University Social’Media’Apps’Programming’

42  h?p://www.youtube.com/watch?v=QJp6hmASstQ  

App  Engine  Architecture  and  Services  

Page 43: Tamkang’’ University Social’Media’Apps’Programming’

43  

Source:  Datastore  Introduc9on,  h?p://www.youtube.com/watch?v=fQazhzcC-­‐rg  

Datastore  IntroducEon  

Page 44: Tamkang’’ University Social’Media’Apps’Programming’

Google  Cloud  Datastore  

44  Source:  Datastore  Introduc9on,  h?p://www.youtube.com/watch?v=fQazhzcC-­‐rg  

Datasotre  is  a  database  (persistent  storage)  for  App  Engine    

Google  App  Engine   Tradi9onal    Web  applica9ons  

Google  App  Engine  (Java,  Python,  Go)  

Datastore  

RDBMS  •  MySQL  •  PostgreSQL  •  SQL  Server  •  Oracle  

Perl/CGI  PHP  

Ruby  on  Rails  ASP/JSP  

Web  applica9on  framework  

(AP)  

Persistent  storage  (Database)  

Page 45: Tamkang’’ University Social’Media’Apps’Programming’

45  

h?ps://cloud.google.com/docs/  Google  Cloud  Pla6orm  

Page 46: Tamkang’’ University Social’Media’Apps’Programming’

Try  Google  Cloud  Pla6orm  for  free  

46  

Page 47: Tamkang’’ University Social’Media’Apps’Programming’

47  

Try  Google  Cloud  Pla6orm  for  free  

Page 48: Tamkang’’ University Social’Media’Apps’Programming’

48  

h?ps://cloud.google.com/docs/  Google  Cloud  Pla6orm  

Page 49: Tamkang’’ University Social’Media’Apps’Programming’

49  

h?ps://cloud.google.com/docs/  Google  Cloud  Pla6orm  

Page 50: Tamkang’’ University Social’Media’Apps’Programming’

App  Engine  "Hello  World"  starter  

•  Start  edi9ng  a  working  "Hello  World"  app  right  now,  in  the  browser.    

•  This  gives  you  a  good  star9ng  point  and  a  feel  for  what  it's  like  edi9ng  a  working  App  Engine  applica9on.  

50  

h?ps://console.developers.google.com/start/appengine  

Google  App  Engine  

Deploy  your  first  app  in  five  minutes  

Page 51: Tamkang’’ University Social’Media’Apps’Programming’

Try  Google  App  Engine  Now  

1.  NAME  YOUR  PROJECT  2.  SELECT  YOUR  LANGUAGE  3.  EXPLORE  THE  STARTER  CODE  4.  INSTALL  GOOGLE  CLOUD  SDK  5.  RUN  YOUR  APP  LOCALLY  6.  CREATE  YOUR  PROJECT  AND  DEPLOY  

51  

Page 52: Tamkang’’ University Social’Media’Apps’Programming’

52  

Google  App  Engine  

Page 53: Tamkang’’ University Social’Media’Apps’Programming’

53  

Google  App  Engine  

Page 54: Tamkang’’ University Social’Media’Apps’Programming’

54  

Google  App  Engine  

Page 55: Tamkang’’ University Social’Media’Apps’Programming’

55  

Google  App  Engine  

Page 56: Tamkang’’ University Social’Media’Apps’Programming’

56  

Google  App  Engine  

Page 57: Tamkang’’ University Social’Media’Apps’Programming’

57  

Google  App  Engine  

Page 58: Tamkang’’ University Social’Media’Apps’Programming’

58  

Google  App  Engine  

Page 59: Tamkang’’ University Social’Media’Apps’Programming’

59  

Google  App  Engine  

Page 60: Tamkang’’ University Social’Media’Apps’Programming’

60  

Google  Cloud  Pla6orm  

Page 61: Tamkang’’ University Social’Media’Apps’Programming’

Summary  •  Google  Cloud  Pla6orm  

– Google  App  Engine  – Google  Cloud  Datastore  – Google  Cloud  Endpoints  

•  Mobile  App  with  Google  Cloud  Pla6orm    

61  

Page 62: Tamkang’’ University Social’Media’Apps’Programming’

References  •  Google  Cloud  Plahorm,    

h?ps://cloud.google.com/  •  Google  App  Engine,    

h?ps://cloud.google.com/appengine/  •  Google  Cloud  Datastore,    

h?ps://cloud.google.com/datastore/  •  Google  Cloud  Endpoints,    

h?ps://cloud.google.com/endpoints/  

62