Office 365 Development
46 Slides9.36 MB
Office 365 Development
Course Agenda Introduction to Office 365 Development Module 1: Overview of Office 365 Development Module 2: Getting started with Apps for Office Module 3: Getting started with Apps for SharePoint Module 4: Getting started with the Office 365 APIs Module 5: Moving Full Trust Code to the Cloud Using Repeatable Patterns and Best Practices Module 6: Getting started with Mobile development with Office 365 Module 7: Setting up your Developer environment in Office 365 Module 8: Setting up your on-premises environment for app development
Getting started with Mobile development with Office 365
Agenda Intro Windows Platform Non-windows Platforms Multi-platforms
Getting started with Mobile development with Office 365 Intro
Choices for Mobile Development 1. 2. 3. 4. 6 Target the Windows Platform Develop apps that run in Windows and Windows Phone Target the Android Platform Develop apps that run on Android devices Target the iOS Platform Develop apps that run on iOS devices such as iPhone and iPad Target Multiple Platforms Develop apps which can be targeted for more than one platform Use Cordova to develop apps which target Android, iOS and Windows Phone Use Xamarin to develop apps which target Android, iOS and Windows Phone
Vision EXTEND OFFICE EVERYWHERE CONNECT TO OFFICE 365 SERVICES BUILD USING AN OPEN PLATFORM Delve z Users and groups Files Mail Calendar My Apps Video Portal Contacts Office GraphPresentation Document s s Spreadshee ts Lync OneNote Yammer
Getting started with Mobile development with Office 365 Windows Platform
Universal App project template 9
Adding Connected Services 1Project Add Connected Service 2 Register your app 10
Connected Services Permissions 3Select required app permissions 11
“Client” object constructor example return new ExchangeClient(ExchangeServiceEndpointUri, async () { return (await discoveryContext.AuthenticationContext .AcquireTokenSilentAsync( ExchangeServiceResourceId, discoveryContext.AppIdentity.ClientId, new ActiveDirectory.UserIdentifier( dcr.UserId, UserIdentifierType.UniqueId) ) ).AccessToken; }); 12
Authentication UI 13
Office 365 Service Communication Client Object exposes properties Most are IEnumerable T collections Designed much like Entity Framework Client DataContext IEnumerable T entities 14 Contact Event
demo WINDOWS 8
Getting started with Mobile development with Office 365 Native Platforms
Getting Started with the Android SDK
The New Android Platform IDE 18
Office 365 SDK for Android Available today on GitHub http://dev.office.com/Android SDK for native Android apps that use Office 365 APIs Handles files, lists, contact, mail, and calendar Integrates with AD authentication library
demo ANDROID
Developing for iOS Developing for iOS requires a Mac (or something running iOS) Apple does not permit compilation of iOS apps on a non-iOS computer or device You either need (1) a Mac or (2) a Windows PC that’s paired with a Mac nearby Developing iOS apps The primary programming language is Objective C Many developers use the XCode IDE provided by Apple XCode also installs iOS SDK
Office 365 SDK for iOS Available today on GitHub http://dev.office.com/iOS SDK for native iOS apps that use Office 365 APIs Handles files, mail, contact and calendar Integrates with AD authentication library
demo IOS
Getting started with Mobile development with Office 365 Multi-platform
What is a Hybrid App? An app created with HTML5, CSS3 and JavaScript Available through an app store Different than a mobile web site Hybrid app runs in browser of mobile device 25 Chromeless (no browser title bar, navigation buttons, etc.) HTML, CSS and JavaScript downloaded and run locally from device App launched in full screen mode User isn’t aware that app is using browser
What is Cordova? A platform for developing hybrid apps with HTML, CSS and JavaScript An open source collection of JavaScript device APIs Something that abstracts away device specific APIs Toolsets built on top of Cordova PhoneGap (Abode) AppBuilder (Telerik) 26
Multi-Device Hybrid Apps for Visual Studio
Creating a Cordova App Use the Blank App (Apache Cordova) template Templates JavaScript Multi-Device Hybrid Apps
Debugging with Ripple Included with Android SDK Runs inside Chrome browser
Debugging with Windows Phone You can use a Windows Phone emulator You can use an attached Windows Phone device 30
demo CORDOVA
What is Xamarin? A Company and a Development Platform Developing on Xamarin platform requires monthly or yearly subscription You can get a free 30-day trial (90-day trial available for MSDN subscribers) Xamarin Development based on the .NET framework You write code using C# and the .NET framework class libraries Xamarin Platform supported across many OSs and devices Android iOS and Mac Windows and Windows Phone 32
Evolution of the Xamarin Platform Xamarin Platform’s Key Value Proposition Provide update-to-date versions of .NET on Xamarin.iOS and Xamarin.Android Allow you to leverage skills you already have with Visual Studio, C# and .NET Support latest C# features such as support for async and await Mono MonoTouch Xamarin.iOS iOS iOS Mono for Android Xamarin.Android Android Android CLR & .NET Linux
Xamarin Setup Visual Studio 2013 with Update 4 Install Xamarin 34
Creating an Android App Project
Android Layouts UI layout decoupled from UI management code UI Layouts created in XML-based resource files with .axml extensions Xamarin adds Android layout design editor into to Visual Studio 36
Adding Connected Services 1Project Add Connected Service 2 Register your app 37
C# Code to Authenticate the User
Authentication Flow 39
demo XAMARIN
Summary Intro Windows Platform Non-windows Platforms Multi-platforms
Building skills Microsoft Virtual Academy dev.office.com/training Code Samples dev.office.com/code-samples DX Office 365 Dev Camps Office 365 Summit Developer Tracks summit.office.com
Developer Patterns & Practices Transform your code Providing App Model Patterns for common SharePoint Full Trust Code and Office Add-in scenarios 60 Visual Studio projects Common scenarios Branding Site provisioning Remote event receivers Large file support Taxonomy driven navigation And much more aka.ms/ OfficeDevPnP
Roadmap Monthly updates Associated blog posts www.office.com/roadmap
Customer feedback Yammer Office 365 Technical Network Stackoverflow UserVoice Developer focused Bi-weekly triage Link to roadmap to show actions http://aka.ms/OfficeDevFeedback
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.