+ All Categories
Home > Documents > Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Date post: 18-Jan-2016
Category:
Upload: edward-walsh
View: 214 times
Download: 0 times
Share this document with a friend
Popular Tags:
27
Cloud Roadshow
Transcript
Page 1: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Cloud Roadshow

Page 2: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Getting Started with mobile app development with the Office 365 APIs

Page 3: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

• Intro• Native Development• Multi-Platforms Development

Agenda

Page 4: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Intro

Getting started with Mobile development with Office 365

Page 5: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Developer vision

DATAUSERS

HTML

Page 6: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Azure AD OAuth in Office 365Single authentication flowAcross all Office 365 services“Native” apps and web sitesAdmin and end-user consent

Secure protocolOAuth 2.0 (no capturing user credentials)Fine-grained access scopesSupports MFA and federated user sign-inLong-term access through refresh tokens

Unique Considerations of “Native” Azure AppsInherently multi-tenantNo client/app secret (think about distribution)Leverage a web authentication window/broker (via ADAL)No application-only permissions (can go through proxy service)

Page 7: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Native Mobile Apps

Page 8: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Universal Windows AppsAboutBuild application that runs across Windows Phones, tablets and PCsWindows 10 realizes the convergence of Phone and PC

DevelopmentIDE: Visual Studio 2015 w/ Windows SDK for Windows 10App Registration: Add Connected Service WizardSDK Integration: Add Connected Service Wizard

When to useTarget device footprint is exclusively WindowsApplication needs unique device-specific capabilities (ex: Cortana)Complex/Advanced user experience or visualizationsApplications with strict enterprise requirements

Page 9: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Universal Windows AppsSolution Structure and DebuggingWindows 10 solutions are truly universal with a single projectTemplate allow debugging against emulators or physical devices

Additional TipsMust make UI responsive (vs separate UIs in 8.1 Universal Apps)Take advantage of the best Windows 10 offersConsider ADAL vs the new Web Account Manager (next slide)

Page 10: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

UNIVERSAL WINDOWS PLATFORM

demo

Page 11: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

AndroidAboutOpen source Office 365 SDK for Android by MS Open Tech (3/2014)Available on GitHub (http://bit.ly/14JCgWZ)Also requires ADAL for Android (http://bit.ly/1E7IfSi)

DevelopmentIDE: Android Studio (or Eclipse)App Registration: Azure Management PortalSDK Integration: build.gradle (similar to NuGet for dependencies)

When to useTarget device footprint is exclusively AndroidApplication needs unique device-specific capabilitiesComplex/Advanced user experience or visualizations

And

roid

Page 12: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

AndroidSolution StructureForm design (UI) is defined in .XML files (app\src\main\res\layout)Form logic is defined in .java files deriving from ActivityBuild.gradle references dependenciesAndroidManiest.xml is the app configuration file

DebuggingDebug apps with emulators (warning: SLOW) or Android deviceConsider Genymotion emulators that install separate from IDEVisual Studio 2015 Emulator

Additional TipsMake sure you give the app permission to use the internet (in AndroidManifest.xml)Controls aren’t automatically referenced in form logic (must use findViewById)

And

roid

Page 13: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

ANDROID

demo

Page 14: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

iOSAboutOpen source Office 365 SDK for iOS by MS Open Tech (10/2014)Available on GitHub (http://bit.ly/155NpCI)Also requires ADAL for iOS (http://bit.ly/1u9Mexa)Apple does not permit compilation of iOS apps without Mac

DevelopmentIDE: Mac and XCode (Objective C or Swift)App Registration: Azure Management PortalSDK Integration: Cocoapods or manual build/copy

When to useTarget device footprint is exclusively iOSApplication needs unique device-specific capabilitiesComplex/Advanced user experience or visualizations

iOS

/XC

od

e

Page 15: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

iOSSolution StructureForm design (UI) is defined in .storyboard files and logic is defined in view controllersReferences can be in the form of static libraries (.a) or frameworks (.framework), which include header filesADAL for iOS is a static library and the Office 365 SDK for iOS is a framework

DebuggingXCode includes a really nice iOS emulator for debuggingRegistered Apple Developers ($99) can debug on physical iOS devices

Additional TipsCombine ADAL builds for emulator and physical deviceUse bridging header files for Objective-C references in Swift projectsPrintln and Watch Expressions are really helpful tools for noobs

iOS

/XC

od

e

Page 16: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Cross-Platform Mobile Apps

Page 17: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Apache CordovaAboutPlatform for developing mobile apps with HTML, CSS and JavaScriptOpen source collection of JavaScript that abstracts device-specific APIsAll web assets are copied local to the device and run “Chromeless”Foundation for PhoneGap, AppBuilder, Ionic, etc

DevelopmentIDE: >= Visual Studio 2013 w/ Update 4 and VS Tools for Cordova CTP3*App Registration: Add Connected Service WizardSDK Integration: Add Connected Service Wizard

When to useMulti-tenant apps or apps that target multiple mobile platformsDevelopers are skilled in web development (HTML, CSS, JavaScript)Licensing costs prohibit other cross-platform frameworks

CO

RD

OVA

Page 18: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Apache CordovaSolution StructureOffice 365 assets installed under /services/office365Settings.js defines app details (client id, app redirect, etc)o365Loader.js dynamically adds Office 365 SDK references to pages

DebuggingDebug in Ripple (in-browser emulator), emulators, or physical devicesDebug iOS w/ remote Mac (can use emulator or remote/local device)

Additional TipsNumerous Cordova plug-ins exist for rich device integration (Custom with Git)Use NuGet to reference additional packages (Bootstrap, Angular, etc)Cordova renders HTML…no native controls (w/o additional references)

CO

RD

OVA

Page 19: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

CORDOVA

demo

Page 20: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

XamarinAboutXamarin is a Company (ISV) and Development Platform (Licensed)Development based on .NET and complies to native platforms (Mono)Xamarin provides up-to-date versions of .NET for iOS and Android

DevelopmentIDE: Visual Studio 2013 with Xamarin Studio*App Registration: Add Connected Service WizardSDK Integration: Add Connected Service Wizard

When to useMulti-tenant apps or apps that target multiple mobile platformsDevelopment shop looking to leverage existing skills in C# and .NETWant cross-platform with a native UX feel (ie – native controls)Want cross-platform with full access to device capabilities

XA

MA

RIN

Page 21: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

XamarinSolution StructureXamrin project templates for device-specific platforms or sharedShared projects use shared portable libraries and device-specific projects (similar to Universal Windows Apps)Xamarin.Forms allows UI layouts to be shared but render native controls across Android, iOS and Windows (can also use native layouts)

DebuggingDebug Android/Windows with emulators or physical devicesDebug iOS w/ remote Mac and Xamarin.iOS (can use emulator or remote/local device)

Additional TipsXamarin binding project allow ADAL/SDK referencesADAL v3 can help with binding challengesSee: http://www.cloudidentity.com/blog/2015/07/22/USING-ADAL-3-X-WITH-XAMARIN-FORMS/

XA

MA

RIN

Page 22: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Mobile Platform Decision Tree

Pic-a-Platform

Multi-Device Support?

YesUnique Device Capabilities?

NoBudget Constrained?

Yes

Use Xamarin

YesUse Apache Cordova

No

.Net or Web Developers?

Web .NET

No Windows? No .NET Shop? No Build Native

Yes

Build Universal Windows App

Yes

Use Xamarin

Page 23: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

• Intro• Native Development• Multi-Platforms Development

Summary

Page 25: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Developer Program Launch

http://dev.office.com/devprogram

E-mail Newsletters

Free Developer Subscriptio

n

1 YEAR FREE

Free Training

Free Tools

Webinars

Page 26: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

Office 365 Networkhttps://www.yammer.com/itpronetwork

@OfficeDev Twitter

StartStart

Podcastshttp://dev.office.com/podcasts

UserVoice

http://officespdev.uservoice.com/

Stack overflow

[ms-office]

Channel 9 Dev Showhttp://aka.ms/O365DevShow

Snack Demos

http://aka.ms/o365DevSnackDemos

Engage

Page 27: Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.

©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Recommended