SlideShare a Scribd company logo
Starting Mobile
Development
Pranav Ainavolu
Microsoft MVP | Developer @ RealPage, Inc.
@a_pranav | http://pranavon.net/
Demo Architecture
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
Android
Demo
New Project Foundation
Portable Models & Code Services
Portable View Models
Foundation
• Models & Base Services
• Models
• Services & Business logic
• Platform-specific service Interfaces
• Architectural Services
• Object repository for IoC/DI
• Command class
• View Models
• Architectural Services
• Base View Model class
• Core View Models
Portable Models & Code Services
Portable View Models
Demo
Adding the Platform Layers
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
Shared vs. Portable Class Library Projects
• Code in a shared project compiles as if it
is part of each project that references it
• Therefore, code must be valid in all
referencing projects but can use #ifdef
directives to compartmentalize platform-
specific code regions if necessary
• Alternatively, Portable Class Libraries are
separate referenced assemblies targeting
a lowest common denominator across
specified platforms
• Both may call injected ‘service’ objects
• PCL may be succeeded by the .NET
Standard library for new projects later in
2017 Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
Cloud Services
• Azure Storage
• Blob – REST-based
• Queue
• File – SMB sharing
• Disk
• Azure App Service Mobile Apps
• Data store with offline sync
• REST-based API end points to data or coded functions built with C# or node.js
• Authentication available against corporate or personal identity providers
• Many other services for large data, IoT, notifications, logic flow, BI,
etc.
Demo
Connecting to the Cloud
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
NuGet client library package integration
• REST-based Azure Storage client
libraries available as a NuGet
package for portable class libraries
• Azure App Service Mobile App
client with SQLite libraries operate
at head-level projects, injected into
lower-level code with interfaces
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
Demo
Securing Cloud Access
Shared Access Signature
• Azure App Service Mobile App code has access to a key for
Azure Storage, which is used to generate temporary Shared
Access Signatures (SAS) for Azure Storage blob operations.
• That code is exposed as a custom REST-based API end point
• The mobile app calls the custom API end point to get a SAS
• The SAS is for a specific resource, specific operation and for a
duration
• Can also secure custom end points with identity providers
Demo
Completing the Shared UI
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
Demo
Using a Native UI
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
Android
Resources
• Further sessions in this series:
• Practical Mobile Development – consistent UI using Forms, incorporating DevOps,
hands-on lab
• Learn about Xamarin - https://www.xamarin.com/platform
• Get started for free on Mac & PC - https://store.xamarin.com/
• The Xamarin Show - https://channel9.msdn.com/Shows/XamarinShow
• Xamarin University - https://www.xamarin.com/university

More Related Content

What's hot

Introduction to Kitura - Swift Hong Kong Meetup 2016 July
Introduction to Kitura - Swift Hong Kong Meetup 2016 JulyIntroduction to Kitura - Swift Hong Kong Meetup 2016 July
Introduction to Kitura - Swift Hong Kong Meetup 2016 July
Patrick C.S. Fan
 
Going Serverless with Iron.io
Going Serverless with Iron.ioGoing Serverless with Iron.io
Going Serverless with Iron.io
Isak Rickyanto
 
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
WSO2
 
Multi Team Architecture
Multi Team ArchitectureMulti Team Architecture
Multi Team Architecture
Sigma Software
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
BoldRadius Solutions
 
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays LIVE Australia 2020 - Productising your Microservices as API Products...apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
Nordic APIs
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
ColdFusionConference
 
Keynote speech
Keynote speechKeynote speech
Keynote speech
BizTalk360
 
Azure infra automation using pulumi
Azure infra automation using pulumiAzure infra automation using pulumi
Azure infra automation using pulumi
Swaminathan Vetri
 
WSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery ChannelWSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery Channel
WSO2
 
How to Build Front-End Web Apps that Scale - FutureJS
How to Build Front-End Web Apps that Scale - FutureJSHow to Build Front-End Web Apps that Scale - FutureJS
How to Build Front-End Web Apps that Scale - FutureJS
Phil Leggetter
 
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...
WSO2
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusHAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
Karen Broughton-Mabbitt
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
BizTalk360
 
Everybody loves Swagger
Everybody loves SwaggerEverybody loves Swagger
Everybody loves Swagger
BizTalk360
 
MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...
MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...
MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...
MongoDB
 
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...WSO2
 
Enhancing Unified Communication Experience through Microsoft Lync SDK and UCMA
Enhancing Unified Communication Experience through Microsoft Lync SDK and UCMAEnhancing Unified Communication Experience through Microsoft Lync SDK and UCMA
Enhancing Unified Communication Experience through Microsoft Lync SDK and UCMA
Harbinger Systems - HRTech Builder of Choice
 
Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2WSO2
 

What's hot (20)

Introduction to Kitura - Swift Hong Kong Meetup 2016 July
Introduction to Kitura - Swift Hong Kong Meetup 2016 JulyIntroduction to Kitura - Swift Hong Kong Meetup 2016 July
Introduction to Kitura - Swift Hong Kong Meetup 2016 July
 
Going Serverless with Iron.io
Going Serverless with Iron.ioGoing Serverless with Iron.io
Going Serverless with Iron.io
 
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
 
Multi Team Architecture
Multi Team ArchitectureMulti Team Architecture
Multi Team Architecture
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
 
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays LIVE Australia 2020 - Productising your Microservices as API Products...apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Keynote speech
Keynote speechKeynote speech
Keynote speech
 
Azure infra automation using pulumi
Azure infra automation using pulumiAzure infra automation using pulumi
Azure infra automation using pulumi
 
WSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery ChannelWSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery Channel
 
How to Build Front-End Web Apps that Scale - FutureJS
How to Build Front-End Web Apps that Scale - FutureJSHow to Build Front-End Web Apps that Scale - FutureJS
How to Build Front-End Web Apps that Scale - FutureJS
 
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusHAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
 
Everybody loves Swagger
Everybody loves SwaggerEverybody loves Swagger
Everybody loves Swagger
 
MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...
MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...
MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...
 
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
 
Enhancing Unified Communication Experience through Microsoft Lync SDK and UCMA
Enhancing Unified Communication Experience through Microsoft Lync SDK and UCMAEnhancing Unified Communication Experience through Microsoft Lync SDK and UCMA
Enhancing Unified Communication Experience through Microsoft Lync SDK and UCMA
 
Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2
 

Viewers also liked

Sosiaalisen median perusteita ja ajankohtaiskatsaus
 Sosiaalisen median perusteita ja ajankohtaiskatsaus Sosiaalisen median perusteita ja ajankohtaiskatsaus
Sosiaalisen median perusteita ja ajankohtaiskatsaus
Harto Pönkä
 
Uso de la biblioteca virtual
Uso de la biblioteca virtualUso de la biblioteca virtual
Uso de la biblioteca virtual
Sandra Amortegui
 
Sondage UNSA auprès des enseignants 2017
Sondage UNSA auprès des enseignants 2017Sondage UNSA auprès des enseignants 2017
Sondage UNSA auprès des enseignants 2017
Société Tripalio
 
OET writing tips
OET writing tipsOET writing tips
Majalah Agro swakarsa edisi 7 2013 Lada Indonesia
Majalah Agro swakarsa edisi 7 2013 Lada IndonesiaMajalah Agro swakarsa edisi 7 2013 Lada Indonesia
Majalah Agro swakarsa edisi 7 2013 Lada Indonesia
Bobby Denil Lesmana
 
Desarrollo de la Oclusion infantil
 Desarrollo de la Oclusion infantil  Desarrollo de la Oclusion infantil
Desarrollo de la Oclusion infantil
Leidy Ariza
 
Apostila raciocinio lógico
Apostila raciocinio lógicoApostila raciocinio lógico
Apostila raciocinio lógico
Lu Gomes
 
Django isn’t mean
Django isn’t meanDjango isn’t mean
Django isn’t mean
TheBeege
 
Programa riesgo psicosocial
Programa riesgo psicosocialPrograma riesgo psicosocial
Programa riesgo psicosocial
Nelson Eduardo Rojas Franco
 
Equipos de Alto desempeño
Equipos de Alto desempeñoEquipos de Alto desempeño
Equipos de Alto desempeño
Julie Lorena
 
Tipus materials 02
Tipus materials 02Tipus materials 02
Tipus materials 02
lluís nater
 
UNIDAD II CONSERVACIÓN DE LA VITALIDAD PULPAR
UNIDAD II CONSERVACIÓN DE LA VITALIDAD PULPARUNIDAD II CONSERVACIÓN DE LA VITALIDAD PULPAR
UNIDAD II CONSERVACIÓN DE LA VITALIDAD PULPAR
aldou95
 
Social media for pr สปสช
Social media for pr สปสชSocial media for pr สปสช
Social media for pr สปสช
Saran Yuwanna
 
Teoría de los 4 humores Dhtic
Teoría de los 4 humores DhticTeoría de los 4 humores Dhtic
Teoría de los 4 humores Dhtic
BEtzi ROjas BautiSta
 

Viewers also liked (14)

Sosiaalisen median perusteita ja ajankohtaiskatsaus
 Sosiaalisen median perusteita ja ajankohtaiskatsaus Sosiaalisen median perusteita ja ajankohtaiskatsaus
Sosiaalisen median perusteita ja ajankohtaiskatsaus
 
Uso de la biblioteca virtual
Uso de la biblioteca virtualUso de la biblioteca virtual
Uso de la biblioteca virtual
 
Sondage UNSA auprès des enseignants 2017
Sondage UNSA auprès des enseignants 2017Sondage UNSA auprès des enseignants 2017
Sondage UNSA auprès des enseignants 2017
 
OET writing tips
OET writing tipsOET writing tips
OET writing tips
 
Majalah Agro swakarsa edisi 7 2013 Lada Indonesia
Majalah Agro swakarsa edisi 7 2013 Lada IndonesiaMajalah Agro swakarsa edisi 7 2013 Lada Indonesia
Majalah Agro swakarsa edisi 7 2013 Lada Indonesia
 
Desarrollo de la Oclusion infantil
 Desarrollo de la Oclusion infantil  Desarrollo de la Oclusion infantil
Desarrollo de la Oclusion infantil
 
Apostila raciocinio lógico
Apostila raciocinio lógicoApostila raciocinio lógico
Apostila raciocinio lógico
 
Django isn’t mean
Django isn’t meanDjango isn’t mean
Django isn’t mean
 
Programa riesgo psicosocial
Programa riesgo psicosocialPrograma riesgo psicosocial
Programa riesgo psicosocial
 
Equipos de Alto desempeño
Equipos de Alto desempeñoEquipos de Alto desempeño
Equipos de Alto desempeño
 
Tipus materials 02
Tipus materials 02Tipus materials 02
Tipus materials 02
 
UNIDAD II CONSERVACIÓN DE LA VITALIDAD PULPAR
UNIDAD II CONSERVACIÓN DE LA VITALIDAD PULPARUNIDAD II CONSERVACIÓN DE LA VITALIDAD PULPAR
UNIDAD II CONSERVACIÓN DE LA VITALIDAD PULPAR
 
Social media for pr สปสช
Social media for pr สปสชSocial media for pr สปสช
Social media for pr สปสช
 
Teoría de los 4 humores Dhtic
Teoría de los 4 humores DhticTeoría de los 4 humores Dhtic
Teoría de los 4 humores Dhtic
 

Similar to Starting Mobile Development

Zero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or lessZero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or less
Davalen LLC
 
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
Amazon Web Services
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
Vagif Abilov
 
App Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedApp Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedWagner Silveira
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
Amazon Web Services
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overview
Abhishek Sur
 
M meijer paas - tech-days 2015
M meijer   paas - tech-days 2015M meijer   paas - tech-days 2015
M meijer paas - tech-days 2015
Freelance Consultant / Manager / co-CTO
 
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...WSO2
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
Ritwik Das
 
Eric grover strategies for sharing code with windows 8 and windows phone 8 ...
Eric grover   strategies for sharing code with windows 8 and windows phone 8 ...Eric grover   strategies for sharing code with windows 8 and windows phone 8 ...
Eric grover strategies for sharing code with windows 8 and windows phone 8 ...
Eric Grover
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Amazon Web Services
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Nedelcho Delchev
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
Jasjit Chopra
 
Service fabric and azure service fabric mesh
Service fabric and azure service fabric meshService fabric and azure service fabric mesh
Service fabric and azure service fabric mesh
Mikkel Mørk Hegnhøj
 
Azure app services API apps
Azure app services API appsAzure app services API apps
Azure app services API apps
Panagiotis Tsilopoulos
 
Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using Azure
Mostafa
 
JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.
Sebastian Faulhaber
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
IBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
Daniel Krook
 
Serverless Frameworks.pdf
Serverless Frameworks.pdfServerless Frameworks.pdf
Serverless Frameworks.pdf
Simform
 

Similar to Starting Mobile Development (20)

Zero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or lessZero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or less
 
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
App Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedApp Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_published
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overview
 
M meijer paas - tech-days 2015
M meijer   paas - tech-days 2015M meijer   paas - tech-days 2015
M meijer paas - tech-days 2015
 
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
Eric grover strategies for sharing code with windows 8 and windows phone 8 ...
Eric grover   strategies for sharing code with windows 8 and windows phone 8 ...Eric grover   strategies for sharing code with windows 8 and windows phone 8 ...
Eric grover strategies for sharing code with windows 8 and windows phone 8 ...
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
 
Service fabric and azure service fabric mesh
Service fabric and azure service fabric meshService fabric and azure service fabric mesh
Service fabric and azure service fabric mesh
 
Azure app services API apps
Azure app services API appsAzure app services API apps
Azure app services API apps
 
Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using Azure
 
JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Serverless Frameworks.pdf
Serverless Frameworks.pdfServerless Frameworks.pdf
Serverless Frameworks.pdf
 

More from Pranav Ainavolu

Containerization with Azure
Containerization with AzureContainerization with Azure
Containerization with Azure
Pranav Ainavolu
 
ASP.NET Core Overview
ASP.NET Core OverviewASP.NET Core Overview
ASP.NET Core Overview
Pranav Ainavolu
 
Microsoft Azure - Introduction
Microsoft Azure - IntroductionMicrosoft Azure - Introduction
Microsoft Azure - Introduction
Pranav Ainavolu
 
Cross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinCross platform mobile app development with Xamarin
Cross platform mobile app development with Xamarin
Pranav Ainavolu
 
Understanding Basics of Machine Learning
Understanding Basics of Machine LearningUnderstanding Basics of Machine Learning
Understanding Basics of Machine Learning
Pranav Ainavolu
 
Connected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile AppsConnected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile Apps
Pranav Ainavolu
 
Xamarin Dev Days - Xamarin.Forms
Xamarin Dev Days - Xamarin.FormsXamarin Dev Days - Xamarin.Forms
Xamarin Dev Days - Xamarin.Forms
Pranav Ainavolu
 
Native iOS, Android apps using Xamarin.Forms dotnetConf2016 Hyderabad
Native iOS, Android apps using Xamarin.Forms   dotnetConf2016 HyderabadNative iOS, Android apps using Xamarin.Forms   dotnetConf2016 Hyderabad
Native iOS, Android apps using Xamarin.Forms dotnetConf2016 Hyderabad
Pranav Ainavolu
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
Pranav Ainavolu
 
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Pranav Ainavolu
 
Building A Conversational Bot Using Bot Framework and Microsoft
Building A Conversational Bot Using Bot Framework and MicrosoftBuilding A Conversational Bot Using Bot Framework and Microsoft
Building A Conversational Bot Using Bot Framework and Microsoft
Pranav Ainavolu
 
The Internet of Things with Azure Service Bus
The Internet of Things with Azure Service BusThe Internet of Things with Azure Service Bus
The Internet of Things with Azure Service Bus
Pranav Ainavolu
 
Dev/Test Scenarios in the DevOps World
Dev/Test Scenarios in the DevOps WorldDev/Test Scenarios in the DevOps World
Dev/Test Scenarios in the DevOps World
Pranav Ainavolu
 
Using Visual Studio to build XAML Universal Apps
Using Visual Studio to build XAML Universal AppsUsing Visual Studio to build XAML Universal Apps
Using Visual Studio to build XAML Universal Apps
Pranav Ainavolu
 
Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Pranav Ainavolu
 
Building Windows Store apps with HTML & Javascript
Building Windows Store apps with HTML & JavascriptBuilding Windows Store apps with HTML & Javascript
Building Windows Store apps with HTML & Javascript
Pranav Ainavolu
 
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile ServicesBuilding Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile ServicesPranav Ainavolu
 
Whats New in the Visual Studio 2013 IDE
Whats New in the Visual Studio 2013 IDEWhats New in the Visual Studio 2013 IDE
Whats New in the Visual Studio 2013 IDE
Pranav Ainavolu
 
Building Apps for Office 2013
Building Apps for Office 2013Building Apps for Office 2013
Building Apps for Office 2013
Pranav Ainavolu
 
Whats New in Excel 2013
Whats New in Excel 2013Whats New in Excel 2013
Whats New in Excel 2013
Pranav Ainavolu
 

More from Pranav Ainavolu (20)

Containerization with Azure
Containerization with AzureContainerization with Azure
Containerization with Azure
 
ASP.NET Core Overview
ASP.NET Core OverviewASP.NET Core Overview
ASP.NET Core Overview
 
Microsoft Azure - Introduction
Microsoft Azure - IntroductionMicrosoft Azure - Introduction
Microsoft Azure - Introduction
 
Cross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinCross platform mobile app development with Xamarin
Cross platform mobile app development with Xamarin
 
Understanding Basics of Machine Learning
Understanding Basics of Machine LearningUnderstanding Basics of Machine Learning
Understanding Basics of Machine Learning
 
Connected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile AppsConnected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile Apps
 
Xamarin Dev Days - Xamarin.Forms
Xamarin Dev Days - Xamarin.FormsXamarin Dev Days - Xamarin.Forms
Xamarin Dev Days - Xamarin.Forms
 
Native iOS, Android apps using Xamarin.Forms dotnetConf2016 Hyderabad
Native iOS, Android apps using Xamarin.Forms   dotnetConf2016 HyderabadNative iOS, Android apps using Xamarin.Forms   dotnetConf2016 Hyderabad
Native iOS, Android apps using Xamarin.Forms dotnetConf2016 Hyderabad
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
 
Building A Conversational Bot Using Bot Framework and Microsoft
Building A Conversational Bot Using Bot Framework and MicrosoftBuilding A Conversational Bot Using Bot Framework and Microsoft
Building A Conversational Bot Using Bot Framework and Microsoft
 
The Internet of Things with Azure Service Bus
The Internet of Things with Azure Service BusThe Internet of Things with Azure Service Bus
The Internet of Things with Azure Service Bus
 
Dev/Test Scenarios in the DevOps World
Dev/Test Scenarios in the DevOps WorldDev/Test Scenarios in the DevOps World
Dev/Test Scenarios in the DevOps World
 
Using Visual Studio to build XAML Universal Apps
Using Visual Studio to build XAML Universal AppsUsing Visual Studio to build XAML Universal Apps
Using Visual Studio to build XAML Universal Apps
 
Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...
 
Building Windows Store apps with HTML & Javascript
Building Windows Store apps with HTML & JavascriptBuilding Windows Store apps with HTML & Javascript
Building Windows Store apps with HTML & Javascript
 
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile ServicesBuilding Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
 
Whats New in the Visual Studio 2013 IDE
Whats New in the Visual Studio 2013 IDEWhats New in the Visual Studio 2013 IDE
Whats New in the Visual Studio 2013 IDE
 
Building Apps for Office 2013
Building Apps for Office 2013Building Apps for Office 2013
Building Apps for Office 2013
 
Whats New in Excel 2013
Whats New in Excel 2013Whats New in Excel 2013
Whats New in Excel 2013
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 

Starting Mobile Development

  • 1. Starting Mobile Development Pranav Ainavolu Microsoft MVP | Developer @ RealPage, Inc. @a_pranav | http://pranavon.net/
  • 2. Demo Architecture Portable Models & Code Services Portable View Models Portable UI based on Xamarin.Forms UWPAndroid iOS Shared code Android
  • 3. Demo New Project Foundation Portable Models & Code Services Portable View Models
  • 4. Foundation • Models & Base Services • Models • Services & Business logic • Platform-specific service Interfaces • Architectural Services • Object repository for IoC/DI • Command class • View Models • Architectural Services • Base View Model class • Core View Models Portable Models & Code Services Portable View Models
  • 5. Demo Adding the Platform Layers Portable Models & Code Services Portable View Models Portable UI based on Xamarin.Forms UWPAndroid iOS Shared code
  • 6. Shared vs. Portable Class Library Projects • Code in a shared project compiles as if it is part of each project that references it • Therefore, code must be valid in all referencing projects but can use #ifdef directives to compartmentalize platform- specific code regions if necessary • Alternatively, Portable Class Libraries are separate referenced assemblies targeting a lowest common denominator across specified platforms • Both may call injected ‘service’ objects • PCL may be succeeded by the .NET Standard library for new projects later in 2017 Portable Models & Code Services Portable View Models Portable UI based on Xamarin.Forms UWPAndroid iOS Shared code
  • 7. Cloud Services • Azure Storage • Blob – REST-based • Queue • File – SMB sharing • Disk • Azure App Service Mobile Apps • Data store with offline sync • REST-based API end points to data or coded functions built with C# or node.js • Authentication available against corporate or personal identity providers • Many other services for large data, IoT, notifications, logic flow, BI, etc.
  • 8. Demo Connecting to the Cloud Portable Models & Code Services Portable View Models Portable UI based on Xamarin.Forms UWPAndroid iOS Shared code
  • 9. NuGet client library package integration • REST-based Azure Storage client libraries available as a NuGet package for portable class libraries • Azure App Service Mobile App client with SQLite libraries operate at head-level projects, injected into lower-level code with interfaces Portable Models & Code Services Portable View Models Portable UI based on Xamarin.Forms UWPAndroid iOS Shared code
  • 11. Shared Access Signature • Azure App Service Mobile App code has access to a key for Azure Storage, which is used to generate temporary Shared Access Signatures (SAS) for Azure Storage blob operations. • That code is exposed as a custom REST-based API end point • The mobile app calls the custom API end point to get a SAS • The SAS is for a specific resource, specific operation and for a duration • Can also secure custom end points with identity providers
  • 12. Demo Completing the Shared UI Portable Models & Code Services Portable View Models Portable UI based on Xamarin.Forms UWPAndroid iOS Shared code
  • 13. Demo Using a Native UI Portable Models & Code Services Portable View Models Portable UI based on Xamarin.Forms UWPAndroid iOS Shared code Android
  • 14. Resources • Further sessions in this series: • Practical Mobile Development – consistent UI using Forms, incorporating DevOps, hands-on lab • Learn about Xamarin - https://www.xamarin.com/platform • Get started for free on Mac & PC - https://store.xamarin.com/ • The Xamarin Show - https://channel9.msdn.com/Shows/XamarinShow • Xamarin University - https://www.xamarin.com/university

Editor's Notes

  1. Put your details above. Each slide contains example script in the notes. Once confident with the content, you can use the headings in the notes as cues to ad-lib the content in your own words.
  2. In this session we are going to talk through creating a cloud-supported application from the ground up stating with File->New Project. We’ll see this architecture built up including shared UI with Xamarin Forms and Native UI on Android.
  3. Let’s get started by creating a portable foundation that will work across many platforms.
  4. CLICK Models & Base Services This portable library contains business model classes, services that call into the cloud, abstract interfaces for platform-specific services and often contains architectural or utility classes. CLICK View Models The View Model layer sits on top of the Models to present bindable data and commands to the user interface, tracking of user interactions, as well as orchestration of calls to local and cloud-based services.
  5. Now we’ll add on the platform-specific layers including portable UI layers using Xamarin Forms
  6. CLICK Shared compilation Read as shown CLICK Platform code regions Read as shown CLICK vs. PCL Read as shown CLICK Injections Read as shown CLICK .NET Standard Read as shown - .NET Standard is a cumulative surface area. .NET Standard 2.0 should come to Xamarin
  7. We’ll add cloud services for image and photo records. CLICK – Azure Storage We’ll store images of photos in Azure Storage Blobs. This is just one of the storage options available. CLICK – Azure App Service Mobile Apps for records Mobile Apps let’s use store records in the cloud and synchronize them to devices on many platforms. We can write code in the cloud using C# or node.js to handle REST-based requests that will process the data or create custom events to perform other functions. CLICK – Other services There are many other services available in Azure and we’re just scratching the surface here.
  8. Let’s see the kind of code changes we can make to enable application features through the cloud services.
  9. CLICK Azure Storage in PCL We were able to add Azure storage client libraries from NuGet into the portable client libraries. CLICK Mobile Apps in Shared We added the Azure App Service Mobile Apps client libraries into all the heads and then call the library in just one spot inside the Shared code project. The client library uses SQLite which has different binaries for the various platforms.
  10. Our cloud services are currently quite open. Let’s add some security for image uploading.
  11. CLICK Azure Storage key used in cloud to generate SASs Read as is or ad-lib CLICK Code exposed as custom API REST endpoint Read as is or ad-lib CLICK App calls custom API to request SAS Read as is or ad-lib CLICK SAS properties Read as is or ad-lib CLICK Secure further with identity providers Read as is or ad-lib
  12. Now let’s complete the Shared UI using Xamarin Forms UI.
  13. Finally, let’s see how we’d create the same UI using Android’s specific UI platform.
  14. As shown