SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Sasha Goldshtein
CTO, SELA Group

@goldshtn
blog.sashag.net

Windows Azure Mobile
Services

© Copyright SELA software & Education Labs Ltd. | 14-18 Baruch Hirsch St Bnei Brak, 51202 Israel | www.selagroup.com
Who Are We? App Developers
What Do We Hate? Backends
We need one backend for all our
mobile apps, scaled by the cloud
Oh, and it should cost about $0-5 /
month for a small, simple app
Backend as a Service
Windows 8 & Windows Phone
iOS & Android
HTML & JavaScript
Data & LINQ queries
Server scripts, scheduler
Authentication & WAADNEW
Custom APINEW
Source control and NPMNEW
Push, notification hubsNEW
Windows Azure Mobile Services
Portal

Demo
Initializing The Mobile Service
Client
The application key is for development
iOS
Windows 8 / Windows PhoneIn Android use user
purposes only. / production,
authentication to limit access to data
ms = new MobileServiceClient(
[MSClient clientWithApplicationURLString:
"https://rentahome.azure-mobile.net"
"https://rentahome.azure-mobile.net",
"..." /*API key*/);
applicationKey:"..."];
Accessing Data
// Windows 8 and Windows Phone
var apartments = await ms.GetTable<Apartment>()
.Where(a => a.Bedrooms > 2).ToListAsync();
// Android
ms.getTable(Apartment.class).where().
.field("bedrooms").gt(2).execute(...);
// iOS
NSPredicate *pred = [NSPredicate
predicateWithFormat:@"bedrooms > 2"];
[[client getTable:@"apartment"] readWhere:pred
completion:^...];
Server Scripts
CRUD operations can pass through a custom
script
Use for validation, data enrichment, etc.
Scripts are written in JavaScript and run on Node.js
Can access several Node modules:
request, push, …
function insert(item, user, request) {
if (item.address.length === 0) {
request.respond(400);
} else {
request.execute();
}
}
Custom API
Add custom HTTP endpoints to your mobile
service
Very useful for external access
exports.post = function(request, response) {
sharedHub.send_ad(request.body.message, function(error) {
if (error) {
response.send(500, 'Error sending ad: ' + error);
} else {
response.send(200);
}
});
};
Enriching Data with Server Scripts

Demo
Push
Prepare app for push from script
On trigger, send push notifications
Depends on platform
Unfortunately, push API differs for each platform
Channel = await PushNotificationChannelManager.
push.wns.sendToast02(channel.uri, {
text01: "New apartment added",
CreatePushNotificationChannelForApplicationAsync();
channelsTable.Insert(new Channel(Channel.Uri));
text02: apartment.address });
Notification Hubs
Register push messages based on the
Blast out templates for push notifications with
arbitrary and the tags
template custom tags
template =
var payload{=data: { message: '$(message)' } };
{ message : message };
hub.gcm.createTemplateRegistration(request.body.uri, });
hub.send(tag, payload, function(error, outcome) { ...tags,
template, registrationComplete);
Server-Side Push Support

Demo
Authentication
// iOS
if (!client.currentUser) {
[self presentViewController:[client
loginViewControllerWithProvider:@"twitter"
completion:(MSUser *user, NSError *err) ...
] animated:YES];
}
// Android
if (client.getCurrentUser() != null) {
client.login(
MobileServiceAuthenticationProvider.Twitter,
new UserAuthenticationCallback() ...);
}
Authentication

Demo
Summary
Windows Azure Mobile Services provide a
powerful and customizable backend for your
mobile apps
Code available at
http://github.com/goldshtn/rentahome
Questions
Sasha Goldshtein
CTO, SELA Group

@goldshtn
blog.sashag.net

Weitere ähnliche Inhalte

Was ist angesagt?

Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using AzureMostafa
 
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...Modern Workplace Conference Paris
 
Design and Implement Azure Web Apps
Design and Implement Azure Web AppsDesign and Implement Azure Web Apps
Design and Implement Azure Web AppsAyush Rathi
 
Microsoft Azure News - February 2022
Microsoft Azure News - February 2022Microsoft Azure News - February 2022
Microsoft Azure News - February 2022Daniel Toomey
 
Unleash office 365 with the power of cognitive services and microsoft graph api
Unleash office 365 with the power of cognitive services and microsoft graph apiUnleash office 365 with the power of cognitive services and microsoft graph api
Unleash office 365 with the power of cognitive services and microsoft graph apiEstelle Auberix
 
Azure app services 2 - Logic & Api Apps
Azure app services 2  -  Logic & Api AppsAzure app services 2  -  Logic & Api Apps
Azure app services 2 - Logic & Api AppsBill Chesnut
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformBizTalk360
 
Build Interactive Analytics using Power BI
Build Interactive Analytics using Power BIBuild Interactive Analytics using Power BI
Build Interactive Analytics using Power BIMostafa
 
2 Build Apps for Any Devices With Power Apps
2 Build Apps for Any Devices With Power Apps2 Build Apps for Any Devices With Power Apps
2 Build Apps for Any Devices With Power AppsKumton Suttiraksiri
 
O365Con18 - Microsoft Graph, a Walk-through - Adis Jugo
O365Con18 - Microsoft Graph, a Walk-through - Adis JugoO365Con18 - Microsoft Graph, a Walk-through - Adis Jugo
O365Con18 - Microsoft Graph, a Walk-through - Adis JugoNCCOMMS
 
20071204 Arc Ready Office As A Platform
20071204 Arc Ready Office As A Platform20071204 Arc Ready Office As A Platform
20071204 Arc Ready Office As A PlatformDavid Chou
 
4 Integrating azure monitor with power bi and power automate
4 Integrating azure monitor with power bi and power automate4 Integrating azure monitor with power bi and power automate
4 Integrating azure monitor with power bi and power automateKumton Suttiraksiri
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platformJenkins NS
 
Microsoft Azure News - January 2022
Microsoft Azure News - January 2022Microsoft Azure News - January 2022
Microsoft Azure News - January 2022Daniel Toomey
 
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander BerkouwerO365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander BerkouwerNCCOMMS
 
An Integration Platform to Support Vision 2025
An Integration Platform to Support Vision 2025An Integration Platform to Support Vision 2025
An Integration Platform to Support Vision 2025BizTalk360
 

Was ist angesagt? (20)

Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using Azure
 
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
 
Design and Implement Azure Web Apps
Design and Implement Azure Web AppsDesign and Implement Azure Web Apps
Design and Implement Azure Web Apps
 
Microsoft Azure News - February 2022
Microsoft Azure News - February 2022Microsoft Azure News - February 2022
Microsoft Azure News - February 2022
 
Unleash office 365 with the power of cognitive services and microsoft graph api
Unleash office 365 with the power of cognitive services and microsoft graph apiUnleash office 365 with the power of cognitive services and microsoft graph api
Unleash office 365 with the power of cognitive services and microsoft graph api
 
Azure app services 2 - Logic & Api Apps
Azure app services 2  -  Logic & Api AppsAzure app services 2  -  Logic & Api Apps
Azure app services 2 - Logic & Api Apps
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
Build Interactive Analytics using Power BI
Build Interactive Analytics using Power BIBuild Interactive Analytics using Power BI
Build Interactive Analytics using Power BI
 
2 Build Apps for Any Devices With Power Apps
2 Build Apps for Any Devices With Power Apps2 Build Apps for Any Devices With Power Apps
2 Build Apps for Any Devices With Power Apps
 
O365Con18 - Microsoft Graph, a Walk-through - Adis Jugo
O365Con18 - Microsoft Graph, a Walk-through - Adis JugoO365Con18 - Microsoft Graph, a Walk-through - Adis Jugo
O365Con18 - Microsoft Graph, a Walk-through - Adis Jugo
 
20071204 Arc Ready Office As A Platform
20071204 Arc Ready Office As A Platform20071204 Arc Ready Office As A Platform
20071204 Arc Ready Office As A Platform
 
4 Integrating azure monitor with power bi and power automate
4 Integrating azure monitor with power bi and power automate4 Integrating azure monitor with power bi and power automate
4 Integrating azure monitor with power bi and power automate
 
LUIS and Bots
LUIS and BotsLUIS and Bots
LUIS and Bots
 
SPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business AppSPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business App
 
Azure: PaaS or IaaS
Azure: PaaS or IaaSAzure: PaaS or IaaS
Azure: PaaS or IaaS
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platform
 
Microsoft Azure News - January 2022
Microsoft Azure News - January 2022Microsoft Azure News - January 2022
Microsoft Azure News - January 2022
 
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander BerkouwerO365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
 
An Integration Platform to Support Vision 2025
An Integration Platform to Support Vision 2025An Integration Platform to Support Vision 2025
An Integration Platform to Support Vision 2025
 

Andere mochten auch

Equipes ágeis em 2012 - Lições aprendidas
Equipes ágeis em 2012 - Lições aprendidasEquipes ágeis em 2012 - Lições aprendidas
Equipes ágeis em 2012 - Lições aprendidasGuilherme Silveira
 
Valentine's Day - By Teacher Bruno
Valentine's Day - By Teacher BrunoValentine's Day - By Teacher Bruno
Valentine's Day - By Teacher BrunoAEC-Inglês
 
SharePoint Requires Technical & Content Governance - How to Get Started
SharePoint Requires Technical & Content Governance  - How to Get StartedSharePoint Requires Technical & Content Governance  - How to Get Started
SharePoint Requires Technical & Content Governance - How to Get StartedChristian Buckley
 
Introducao a machine learning na educacao
Introducao a machine learning na educacaoIntroducao a machine learning na educacao
Introducao a machine learning na educacaoGuilherme Silveira
 

Andere mochten auch (8)

News from Build 2013
News from Build 2013News from Build 2013
News from Build 2013
 
Arquitetura: chega de mesmice
Arquitetura: chega de mesmiceArquitetura: chega de mesmice
Arquitetura: chega de mesmice
 
Rest clients
Rest clientsRest clients
Rest clients
 
Equipes ágeis em 2012 - Lições aprendidas
Equipes ágeis em 2012 - Lições aprendidasEquipes ágeis em 2012 - Lições aprendidas
Equipes ágeis em 2012 - Lições aprendidas
 
Valentine's Day - By Teacher Bruno
Valentine's Day - By Teacher BrunoValentine's Day - By Teacher Bruno
Valentine's Day - By Teacher Bruno
 
Genomics and OpenHelix - Basic Intro 12apr09
Genomics and OpenHelix - Basic Intro 12apr09Genomics and OpenHelix - Basic Intro 12apr09
Genomics and OpenHelix - Basic Intro 12apr09
 
SharePoint Requires Technical & Content Governance - How to Get Started
SharePoint Requires Technical & Content Governance  - How to Get StartedSharePoint Requires Technical & Content Governance  - How to Get Started
SharePoint Requires Technical & Content Governance - How to Get Started
 
Introducao a machine learning na educacao
Introducao a machine learning na educacaoIntroducao a machine learning na educacao
Introducao a machine learning na educacao
 

Ähnlich wie Windows Azure Mobile Services

Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobileFlavius-Radu Demian
 
Windows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile WorkforceWindows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile WorkforceTechWell
 
Rhinos have tea_on_azure
Rhinos have tea_on_azureRhinos have tea_on_azure
Rhinos have tea_on_azureCEDRIC DERUE
 
Global Windows Azure Bootcamp : Cedric Derue Rhinos have tea on azure. (spons...
Global Windows Azure Bootcamp : Cedric Derue Rhinos have tea on azure. (spons...Global Windows Azure Bootcamp : Cedric Derue Rhinos have tea on azure. (spons...
Global Windows Azure Bootcamp : Cedric Derue Rhinos have tea on azure. (spons...MUG-Lyon Microsoft User Group
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobileFlavius-Radu Demian
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Servicesfatih demir
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixIBM
 
Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)Sujee Maniyam
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsSPC Adriatics
 
Resume new it_format
Resume new it_formatResume new it_format
Resume new it_formatRajiv Saini
 
Busy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformBusy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformUtkarsh Shukla
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineIMC Institute
 
Pune microsoft azure developers 2nd meetup
Pune microsoft azure developers 2nd meetupPune microsoft azure developers 2nd meetup
Pune microsoft azure developers 2nd meetupratneshsinghparihar
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - MozillaRobert Nyman
 
Get started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesGet started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesSenthamil Selvan
 
Azure Mobile Services for Cross Platform Mobile Apps
Azure Mobile Services for Cross Platform Mobile AppsAzure Mobile Services for Cross Platform Mobile Apps
Azure Mobile Services for Cross Platform Mobile AppsWinWire Technologies Inc
 
300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud Platform300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud PlatformMobileMonday Tel-Aviv
 

Ähnlich wie Windows Azure Mobile Services (20)

Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobile
 
Windows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile WorkforceWindows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile Workforce
 
Rhinos have tea_on_azure
Rhinos have tea_on_azureRhinos have tea_on_azure
Rhinos have tea_on_azure
 
Global Windows Azure Bootcamp : Cedric Derue Rhinos have tea on azure. (spons...
Global Windows Azure Bootcamp : Cedric Derue Rhinos have tea on azure. (spons...Global Windows Azure Bootcamp : Cedric Derue Rhinos have tea on azure. (spons...
Global Windows Azure Bootcamp : Cedric Derue Rhinos have tea on azure. (spons...
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobile
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)Iphone client-server app with Rails backend (v3)
Iphone client-server app with Rails backend (v3)
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile Apps
 
Resume new it_format
Resume new it_formatResume new it_format
Resume new it_format
 
Busy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformBusy Bee Application Develompent Platform
Busy Bee Application Develompent Platform
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
 
Pune microsoft azure developers 2nd meetup
Pune microsoft azure developers 2nd meetupPune microsoft azure developers 2nd meetup
Pune microsoft azure developers 2nd meetup
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
Get started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesGet started azure- Azure Mobile Services
Get started azure- Azure Mobile Services
 
Android CI and Appium
Android CI and AppiumAndroid CI and Appium
Android CI and Appium
 
Azure Mobile Services for Cross Platform Mobile Apps
Azure Mobile Services for Cross Platform Mobile AppsAzure Mobile Services for Cross Platform Mobile Apps
Azure Mobile Services for Cross Platform Mobile Apps
 
300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud Platform300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud Platform
 
CV- Abdul Haneef
CV- Abdul HaneefCV- Abdul Haneef
CV- Abdul Haneef
 

Mehr von Sasha Goldshtein

Modern Linux Tracing Landscape
Modern Linux Tracing LandscapeModern Linux Tracing Landscape
Modern Linux Tracing LandscapeSasha Goldshtein
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerSasha Goldshtein
 
Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF AbyssSasha Goldshtein
 
Visual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET FrameworkVisual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET FrameworkSasha Goldshtein
 
Swift: Apple's New Programming Language for iOS and OS X
Swift: Apple's New Programming Language for iOS and OS XSwift: Apple's New Programming Language for iOS and OS X
Swift: Apple's New Programming Language for iOS and OS XSasha Goldshtein
 
C# Everywhere: Cross-Platform Mobile Apps with Xamarin
C# Everywhere: Cross-Platform Mobile Apps with XamarinC# Everywhere: Cross-Platform Mobile Apps with Xamarin
C# Everywhere: Cross-Platform Mobile Apps with XamarinSasha Goldshtein
 
Modern Backends for Mobile Apps
Modern Backends for Mobile AppsModern Backends for Mobile Apps
Modern Backends for Mobile AppsSasha Goldshtein
 
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013Sasha Goldshtein
 
Mastering IntelliTrace in Development and Production
Mastering IntelliTrace in Development and ProductionMastering IntelliTrace in Development and Production
Mastering IntelliTrace in Development and ProductionSasha Goldshtein
 
Delivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesDelivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesSasha Goldshtein
 
Building Mobile Apps with a Mobile Services .NET Backend
Building Mobile Apps with a Mobile Services .NET BackendBuilding Mobile Apps with a Mobile Services .NET Backend
Building Mobile Apps with a Mobile Services .NET BackendSasha Goldshtein
 
Building iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile ServicesBuilding iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile ServicesSasha Goldshtein
 
Attacking Web Applications
Attacking Web ApplicationsAttacking Web Applications
Attacking Web ApplicationsSasha Goldshtein
 
First Steps in Android Development
First Steps in Android DevelopmentFirst Steps in Android Development
First Steps in Android DevelopmentSasha Goldshtein
 
First Steps in iOS Development
First Steps in iOS DevelopmentFirst Steps in iOS Development
First Steps in iOS DevelopmentSasha Goldshtein
 

Mehr von Sasha Goldshtein (20)

Modern Linux Tracing Landscape
Modern Linux Tracing LandscapeModern Linux Tracing Landscape
Modern Linux Tracing Landscape
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF Primer
 
Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF Abyss
 
Visual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET FrameworkVisual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET Framework
 
Swift: Apple's New Programming Language for iOS and OS X
Swift: Apple's New Programming Language for iOS and OS XSwift: Apple's New Programming Language for iOS and OS X
Swift: Apple's New Programming Language for iOS and OS X
 
C# Everywhere: Cross-Platform Mobile Apps with Xamarin
C# Everywhere: Cross-Platform Mobile Apps with XamarinC# Everywhere: Cross-Platform Mobile Apps with Xamarin
C# Everywhere: Cross-Platform Mobile Apps with Xamarin
 
Modern Backends for Mobile Apps
Modern Backends for Mobile AppsModern Backends for Mobile Apps
Modern Backends for Mobile Apps
 
.NET Debugging Workshop
.NET Debugging Workshop.NET Debugging Workshop
.NET Debugging Workshop
 
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
 
Mastering IntelliTrace in Development and Production
Mastering IntelliTrace in Development and ProductionMastering IntelliTrace in Development and Production
Mastering IntelliTrace in Development and Production
 
Introduction to RavenDB
Introduction to RavenDBIntroduction to RavenDB
Introduction to RavenDB
 
State of the Platforms
State of the PlatformsState of the Platforms
State of the Platforms
 
Delivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesDelivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in Minutes
 
Building Mobile Apps with a Mobile Services .NET Backend
Building Mobile Apps with a Mobile Services .NET BackendBuilding Mobile Apps with a Mobile Services .NET Backend
Building Mobile Apps with a Mobile Services .NET Backend
 
Building iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile ServicesBuilding iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile Services
 
Task and Data Parallelism
Task and Data ParallelismTask and Data Parallelism
Task and Data Parallelism
 
What's New in C++ 11?
What's New in C++ 11?What's New in C++ 11?
What's New in C++ 11?
 
Attacking Web Applications
Attacking Web ApplicationsAttacking Web Applications
Attacking Web Applications
 
First Steps in Android Development
First Steps in Android DevelopmentFirst Steps in Android Development
First Steps in Android Development
 
First Steps in iOS Development
First Steps in iOS DevelopmentFirst Steps in iOS Development
First Steps in iOS Development
 

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Windows Azure Mobile Services

  • 1. Sasha Goldshtein CTO, SELA Group @goldshtn blog.sashag.net Windows Azure Mobile Services © Copyright SELA software & Education Labs Ltd. | 14-18 Baruch Hirsch St Bnei Brak, 51202 Israel | www.selagroup.com
  • 2. Who Are We? App Developers What Do We Hate? Backends
  • 3. We need one backend for all our mobile apps, scaled by the cloud Oh, and it should cost about $0-5 / month for a small, simple app
  • 4. Backend as a Service Windows 8 & Windows Phone iOS & Android HTML & JavaScript Data & LINQ queries Server scripts, scheduler Authentication & WAADNEW Custom APINEW Source control and NPMNEW Push, notification hubsNEW
  • 5. Windows Azure Mobile Services Portal Demo
  • 6. Initializing The Mobile Service Client The application key is for development iOS Windows 8 / Windows PhoneIn Android use user purposes only. / production, authentication to limit access to data ms = new MobileServiceClient( [MSClient clientWithApplicationURLString: "https://rentahome.azure-mobile.net" "https://rentahome.azure-mobile.net", "..." /*API key*/); applicationKey:"..."];
  • 7. Accessing Data // Windows 8 and Windows Phone var apartments = await ms.GetTable<Apartment>() .Where(a => a.Bedrooms > 2).ToListAsync(); // Android ms.getTable(Apartment.class).where(). .field("bedrooms").gt(2).execute(...); // iOS NSPredicate *pred = [NSPredicate predicateWithFormat:@"bedrooms > 2"]; [[client getTable:@"apartment"] readWhere:pred completion:^...];
  • 8. Server Scripts CRUD operations can pass through a custom script Use for validation, data enrichment, etc. Scripts are written in JavaScript and run on Node.js Can access several Node modules: request, push, … function insert(item, user, request) { if (item.address.length === 0) { request.respond(400); } else { request.execute(); } }
  • 9. Custom API Add custom HTTP endpoints to your mobile service Very useful for external access exports.post = function(request, response) { sharedHub.send_ad(request.body.message, function(error) { if (error) { response.send(500, 'Error sending ad: ' + error); } else { response.send(200); } }); };
  • 10. Enriching Data with Server Scripts Demo
  • 11. Push Prepare app for push from script On trigger, send push notifications Depends on platform Unfortunately, push API differs for each platform Channel = await PushNotificationChannelManager. push.wns.sendToast02(channel.uri, { text01: "New apartment added", CreatePushNotificationChannelForApplicationAsync(); channelsTable.Insert(new Channel(Channel.Uri)); text02: apartment.address });
  • 12. Notification Hubs Register push messages based on the Blast out templates for push notifications with arbitrary and the tags template custom tags template = var payload{=data: { message: '$(message)' } }; { message : message }; hub.gcm.createTemplateRegistration(request.body.uri, }); hub.send(tag, payload, function(error, outcome) { ...tags, template, registrationComplete);
  • 14. Authentication // iOS if (!client.currentUser) { [self presentViewController:[client loginViewControllerWithProvider:@"twitter" completion:(MSUser *user, NSError *err) ... ] animated:YES]; } // Android if (client.getCurrentUser() != null) { client.login( MobileServiceAuthenticationProvider.Twitter, new UserAuthenticationCallback() ...); }
  • 16. Summary Windows Azure Mobile Services provide a powerful and customizable backend for your mobile apps Code available at http://github.com/goldshtn/rentahome
  • 17. Questions Sasha Goldshtein CTO, SELA Group @goldshtn blog.sashag.net

Hinweis der Redaktion

  1. Open the portal, show the general service settings and the dashboard that kind of gives you an app skeleton for free.Then, show the data tab with the tables we have, and basic data manipulation on these tables.Mention the concept of server scripts on CRUD operations – but don’t show these scripts yet.
  2. Show the insert script on the apartments table.Explain that we’re using geocoding to obtain coordinates for the apartment, and we’re also pulling some information from Twitter (the user’s display name) – this will be explained later when we discuss authentication.
  3. Show the channels table that contains the channels and the device types – this is necessary because the push semantics are different for each platform.Show the insert script on the apartments table again, and explain that it uses four different methods of the push module to deliver the push to the appropriate platform.
  4. Demo the full app experience on all four platforms: login, add a new apartment, show push on other devices, delete an apartment, view maps (based on coordinates provided by the server).