Tamkang University Social Media Apps Programming Google App
- Slides: 131
Tamkang University Social Media Apps Programming Google App Engine 1071 SMAP 11 TLMXM 1 A (8550) (M 2143) (Fall 2018) (MIS MBA) (2 Credits, Elective) [Full English Course] Thu 8, 9 (10: 10 -12: 00) B 206 Min-Yuh Day, Ph. D. Assistant Professor Department of Information Management Tamkang University http: //mail. tku. edu. tw/myday 2018 -12 -06
Course Schedule (1/2) Tamkang University Week Date Subject/Topics 1 2018/09/13 Course Orientation and Introduction to Social Media and Mobile Apps Programming 2 2018/09/20 Introduction to Android / i. OS Apps Programming 3 2018/09/27 Developing Android Native Apps with Java (Android Studio) 4 2018/10/04 Developing i. Phone / i. Pad Native Apps with Swift (XCode) 5 2018/10/11 Mobile Apps using HTML 5/CSS 3/Java. Script 6 2018/10/18 j. Query Mobile 7 2018/10/25 Create Hybrid Apps with Phonegap 8 2018/11/01 j. Query Mobile/Phonegap 9 2018/11/08 j. Query Mobile/Phonegap 2
Course Schedule (2/2) Tamkang University Week Date Subject/Topics 10 2018/11/15 Midterm Exam Week / Project Presentation 11 2018/11/22 Case Study on Social Media Apps Programming and Marketing in Google Play and App Store 12 2018/11/29 Google Cloud Platform 13 2018/12/06 Google App Engine 14 2018/12/13 Google Map API 15 2018/12/20 Facebook API (Facebook Java. Script SDK) (Integrate Facebook with i. OS/Android Apps) 16 2018/12/27 Twitter API 17 2019/01/03 Final Project Presentation 18 2019/01/10 Final Exam Week / Final Project Presentation 3
Outline • Google App Engine – Google Cloud Platform – Google Cloud Datastore – Google Firebase 4
App Backend 5
App Frontend i. OS Android Web 6
Mobile Apps Backend on Google Cloud App Backend 7
App Backend i. OS Android Frontend Web 8
Google Cloud Platform Hosting + Compute Storage Big Data Source: https: //cloud. google. com/products/ Services 9
Google Cloud Platform Compute Storage App Engine Cloud Datastore Compute Engine Cloud SQL Container Engine Cloud Storage Big Data Services Cloud Endpoints Big Query Source: https: //cloud. google. com/products/ Translate API Prediction API 10
Mobile App Backend Services i. OS Android Cloud Endpoints Web Services App Engine Cloud Datastore Compute Source: https: //cloud. google. com/solutions/mobile-app-backend-services Storage 11
Mobile App Backend Services Source: https: //cloud. google. com/solutions/mobile-app-backend-services 12
Firebase Source: https: //cloud. google. com/solutions/mobile-app-backend-services 13
Firebase and Google App Engine standard environment Source: https: //cloud. google. com/solutions/mobile-app-backend-services 14
Firebase and App Engine flexible environment Source: https: //cloud. google. com/solutions/mobile-app-backend-services 15
App Engine and Cloud Endpoints Source: https: //cloud. google. com/solutions/mobile-app-backend-services 16
Compute Engine and REST or g. RPC Source: https: //cloud. google. com/solutions/mobile-app-backend-services 17
Storing data and Exchanging data 18
JSON • JSON –Java. Script Object Notation. • JSON is a syntax for storing and exchanging data. • JSON is an easier-to-use alternative to XML. Source: http: //www. w 3 schools. com/js/js_json_intro. asp 19
JSON {"employees": [ {"first. Name": "John", "last. Name": "Doe"}, {"first. Name": "Anna", "last. Name": "Smith"}, {"first. Name": "Peter", "last. Name": "Jones"} ]} Source: http: //www. w 3 schools. com/js/js_json_intro. asp 20
XML <employees> <employee> <first. Name>John</first. Name> <last. Name>Doe</last. Name> </employee> <first. Name>Anna</first. Name> <last. Name>Smith</last. Name> </employee> <first. Name>Peter</first. Name> <last. Name>Jones</last. Name> </employees> Source: http: //www. w 3 schools. com/js/js_json_intro. asp 21
JSON vs. XML {"employees": [ {"first. Name": "John", "last. Name": "Doe"}, {"first. Name": "Anna", "last. Name": "Smith"}, {"first. Name": "Peter", "last. Name": "Jones"} ]} <employees> <employee> <first. Name>John</first. Name> <last. Name>Doe</last. Name> </employee> <first. Name>Anna</first. Name> <last. Name>Smith</last. Name> </employee> <first. Name>Peter</first. Name> <last. Name>Jones</last. Name> </employees> Source: http: //www. w 3 schools. com/js/js_json_intro. asp 22
API Application Programming Interface 23
API Your App 24
API Request http: //graph. facebook. com/4 Your App 25
API Request Response { http: //graph. facebook. com/4 } "id": "4", "first_name": "Mark", "gender": "male", "last_name": "Zuckerberg", "link": "https: //www. facebook. com/zuck", "locale": "en_US", "name": "Mark Zuckerberg", "username": "zuck" Your App 26
http: //graph. facebook. com/4 27
Facebook API (JSON) http: //graph. facebook. com/4 { } "id": "4", "first_name": "Mark", "gender": "male", "last_name": "Zuckerberg", "link": "https: //www. facebook. com/zuck", "locale": "en_US", "name": "Mark Zuckerberg", "username": "zuck" 28
http: //graph. facebook. com/minyuhday 29
Java. Script vs. JSON • JSON –Java. Script Object Notation • Format for sharing data • Derived from Java. Script • Language independent • An alternative to XML Source: https: //www. youtube. com/watch? v=40 a. Klr. L-2 V 8 30
JSON • Advantages – Easy to read – Easy to write – Easy to Parse Var info = JSON. parse(data); info. name info. position info. courses[i] – Learner than XML – Growing support in APIs (i. e. , Facebook, Twitter) – Natural format for Java. Script – Implementation in many languages Source: https: //www. youtube. com/watch? v=40 a. Klr. L-2 V 8 31
JSON { “name” : “Min-Yuh Day” “position” : “Assistant Professor” “courses” : [ “Social Media Apps Programming” “Social Media Marketing” “Data Mining” ] } var info = JSON. parse(data); info. name info. position info. courses[i] Source: https: //www. youtube. com/watch? v=40 a. Klr. L-2 V 8 32
App Engine and Cloud Endpoints Source: https: //cloud. google. com/solutions/mobile-app-backend-services 33
Mobile Apps Backend on Google App Engine Cloud Endpoints App Engine Google Cloud Endpoints Architecture Source: https: //cloud. google. com/appengine/docs/java/endpoints/ 34
Google App Engine, Google Cloud Datastore Datasotre is a database (persistent storage) for App Engine Web application framework (AP) Persistent storage (Database) Google App Engine Traditional Web applications Google App Engine (Java, Python, Go) Perl/CGI PHP Ruby on Rails ASP/JSP Datastore • • RDBMS My. SQL Postgre. SQL Server Oracle Source: Datastore Introduction, http: //www. youtube. com/watch? v=f. Qazhzc. C-rg 35
Source: https: //cloud. google. com/developers/articles/mobile-application-solutions/ 36
Mobile App Solutions Architecture Source: https: //cloud. google. com/developers/articles/mobile-application-solutions/ 37
Storing data Source: https: //cloud. google. com/developers/articles/mobile-application-solutions/ 38
Optimizing data access with Memcache Source: https: //cloud. google. com/developers/articles/mobile-application-solutions/ 39
Google App Engine Platform as a Service (Paa. S) build and run applications on Google’s infrastructure Source: https: //cloud. google. com/appengine/docs 40
Google App Engine Platform as a Service (Paa. S) Google Compute Engine Infrastructure as a Service (Iaa. S) Source: https: //cloud. google. com/appengine/docs 41
Mobile App Backend Services Source: https: //cloud. google. com/solutions/mobile-app-backend-services 42
Mobile App Backend Services Source: https: //cloud. google. com/solutions/mobile-app-backend-services 43
Google App Engine • 1 GB of data storage and traffic for free • can be increased by enabling paid applications Source: https: //cloud. google. com/appengine/docs/whatisgoogleappengine 44
Google App Engine supports apps written in a variety of programming languages: Python, Java, PHP, Go Python Java PHP Go Source: https: //cloud. google. com/appengine/docs/whatisgoogleappengine 45
Google App Engine https: //cloud. google. com/appengine/ 46
Google Cloud Datastore https: //cloud. google. com/datastore/ 47
Google Cloud Endpoints Source: https: //cloud. google. com/endpoints/ 48
Mobile Apps Backend on Google App Engine Cloud Endpoints App Engine Google Cloud Endpoints Architecture Source: https: //cloud. google. com/appengine/docs/java/endpoints/ 49
Mobile App, Goolge App Engine, Cloud Datasotre http: //www. youtube. com/watch? v=v 5 u_Owtbfew 50
Try Google Cloud Platform for free 51
Try Google Cloud Platform for free 52
Google Cloud Platform https: //cloud. google. com/docs/ 53
Google Cloud Platform https: //cloud. google. com/docs/ 54
Mobile App Backend Services i. OS Android Cloud Endpoints Web Services App Engine Cloud Datastore Compute Source: https: //cloud. google. com/solutions/mobile-app-backend-services Storage 55
Google App Engine "Hello World" starter https: //console. developers. google. com/start/appengine Deploy your first app in five minutes • Start editing a working "Hello World" app right now, in the browser. • This gives you a good starting point and a feel for what it's like editing a working App Engine application. 56
Try Google App Engine Now 1. 2. 3. 4. 5. 6. NAME YOUR PROJECT SELECT YOUR LANGUAGE EXPLORE THE STARTER CODE INSTALL GOOGLE CLOUD SDK RUN YOUR APP LOCALLY CREATE YOUR PROJECT AND DEPLOY 57
Google App Engine 58
Google App Engine 59
Google App Engine 60
Google App Engine 61
Google App Engine 62
Google App Engine 63
Google App Engine 64
Google App Engine 65
Google App Engine Build an App Engine Application using Python Creating a Guestbook 1. Download the App Engine SDK 2. Explaining the webapp 2 Framework 3. Using the Users Service 4. Handling Forms with webapp 2 5. Using the Datastore 6. Using Templates 7. Using Static Files 8. Uploading Your Application Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 66
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 67
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 68
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 69
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 70
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 71
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 72
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 73
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 74
Google App Engine Source: https: //cloud. google. com/appengine/docs/python/gettingstartedpython 27/introduction 75
Google Cloud Platform 76
Google Cloud Platform https: //cloud. google. com/docs/ 77
Try Google Cloud Platform for free 78
Try Google Cloud Platform for free 79
Google Cloud Platform https: //cloud. google. com/docs/ 80
Google App Engine "Hello World" starter https: //console. developers. google. com/start/appengine Deploy your first app in five minutes • Start editing a working "Hello World" app right now, in the browser. • This gives you a good starting point and a feel for what it's like editing a working App Engine application. 81
Try Google App Engine Now 1. 2. 3. 4. 5. 6. NAME YOUR PROJECT SELECT YOUR LANGUAGE EXPLORE THE STARTER CODE INSTALL GOOGLE CLOUD SDK RUN YOUR APP LOCALLY CREATE YOUR PROJECT AND DEPLOY 82
Google App Engine 83
Google App Engine 84
Google App Engine 85
Google App Engine 86
Google App Engine 87
Google App Engine 88
Google App Engine 89
Google App Engine 90
Google Cloud Datastore 91
Mobile App Backend Services i. OS Android Cloud Endpoints Web Services App Engine Cloud Datastore Compute Source: https: //cloud. google. com/solutions/mobile-app-backend-services Storage 92
Datastore Internals • Based on Bigtable – high scalability – High availability • synchronous writes on multiple datacenters Datastore query Megastore transactions Bigtable Scalable and reliable storage Source: Datastore Introduction, http: //www. youtube. com/watch? v=f. Qazhzc. C-rg 93
What is Bigtable? • Scalable, distributed, highly-available and structured storage – Bigtable is not database by itself (it doesn’t support query) • Google usage – In production since April 2005 – Web Search, You. Tube, Earth, Analytics Bigtable Scalable and reliable storage Source: Datastore Introduction, http: //www. youtube. com/watch? v=f. Qazhzc. C-rg 94
Bigtable Data Model • A row has a Key and Columns • Sorted by Key – In lexical order – Enables range query by application “contents: ” “com. cnn. www” “<html>…” “anchor: cnnsi. com” t 3 t 6 t 5 “CNN” t 9 “anchor: my. look. ca” “CNN. com” Source: Datastore Introduction, http: //www. youtube. com/watch? v=f. Qazhzc. C-rg t 8 95
Google Datastore Basic Operation Different terms for corresponding concepts Google Datastore Relational Database Management System (RDBMS) Category of object Kind Table One entry/object Entity Row Unique identifier of data entry Key Primary Key (PK) Individual data Property Field Source: Datastore Introduction, http: //www. youtube. com/watch? v=f. Qazhzc. C-rg 96
Kind, Entity and Key Blog. Entry Kinds User Key: 1234 name: joe@ex. com message: xxxxx data: 1/1/2012 12: 32 Entities Key: joe@ex. com email: joe@ex. com followees: [usr 2@ex. com, usr 3@ex. com] followers: [] Key: usr 2@ex. com email: usr 2@ex. com followees: [] followers: [joe@ex. com] Source: Datastore Introduction, http: //www. youtube. com/watch? v=f. Qazhzc. C-rg 97
Properties and Data Types Each entity has one or more named properties • Variety of datatypes (int, float, boolean, Sring, Date, …) • Can be multi-valued Blog. Entry Key: 1234 name: joe@ex. com message: xxxxx data: 1/1/2012 12: 32 Properties User Key: joe@ex. com email: joe@ex. com followees: [usr 2@ex. com, usr 3@ex. com] followers: [] Key: usr 2@ex. com email: usr 2@ex. com followees: [] followers: [joe@ex. com] Source: Datastore Introduction, http: //www. youtube. com/watch? v=f. Qazhzc. C-rg 98
Creating an Entity with Java Low-level API Datastore. Service datastore = Datastore. Service. Factory. get. Datastore. Service(); Entity employee = new Entity(“Employee”); employee. set. Property(“name”, “Antonio Saliery”); employee. set. Property(“hire. Date”, new Date()); employee. set. Property(“attended. Hr. Training”, true); datastore. put(emploee); Source: Datastore Introduction, http: //www. youtube. com/watch? v=f. Qazhzc. C-rg 99
Mobile App Backend Services Source: https: //cloud. google. com/solutions/mobile-app-backend-services 100
Source: https: //firebase. google. com/ 101
Firebase: Backend as a Service (Baa. S) Source: https: //firebase. google. com/ 102
Mobile App Backend Services Source: https: //cloud. google. com/solutions/mobile-app-backend-services 103
Mobile App Backend Services Source: https: //cloud. google. com/solutions/mobile-app-backend-services 104
Firebase Source: https: //firebase. google. com/ 105
Firebase Source: https: //firebase. google. com/ 106
Firebase Source: https: //firebase. google. com/ 107
Firebase Source: https: //firebase. google. com/ 108
Firebase Project https: //console. firebase. google. com/? pli=1 109
Firebase Project 110
Firebase Project 111
Firebase Project 112
Add Firebase to Your Web App 113
Add Firebase to Your Web App 114
Add Firebase to Your Web App <script src="https: //www. gstatic. com/firebasejs/3. 6. 4/firebase. js"></script> <script> // Initialize Firebase var config = { api. Key: "AIza. Sy. Du 4 Jodv. REi. Nj. YJP 2_YBVg. ZLp. Nu 1 HUEB_g", auth. Domain: "helloworldfirebase-d 6 ef 2. firebaseapp. com", database. URL: "https: //helloworldfirebase-d 6 ef 2. firebaseio. com", storage. Bucket: "helloworldfirebase-d 6 ef 2. appspot. com", messaging. Sender. Id: "778984601289" }; firebase. initialize. App(config); </script> 115
Add Firebase to Your Web App firebase-app - The core firebase client (required). firebase-auth - Firebase Authentication (optional). firebase-database - The Firebase Realtime Database (optional). Source: https: //firebase. google. com/docs/web/setup 116
Add Firebase to Your Web App Source: https: //firebase. google. com/docs/web/setup 117
Add Firebase to Your Web App Source: https: //firebase. google. com/docs/web/setup 118
Add Firebase to Your Web App Source: https: //firebase. google. com/docs/web/setup 119
Firebase Database Web Start Source: https: //firebase. google. com/docs/database/web/start 120
Firebase Database Structure Data Source: https: //firebase. google. com/docs/database/web/structure-data 121
Firebase Database Structure Data Source: https: //firebase. google. com/docs/database/web/structure-data 122
Firebase Database Write Data Source: https: //firebase. google. com/docs/database/web/read-and-write 123
Firebase Database Read Data Source: https: //firebase. google. com/docs/database/web/read-and-write 124
Firebase Database 125
Firebase Database Rules 126
Firebase Database 127
Firebase Database 128
Firebase Database 129
Summary • Google App Engine – Google Cloud Platform – Google Cloud Datastore – Google Firebase 130
References • Google Cloud Platform, https: //cloud. google. com/ • Google App Engine, https: //cloud. google. com/appengine/ • Google Cloud Datastore, https: //cloud. google. com/datastore/ • Google Cloud Endpoints, https: //cloud. google. com/endpoints/ • Google Firebase https: //firebase. google. com/ 131
- Consumer apps vs enterprise apps
- Create google form
- Csustan canvas
- Introduction to google apps
- Msu denver chrome river
- App on apple app store user
- There are 3 types of people media
- Google app engine in cloud computing
- Google app inventor download
- App inventor background service
- Scholar google app
- Introduction to google app engine
- Google tour builder examples
- App_engine_apis
- Download google classroom app
- Goolge cloud
- Rave google drive
- Perbedaan linear programming dan integer programming
- Greedy vs dynamic
- Runtime programming
- Integer programming vs linear programming
- Definisi linear
- Apa itu social thinking
- Social thinking social influence social relations
- Google form to google calendar
- Google earth google prevoditelj
- Google acadêmico (https //scholar.google.com.br/)
- Google docshttps://mail.google.com/mail/u/0/#inbox
- Jd edwards mobile
- Http://apps.tujuhbukit.com/covid19/
- Thingworx manufacturing apps
- Eduphoria wylie isd
- Learning apps prijava
- Technology applications examples
- Chrome extenso
- Https learningapps
- Special education free apps
- Revit apps
- Kseb hris smart
- Learning apps prijava
- Usa.gov apps gallery
- Owasp broken web application download
- Owasp broken web applications project
- Learning apps prijava
- Poesces
- Https learningapps org myapps php
- Pbis apps
- Building agile business process - rapid apps
- Smart process applications
- Aye tides
- Birth defects
- Ondersteunende communicatie apps
- Ptc manufacturing apps
- Https: //learningapps.org
- Guided, stochastic model-based gui testing of android apps
- Thingworx manufacturing apps installation
- Newforma plans app
- Intrinsec dex
- Shortcut apps
- Hud 2530 form
- Canvas vs model driven apps
- Three tier approach
- Latex apps
- Kahoot.it.www
- Buept 2021
- Android apps for music teachers
- Azure function multiple triggers
- Przetłumacz zdania na język rosyjski
- Power apps
- Thingworx asset advisor
- Gentle apps
- Oracle apps adapter architecture
- Alud deusto tic
- Minispas
- Apps at rackspace
- Portable apps gimp
- "university of maryland university college"
- Selective and differential media
- Jadi
- Decision media
- Alta edad media y baja edad media
- Edad media características
- Hot and cold medium
- Fastidious bacteria
- Vogue media language a level
- Jelaskan pengertian seni visual stpm
- Hot media and cold media
- Moyens hors média
- Wired and wireless media
- Perbedaan media jadi dan media rancang
- Hot and cold media
- New media vs old media
- Western michigan university school of social work
- Boston university social work
- Social work sjsu
- Professional boundaries in social work quiz
- University of texas at arlington school of social work
- Social impact stellenbosch university
- Boston university school of social work
- University of memphis school of social work
- Salem state social work
- Griffith social work
- Social media strategy executive summary example
- Social media assembly
- Big data and social media analytics
- Social media negative effects
- Future of social media 2050
- Social media for asset managers
- Christian social media
- Content pillar template
- Social media solihull
- Shrm social media policy
- Why organic social media is important
- Social media training presentation
- Social media training template
- Social media presenter
- Define social media
- Asos social media strategy
- Honeycomb social media
- Social media consumer insights
- Abhimanyu shankhdhar, jims / social media and businss /
- Compositional mode of social media
- Importance of social media in business communication
- What are the challenges brought by media and information
- Ncaa bylaw 13
- Mass media institution
- Leveraging social media for talent acquisition
- Social media identifier
- Smanda mediadidik
- Phishing cia triad
- Influence and passivity in social media
- Factors isolating questions