The document discusses the mobile backend platform Parse and its features. Parse provides a complete backend for mobile and web applications, allowing developers to store and query data, implement user authentication and authorization, and more. It supports numerous platforms including Android, iOS, JavaScript, and embedded devices. Some key features covered include object modeling and storage, queries, user management, file storage, and security configuration via access control lists.
Parse is a suite of cloud based APIs, services and libraries that focus on letting developers build out rich applications and less time dealing with the overhead of setting up and managing databases, push notifications, social sign on, analytics, and even hosting and servers.
In this series I'll overview the options around developing an application that leverages Parse, including using Cloud Code to deploy your Node.js app to Parse's own hosting service.
Async/await is a new language feature that will ship with Swift 5.5 this year. There’s no doubt it will have a significant impact on how we write asynchronous code.
In this talk, we’re going to look at some use cases for async/await, how we can call existing Swift APIs using this new feature, and why your decision to write your SDK in Objective-C might turn out to have been a very clever move.
We’ll also have a look at the refactoring support Apple is adding to Xcode and how it will help you migrate your existing code base.
Parse is a suite of cloud based APIs, services and libraries that focus on letting developers build out rich applications and less time dealing with the overhead of setting up and managing databases, push notifications, social sign on, analytics, and even hosting and servers.
In this series I'll overview the options around developing an application that leverages Parse, including using Cloud Code to deploy your Node.js app to Parse's own hosting service.
Async/await is a new language feature that will ship with Swift 5.5 this year. There’s no doubt it will have a significant impact on how we write asynchronous code.
In this talk, we’re going to look at some use cases for async/await, how we can call existing Swift APIs using this new feature, and why your decision to write your SDK in Objective-C might turn out to have been a very clever move.
We’ll also have a look at the refactoring support Apple is adding to Xcode and how it will help you migrate your existing code base.
Developing application for Windows Phone 7 in TDDMichele Capra
A real example of how to develop an application for Windows Phone 7 with Test Driven Development approach. In this presentation you'll see also hoew to implements the Model-View-ViewModel (MVVM) pattern.
Be lazy, be ESI: HTTP caching and Symfony2 @ PHPDay 2011 05-13-2011Alessandro Nadalin
In the first part of the presentation we see how Symfony2 implements HTTP cache.
In the second one there's an explanation of why application cache layers suck, why nerly every php application does caching in the less productive way and how you benefit from HTTP cache from this point of view.
This get started tutorial takes users through the creation of a simple FourSquare clone using the MoSync Reload SDK and cloudbase.io as a backend platform http://cloudbase.io http://www.mosync.com
'Development using iOS5 NewStuff' keynote for #IDOC2012. Bandung, 18th February 2012.
- iCloud Storage
- CoreImage
- NewsStand
Demo and sample code : https://github.com/DeenNa
In this talk I demonstrated how easy Dojo is integrating into the Adobe AIR runtime. Using a performance analysis tool I demonstrated how to use charting, grids and other features of Adobe AIR and the Dojo Toolkit
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...Codemotion
Powered by Python, MongoDB and good intentions the Eve REST API framework allows to effortlessly build and deploy highly customizable, fully featured RESTful Web Services. It is written in Python and it is powered by MongoDB, although SQL backends are supported via community extensions. In this talk I will show the framework features, explain its philosophy, and live-demo it so that you can better understand if Eve can become a valuable asset to your current and future projects.
AI: Mobile Apps That Understands Your Intention When You TypedMarvin Heng
With Microsoft's Cognitive Services - Language Understanding Intelligent Service (LUIS), we can build a smart app. By following this tutorial, you should learn how to create a intelligent cross platform Mobile App that understands what is your intention.
Read more @ www.techconnect.io
By Marvin Heng
Twitter: @hmheng
Blog: www.techconnect.io
Developing application for Windows Phone 7 in TDDMichele Capra
A real example of how to develop an application for Windows Phone 7 with Test Driven Development approach. In this presentation you'll see also hoew to implements the Model-View-ViewModel (MVVM) pattern.
Be lazy, be ESI: HTTP caching and Symfony2 @ PHPDay 2011 05-13-2011Alessandro Nadalin
In the first part of the presentation we see how Symfony2 implements HTTP cache.
In the second one there's an explanation of why application cache layers suck, why nerly every php application does caching in the less productive way and how you benefit from HTTP cache from this point of view.
This get started tutorial takes users through the creation of a simple FourSquare clone using the MoSync Reload SDK and cloudbase.io as a backend platform http://cloudbase.io http://www.mosync.com
'Development using iOS5 NewStuff' keynote for #IDOC2012. Bandung, 18th February 2012.
- iCloud Storage
- CoreImage
- NewsStand
Demo and sample code : https://github.com/DeenNa
In this talk I demonstrated how easy Dojo is integrating into the Adobe AIR runtime. Using a performance analysis tool I demonstrated how to use charting, grids and other features of Adobe AIR and the Dojo Toolkit
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...Codemotion
Powered by Python, MongoDB and good intentions the Eve REST API framework allows to effortlessly build and deploy highly customizable, fully featured RESTful Web Services. It is written in Python and it is powered by MongoDB, although SQL backends are supported via community extensions. In this talk I will show the framework features, explain its philosophy, and live-demo it so that you can better understand if Eve can become a valuable asset to your current and future projects.
AI: Mobile Apps That Understands Your Intention When You TypedMarvin Heng
With Microsoft's Cognitive Services - Language Understanding Intelligent Service (LUIS), we can build a smart app. By following this tutorial, you should learn how to create a intelligent cross platform Mobile App that understands what is your intention.
Read more @ www.techconnect.io
By Marvin Heng
Twitter: @hmheng
Blog: www.techconnect.io
This deck runs through some of the core utilities used by many of the social networking sites out today to host third party applications on their sites, taken from the perspective of OpenSocial containers such as the Yahoo! Application Platform, MySpace, Orkut, etc.
Providing an in depth look into open standards for security, authentication and cross platform migrations, this presentation seeks to compare some of the major platform implementations currently used and provide code examples on how to build real world applications.
Full stack development with node and NoSQL - All Things Open - October 2017Matthew Groves
What is different about this generation of web applications? A solid development approach must consider latency, throughput, and interactivity demanded by users users across mobile devices, web browsers, and IoT. These applications often use NoSQL to support a flexible data model and easy scalability required for modern development.
A full stack application (composed of Couchbase, WebAPI, Angular2, and ASP.NET/ASP.NET Core) will be demonstrated in this session. The individual parts of a stack may vary, but the overall design is the focus.
Streamlining data analysis through environmental alerts how to integrate ambe...Ambee
Ambee’s Webhooks alerts provide real-time access to a vast array of environmental data points such as air quality index, weather conditions, pollen levels, and more. By integrating this valuable information with Google Sheets - a widely used cloud-based spreadsheet platform - you can easily organize and analyze the data within familiar interfaces.
This document helps to understand the basics of expressjs and codes related nodejs. The document covers the middleware concepts, routing in nodejs and session management in nodejs.
Introduction
Web Storage
WebSQL
IndexedDB
File System Access
Final Considerations
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
Lets look at writing a new Struts 2 application from square one, using the Yahoo User Interface (YUI) Library on the front end, and Struts 2 on the backend. YUI provides the glitz and the glamour, and Struts 2 provides the dreary business logic, input validation, and text formatting.
Ajax is the web's hottest user interface. Struts is Java's most popular web framework. What happens when we put Ajax on Struts?
In this session, we look at writing a new Struts 2 application from square one, using the Yahoo User Interface (YUI) Library on the front end, and Struts 2 on the backend. YUI provides the glitz and the glamour, and Struts 2 provides the dreary business logic, input validation, and text formatting.
During the session, we will cover
* How to integrate an Ajax UI with Struts 2
* Basics of the Yahoo User Interface (YUI) Library
* Business services Struts can provide to an Ajax UI
Who should attend: Ajax developers who would like to utilize Struts as a back-end, and Struts developers who would like to utilize Ajax as a front-end.
To get the most from this session, some familiarity with an Ajax library, like YUI or Dojo, is helpful.
4. What is Parse
S Complete back-end for applications
S Store key/value data (think NoSQL)
S Store Files
S Compact APIs for numerous platforms
S Mobile - Android, iOS, Unity
S Web - Javascript, PHP
S Desktop - Mac OS X, .Net + Xamarin
S IoT - Arduino, Embedded C
5. What’s in it for me?
S User Management
S Blocking and Async API calls
S Local Datastore, Query Caching
S Location “Stuff”
S Push Notfication, Analytics, Cloud Code, lot more!
S Its FREE!!
6. Parse Object
S Contains key-value pairs of JSON-compatible data.
S Schema-less – need not specify what keys exist, ahead of
time
S Each ParseObject has a class name, ~ Table Name in
RDBMS
S Ex:{task: “parse presentation”, date: “07/08/15”, done: false}
S Each object has default fields – objectId, createdAt,
updatedAt and ACL.
7. Object Model
ToDoItem.java
@ParseClassName("ToDoItem")
public class ToDoItem extends ParseObject {
public static final String COLUMN_TASK = "task";
public String getTask() {
return getString(COLUMN_TASK);
}
public void setTask(String name) {
put(COLUMN_TASK, name);
}
…
}
8. Creating an object
ToDoItem item = new ToDoItem();
item.setTask(name);
item.setDate(new Date(2015,7, 17));
item.setDone(false);
item.setPosition(1);
item.saveInBackground();
S Save synchronously or asynchronously.
S Defaults fields are created/updated automatically on save.
10. Supported Data Types
S Int
S Double
S String
S Java.util.Date
S Bytes
S Boolean
S Arrays
11. Local Datastore
ToDoItem item = new ToDoItem();
item.setTask(name);
item.setDate(new Date(2015,7, 17));
item.setDone(false);
item.setPosition(1);
item.pinInBackground();
S Recursively saves everything in the object
S Can be fetched in a query along with various filters.
query.fromLocalDatastore();
12. User Management
S Sign Up
S Log In
S Email verification
S Forgot Password
S Facebook/Twitter Login
S Anonymous Login
13. User Signup - Email
ParseUser user = ParseUser.create(ParseUser.class);
user.setUserName(“willywonka);
user.setPassword(“ilovechocolates);
user.setEmail(“willywonka@chocolatefactory.com”);
user.signUpInBackground(callback);
S Add custom params using user.put(“phoneNumber”, 123);
S Unique email and userName should be unique
S Password stored as hashes using bcrypt
S Setup email verification parameters in Parse Settings.
14. User Login
S Use userName and password for login
ParseUser.logInInBackground(”willywonka", "ilovechocolates", new LogInCallback() {
public void done(ParseUser user, ParseException e) {
if (user != null) {
// Hooray! The user is logged in.
} else {
// Signup failed. Look at the ParseException
}
}
});
S After login, ParseUser.getCurrentUser() is set to the logged in user.
S User can logout using ParseUser.logOut()
15. Facebook Login
S Setup and configure Facebook app and store the app id.
S Add Facebook app id to AndroidManifest.xml
S Launch ParseLoginActivity and handle onActivityResult in
the calling activity.
S Handle success/error response accordingly.
S Done!
16. Twitter Login
S Setup and configure Twitter app and store consumer key and
secret key.
S Add to Parse application’s settings page.
S Login from device using below code -
ParseTwitterUtils.logIn(this, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException err) {
if (user == null) {
//User cancelled the Twitter login.
} else if (user.isNew()) {
//User signed up and logged in via Twitter!
} else {
//User logged in via Twitter!
}
}
});
17. Anonymous Login
S When we want to associate data with a user without
signup.
S Can link later with Facebook, Twitter or existing user.
ParseAnonymousUtils.logIn(new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
if (e != null) {
//Anonymous login failed
} else {
//Anonymous user logged in
}
}
});
18. Queries
S Parse provides lot of query constraints to allow near RDB granularity –
S whereEqualTo, whereNotEqualTo
S whereGreaterThan, whereLessThan
S setLimit, setSkip
S orderByAscending, orderByDescending
S whereContainedIn, whereNotContainedIn
S whereExists, whereDoesNotExist
S whereStartsWith … and many more
26. Query Caching
S Save result of a query for later use.
S Give name to the query and pin them.
ParseQuery<ToDoItem> query = ToDoItem.getQuery();
query.whereGreaterThanOrEqualTo(”date", new Date(2015,8,1));
query.whereLessThan(”date", new Date(2015,9,1));
query.findInBackground(new FindCallback<ToDoItem>() {
public void done(List<ToDoItem> toDos, ParseException e) {
if (e == null) {
ParseObject.pinAllInBackground(“TODO_AUG”, toDos);
}
}
});
S Fetch by querying local data store with “TODO_AUG” as pin
27. Query Caching
S If we aren't using local datastore, we can use the per-query
cache for ParseQuery.
query.setCachePolicy(ParseQuery.CachePolicy.NETWORK_ELSE_CACHE);
query.findInBackground(callback);
S Parse provides several different cache policies –
S IGNORE_CACHE
S CACHE_ONLY, NETWORK_ONLY
S CACHE_ELSE_NETWORK NETWORK_ELSE_CACHE
S CACHE_THEN_NETWORK
28. Security
S Parse implements framework level security by default.
S Developer has to implement class level & object level
security.
S Parse Security Dashboard allows us to –
S Restrict class creation from client.
S Restrict addition of fields from client.
S Restrict querying of data from client.
31. Security - ACLs
S For every object, we can specify which users are allowed
to read the object, and which users are allowed to modify
it.
S ACL is an object which stores these security parameters
and is attached to a ParseObject.
ToDoItem todo = new ToDoItem();
todo.setTask(”Get groceries!");
todo.setACL(new ParseACL(ParseUser.getCurrentUser()));
todo.saveInBackground();
32. Security - ACLs
S Permissions can also be granted on a per-user basis
ToDoItem todo = new ToDoItem();
ParseACL groupACL = new ParseACL();
for (ParseUser user : userList) {
groupACL.setReadAccess(user, true);
groupACL.setWriteAccess(user, true);
}
groupMessage.setACL(groupACL);
groupMessage.saveInBackground();
33. Security - ACLs
S Permissions can also be granted to all users at once.
ParseObject publicPost = new ParseObject("Post");
ParseACL postACL = new ParseACL(ParseUser.getCurrentUser());
postACL.setPublicReadAccess(true);
publicPost.setACL(postACL);
publicPost.saveInBackground();
S Useful in scenario where only author can edit and
everyone else should be able to read – like a message
board.
34. Security - ACLs
S Default ACL can be set for all objects created on a
particular android client.
ParseACL defaultACL = new ParseACL();
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
Automatically adds current user to ACL
35. Files
S ParseFile stores application files in the cloud that are too
large to fit in a regular ParseObject.
S Allows images, documents, videos, music, and any other
binary data.
S Each file has max size limitation of 10 MB.
36. Static Files
S Static files can directly be uploaded into Parse Cloud.
S Configure Parse app with sub-domain in settings.
S Access those files at url -
https://<app-name>.parseapp.com/<file_name>
S Limitations – 500 MB or 500 files, whichever hits first
37. Dynamic Files
S Any byte data can be saved in ParseFile.
byte[] data = ”I am AWESOME!".getBytes();
ParseFile file = new ParseFile("resume.txt", data);
file.saveInBackground();
S Filename extension is mandatory as it determines what
type of file it is.
S Each uploaded file gets unique identifier so no collisions.
38. Dynamic Files
S Any saved ParseFile can be added to a ParseObject
ParseObject jobApplication = new ParseObject("JobApplication");
jobApplication.put("applicantName", "Joe Smith");
jobApplication.put("applicantResumeFile", file);
jobApplication.saveInBackground();
S The ParseFile can be fetched using syntax –
ParseFile resume = (ParseFile) jobApplication.get("applicantResumeFile");
40. What’s next?
S Cloud Code
S Basic Operations
S Queries
S CommonJS Modules
S JavaScript Promises Amazing Paradigm
S Background Jobs
S Bolts on Android
Editor's Notes
3rd Party Login
Data and UI Flow
Email Verif
Forgot Password