Familiar Toolsets Embracing Web standards to provide developers choice and flexibility.

31

Transcript of Familiar Toolsets Embracing Web standards to provide developers choice and flexibility.

SharePoint hosted appsYina ArenasProgram Manager - Microsoft

SPC010

Overview Data UXLogic

Agenda

Overview Data UXLogic

Agenda

Apps for SharePointApps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website. Apps integrate the best of the web and SharePoint; they are targeted and easy-to-use, and do a great job at solving a user need.

Build a new class of apps that extend and personalize the way we create and consume information right from within Office and SharePoint

The new cloud app model

New AppsA new class of apps enabling newscenarios and new user experiences

Flexible LifecycleDeploy and maintain your apps publicallyon the new Office Store, or internally withFlexibility and control

Familiar ToolsetsEmbracing Web standards to provide developers choice and flexibility

App Hosting

App Web (from WSP)

HostwebSharePoint-Hosted

AppReuse web elements (lists, out-

of-box web parts)Client side technologies and

declarative workflows

Provider-hosted App

“Bring your own server hosting infrastructure”

SharePoint

Web

Get remote events from SharePoint Use CSOM/REST + OAuth

Cloud-hosted apps

Your Hosted

Site

Autohosted AppWindows Azure + SQL

Azure provisioned automatically as apps

are installed

Azure SharePoint Web

We are

here

Reasons to use SharePoint hosted apps

INHERENT MULTI-TENANCY

& ISOLATION

NO ADDITIONALCOST

NO NEED FOR ADDITIONAL

INFRASTRUCTURE

AUTHENTICATION IS AUTOMATIC

SYMMETRIC IN OFFICE 365AND ON-PREM

SharePoint component isolation1 app installation = 1 “app web”

App webs are isolated in their own domain:

Leverages web browser same-origin policy for script isolation

Host web

App web

https://contoso.sharepoint.com/site/

https://contoso-appUID.sharepoint.com/site/app/

Available app web components

Data

• Lists• Libraries

• WebProxy• App scoped BDC models• App scoped ECTs

UX

• Declarative Pages• CSS files• Custom Actions• OOB Web Parts

Logic

• JavaScript• Workflows• Custom Actions

Demo

SharePoint Hosted App

Overview Data UXLogic

Agenda

Storing data

Internal app settings

User data

Lists, fields and content types as data structures

Data stored in Content DB

Access to external data

JSONP, CORS, XDRWhen supported by external server

SharePoint Web ProxyAllow SharePoint server to make calls on your behalf

SharePoint BCS ModelEasily consuming OData services inside apps

SP

SP

SP

Demo

Data

Overview Data UXLogic

Agenda

JSOM & RESTJavaScript object modelvar ctx = new SP.ClientContext("http://contoso-appUID.spo.com/site/app");ctx.load(ctx.get_web().get_title());ctx.executeQueryAsync();

REST/ODatahttp://contoso-appUID.spo.com/site/app/_api/web/Title

_api/web/lists_api/web/lists/getByTitle('Documents')

_api/social.feed/my/news_api/SP.UserProfiles.PeopleManager/getMyProperties()_api/search/query?Querytext='Marketing'

Client context and cross site callsTo access artifacts outside of the appweb:1. Request permission to the scope you want

to access2. Make your CSOM request using the right

client context.

var ctx = new SP.ClientContext(appWebUrl);var appContextSite = new SP.AppContextSite(ctx, targetUrl);ctx.Load(appContextSite.get_web());

Business Logic

Use JavaScript or other client side code to access data and perform actions

Use declarative Workflows for long running, event driven operations

Demo

Logic

Overview Data UXLogic

Agenda

User Experience

Get styling for freeSharePoint provides CSS to style contentMaster page for chrome

Reusable UI componentsList view web partReusable UI controls like dialogs and calloutsCustom Actions let you extend menus, ribbon, and script

Integrate with core SharePoint experiences

App Web Template

Default template for SharePoint hosted apps

Blank starting place

Contains an app.master page for the site

App lock down feature hides dangerous UI entry points inside appweb

App Web Custom ActionsCan target any location: Ribbon, ECB, ScriptLinkWeb scopedCan contain script

Demo

User Experience

Overview Data UXLogic

Thank you!

Remember to fill out evaluations in MySPC

Other talks of interestSPC253 What’s new for Office 2013 and SharePoint 2013SPC133 Introduction to the Cloud App Model for Office and SharePoint 2013, Part 1SPC134 Introduction to the Cloud App Model for Office and SharePoint 2013, Part 2SPC001 0 to 60 with Office and SharePoint 2013 apps using Napa and Visual Studio

2012SPC010 An overview of developing SharePoint-hosted appsSPC029 Building Autohosted Apps for SharePointSPC031 Building end-to-end apps for SharePoint with Windows Azure and Windows 8SPC088 Developing hybrid apps for SharePoint: apps that work on-premises and in the

cloudSPC097 Developing apps for SharePoint 2013 with Visual Studio 2012SPC002 10 Tips for building Great AppsSPC212 Workflow Development for Apps and Solutions for SharePoint 2013 with Visual

Studio 2012SPC241 Understanding authentication for apps for SharePointSPC106 Getting your apps into the Office and SharePoint Store

Accelerating Your AppComplete The CardTake It To The SharePoint Store Booth (Microsoft Pavilion) Daily Draw To Meet A Program Mgr & Plan Your App

Check Out dev.office.comhttp://www.devcamps.ms/office

Sign Up Dev Tenant Seller Account

Evaluate this session now on MySPC using your laptop or mobile device: http://myspc.sharepointconference.com

MySPC

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.