Social Media Apps Programming

Slides:



Advertisements
Similar presentations
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Advertisements

Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Introduction to Backend James Kahng. Install Node.js.
Multiple Tiers in Action
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Platform as a Service (PaaS)
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Google App Engine Google APIs OAuth Facebook Graph API
Google App Engine Danail Alexiev Technical Trainer SoftAcad.bg.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
CS 174: Web Programming April 21 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
1 NETE4631 Using Google Web Services and Using Microsoft Cloud Services Lecture Notes #7.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
1 NETE4631 Using Google Web Services Lecture Notes #6.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
Google App Engine. Contents Overview Getting Started Databases Inter-app Communications Modes.
A little more App Inventor and Mind the GAP!
Front-end framework 1.
Platform as a Service (PaaS)
Web Development & Design Foundations with HTML5
HTML5 Level II Session IV
Platform as a Service (PaaS)
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Platform as a Service (PaaS)
Social Media Apps Programming
Web Services application that operates over a network
Nicho Joins Microsoft Azure Certified Program to Transform Brand Engagement, Boost Customer Acquisition and Conversions with Scalable Ease MICROSOFT AZURE.
CHAPTER 9 APIS. CHAPTER 9 APIS WHAT IS AN API?
NoSQL Database and Application
Apache Cordova Overview
Platform as a Service.
Tutorial 6 Topic: jQuery and jQuery Mobile Li Xu
Couchbase Server is a NoSQL Database with a SQL-Based Query Language
Web Development & Design Foundations with HTML5
Social Media Apps Programming
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
PHP / MySQL Introduction
Tutorial 4: jQuery Mobile
Built on the Powerful Microsoft Azure Platform, Lievestro Delivers Care Information, Capacity Management Solutions to Hospitals, Medical Field MICROSOFT.
Designed for Big Data Visual Analytics, Zoomdata Allows Business Users to Quickly Connect, Stream, and Visualize Data in the Microsoft Azure Platform MICROSOFT.
Mobile App Development
Google App Engine Danail Alexiev
DeFacto Planning on the Powerful Microsoft Azure Platform Puts the Power of Intelligent and Timely Planning at Any Business Manager’s Fingertips Partner.
Anatomy of an App User Interface Design
XtremeData on the Microsoft Azure Cloud Platform:
Quasardb Is a Fast, Reliable, and Highly Scalable Application Database, Built on Microsoft Azure and Designed Not to Buckle Under Demand MICROSOFT AZURE.
Cloud Web Filtering Platform
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
CS4433 Database Systems Project.
Agenda Need of Cloud Computing What is Cloud Computing
Web Development & Design Foundations with HTML5
Presentation transcript:

Social Media Apps Programming Tamkang University Social Media Apps Programming Google App Engine and Google Maps API 1021SMAP10 TLMXM1A (8687) (M2143) (Fall 2013) (MIS MBA) (2 Credits, Elective) [Full English Course] Thu 9,10 (16:10-18:00) V201 Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University http://mail.tku.edu.tw/myday 2013-12-19

Course Schedule (1/3) Week Date Subject/Topics 1 2013/09/19 Mid-Autumn Festival (Day off) 2 2013/09/26 Course Orientation and Introduction to Social Media and Mobile Apps Programming 3 2013/10/03 Introduction to Android / iOS Apps Programming 4 2013/10/10 Double Tenth Day (Day off) 5 2013/10/17 Developing Android Native Apps with Java (Eclipse) (MIT App Inventor) 6 2013/10/24 Developing iPhone / iPad Native Apps with Objective-C (Xcode)

Course Schedule (2/3) Week Date Subject/Topics 7 2013/10/31 Mobile Apps using HTML5/CSS3/JavaScript 8 2013/11/07 jQuery Mobile 9 2013/11/14 Create Hybrid Apps with PhoneGap 10 2013/11/21 Midterm Exam Week (Midterm Project Report) 11 2013/11/28 jQuery Mobile/Phonegap 12 2013/12/05 Invited Talk: Social, Mobile and Business Model in PIXNET [Invited Speaker: Dr. Rick Cheng-Yu Lu]

Course Schedule (3/3) Week Date Subject/Topics 13 2013/12/12 Case Study on Social Media Apps Programming and Marketing in Google Play and App Store 14 2013/12/19 Google App Engine and Google Map API 15 2013/12/26 Facebook API (Facebook JavaScript SDK) (Integrate Facebook with iOS/Android Apps) 16 2014/01/02 Twitter API 17 2014/01/09 Final Project Presentation 18 2014/01/16 Final Exam Week (Final Project Report)

Outline Google App Engine Google Maps API Google Cloud Platform Google Cloud Datastore Google Maps API

Google Cloud Platform https://cloud.google.com/

Google Cloud Platform App Engine Compute Engine Cloud Storage Cloud SQL Cloud Datastore BigQuery Prediction API Translate API Cloud Endpoints https://cloud.google.com/products/

Google Cloud Platform https://cloud.google.com/

Google Cloud Platform https://cloud.google.com/

Google Cloud Products https://cloud.google.com/products/

Google Cloud Products https://cloud.google.com/products/

Google Cloud Products https://cloud.google.com/products/

Google Cloud Products https://cloud.google.com/products/

https://cloud.google.com/products/app-engine/ Google App Engine https://cloud.google.com/products/app-engine/

Google Cloud Datastore https://cloud.google.com/products/cloud-datastore/

Mobile App, Goolge App Engine, Cloud Datasotre http://www.youtube.com/watch?v=v5u_Owtbfew

Google Cloud Endpoints https://developers.google.com/appengine/docs/java/endpoints/

Mobile, Web and Cloud http://www.youtube.com/watch?v=6_oO9Gwf_do

Build your mobile app with Google Cloud Platform http://www.youtube.com/watch?v=ZZNb1NOPTp8

App Engine Architecture and Services Google App Engine Architecture and Services, http://www.youtube.com/watch?v=QJp6hmASstQ GoogleDevelopers Published on Feb 5, 2013 This lesson introduces how App Engine solves the needs of a real-time earthquake monitor in Japan, in a robust scalable way that handles peak request throughput during earthquakes without needing to keep server resources up and running all the time. Learn how to configure your App Engine applications to best take advantage of the underlying Google infrastructure, including edge caching and load balancing, to optimize response speed and minimize cost. http://www.youtube.com/watch?v=QJp6hmASstQ

Datastore Introduction GoogleDevelopers Published on Feb 5, 2013 Datastore service in App Engine is the core component of the platform and an essential part of learning App Engine technologies. In this lesson we will cover topics including "What is Datastore?", "Datastore Internals" and "Datastore Basic Operation". We will be looking at basic concepts including the difference between a Relational Database and Datastore, scalability, reliability and performance characteristics of Datastore. We will also dive deeper into the underlying technology, Google Bigtable. As basic operations, we will learn Datastore concepts like Entity, Property and Key as well as Datastore APIs. Source: Datastore Introduction, http://www.youtube.com/watch?v=fQazhzcC-rg

Google Cloud Datastore Datasotre is a database (persistent storage) for App Engine Google App Engine Traditional Web applications Web application framework (AP) Google App Engine (Java, Python, Go) Perl/CGI PHP Ruby on Rails ASP/JSP Persistent storage (Database) Datastore RDBMS MySQL PostgreSQL SQL Server Oracle Source: Datastore Introduction, http://www.youtube.com/watch?v=fQazhzcC-rg

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=fQazhzcC-rg

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, YouTube, Earth, Analytics Bigtable Scalable and reliable storage Source: Datastore Introduction, http://www.youtube.com/watch?v=fQazhzcC-rg

Bigtable Data Model A row has a Key and Columns Sorted by Key In lexical order Enables range query by application “contents:” “anchor:cnnsi.com” “anchor:my.look.ca” “<html>…” t3 “com.cnn.www” “<html>…” t5 “<html>…” t9 t6 “CNN” “CNN.com” t8 Source: Datastore Introduction, http://www.youtube.com/watch?v=fQazhzcC-rg

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=fQazhzcC-rg

Kind, Entity and Key Kinds Key Entities BlogEntry User Key: 1234 name: joe@ex.com message: xxxxx data: 1/1/2012 12:32 Key: joe@ex.com email: joe@ex.com followees: [usr2@ex.com, usr3@ex.com] followers: [] Key: usr2@ex.com email: usr2@ex.com followees: [] followers: [joe@ex.com] Entities Source: Datastore Introduction, http://www.youtube.com/watch?v=fQazhzcC-rg

Properties and Data Types Each entity has one or more named properties Variety of datatypes (int, float, boolean, Sring, Date,…) Can be multi-valued BlogEntry User Key: 1234 name: joe@ex.com message: xxxxx data: 1/1/2012 12:32 Key: joe@ex.com email: joe@ex.com followees: [usr2@ex.com, usr3@ex.com] followers: [] Key: usr2@ex.com email: usr2@ex.com followees: [] followers: [joe@ex.com] Properties Source: Datastore Introduction, http://www.youtube.com/watch?v=fQazhzcC-rg

Creating an Entity with Java Low-level API DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); Entity employee = new Entity(“Employee”); employee.setProperty(“name”, “Antonio Saliery”); employee.setProperty(“hireDate”, new Date()); employee.setProperty(“attendedHrTraining”, true); datastore.put(emploee); Source: Datastore Introduction, http://www.youtube.com/watch?v=fQazhzcC-rg

Google Maps API https://developers.google.com/maps/

Google Maps API https://developers.google.com/maps/

Google Maps JavaScript API https://developers.google.com/maps/documentation/javascript/tutorial

Obtaining an Google Maps API Key https://developers.google.com/maps/documentation/javascript/tutorial

Demo: Integrate Google Maps JavaScript API with jQuery Mobile

Start using the Google APIs console https://code.google.com/apis/console https://code.google.com/apis/console/?noredirect&pli=1

Google APIs Console

Google APIs Console

Google APIs Console

Google APIs Console

Google Developers Console Google Cloud Platform

Google Maps API v3

Credentials: Public API access Get Google Maps API Key

Google Map JavaScript API Hello, World https://developers.google.com/maps/documentation/javascript/tutorial

Google Map JavaScript API Hello, World <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map-canvas { height: 100% } </style> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=API_KEY&sensor=SET_TO_TRUE_OR_FALSE"> </script> <script type="text/javascript"> function initialize() { var mapOptions = { center: new google.maps.LatLng(-34.397, 150.644), zoom: 8 }; var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); } google.maps.event.addDomListener(window, 'load', initialize); </head> <body> <div id="map-canvas"/> </body> </html> API key https://developers.google.com/maps/documentation/javascript/tutorial

Google Maps JavaScript API: Simple Map https://developers.google.com/maps/documentation/javascript/examples/map-simple

Google Maps JavaScript API Example <!DOCTYPE html> <html> <head> <title>Simple Map</title> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <style> html, body, #map-canvas { height: 100%; margin: 0px; padding: 0px } </style> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> <script> var map; function initialize() { var mapOptions = { zoom: 8, center: new google.maps.LatLng(-34.397, 150.644) }; map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="map-canvas"></div> </body> </html> Google Maps JavaScript API Example JavaScript + HTML https://developers.google.com/maps/documentation/javascript/examples/map-simple

<div style="position:absolute; height:100%; width:100%;"> <div id="map-canvas"></div> </div> http://mail.tku.edu.tw/myday/app/map.html

Google Maps JavaScript API <style> #map-canvas { height: 100%; margin: 0px; padding: 0px } </style> <script> function initialize() { var mapOptions = { zoom: 15, center: new google.maps.LatLng(25.174738, 121.450381) }; var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); function loadScript() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true&callback=initialize'; document.body.appendChild(script); window.onload = loadScript; </script> Google Maps JavaScript API http://mail.tku.edu.tw/myday/app/map.html

map.html http://mail.tku.edu.tw/myday/app/map.html <!DOCTYPE html> <html> <head> <title>Google Maps</title> <meta charset=utf-8 /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <script src="js/jquery.js"></script> <link type="text/css" href="css/jquery.mobile-1.3.2.min.css" rel="stylesheet" /> <script type="text/javascript" src="js/jquery.mobile-1.3.2.min.js"></script> <!--PhoneGap--> <link rel="stylesheet" type="text/css" href="css/index.css" /> <!-- <script type="text/javascript" src="phonegap.js"></script> --> <script type="text/javascript" src="js/index.js"></script> <!--/PhoneGap--> <script type="text/javascript"> app.initialize(); </script> <style> #map-canvas { height: 100%; margin: 0px; padding: 0px } </style> <script> function initialize() { var mapOptions = { zoom: 15, center: new google.maps.LatLng(25.174738, 121.450381) }; var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); function loadScript() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true&callback=initialize'; document.body.appendChild(script); window.onload = loadScript; </head> <body> <div data-role="page" id="googlemaps" data-theme="b"> <div data-role="header" data-position="inline" data-theme="b"> <a data-icon="back" data-rel="back" back-btn="true">Back</a> <h1>Google Maps</h1> <a href="index.html#MyHome" rel="external" data-icon="home">Home</a> </div><!-- /header --> <div style="position:absolute; height:100%; width:100%;"> <div id="map-canvas"></div> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <div data-role="navbar"> <ul> <li><a href="index.html#MyHome" rel="external" class="ui-btn-active ui-state-persist" data-transition="fade" data-icon="home">Home</a></li> <li><a href="index.html#Research" rel="external" class="ui-btn-active ui-state-persist" data-transition="fade" data-icon="star">Research</a></li> <li><a href="index.html#Teaching" rel="external" class="ui-btn-active ui-state-persist" data-transition="fade" data-icon="check">Teaching</a></li> <li><a href="index.html#More" rel="external" class="ui-btn-active ui-state-persist" data-transition="fade" data-icon="bars">More</a></li> <li><a href="index.html#About" rel="external" class="ui-btn-active ui-state-persist" data-transition="fade" data-icon="grid">About</a></li> </ul> </div><!-- /footer --> </div><!-- /page Google Map--> </body> </html> map.html http://mail.tku.edu.tw/myday/app/map.html

Google Maps JavaScript API + jQuery Mobile http://mail.tku.edu.tw/myday/app/map.html

Summary Google App Engine Google Maps API Google Cloud Platform Google Cloud Datastore Google Maps API

References Beginning PhoneGap: Mobile Web Framework for JavaScript and HTML5, Rohit Ghatol & Yogesh Patel, Apress, 2012 Learn HTML5 and JavaScript for iOS: Web Standards-based Apps for iPhone, iPad, and iPod touch, Scott Preston, Apress, 2012 Google App Engine, https://cloud.google.com/products/app-engine/ Google Map API, https://developers.google.com/maps/