28
Getting Started with SP2013 Apps Randy Williams Evangelist / Architect AvePoint

Randy Williams Evangelist / Architect Author Why do we need a new app model

Embed Size (px)

Citation preview

Page 1: Randy Williams Evangelist / Architect Author Why do we need a new app model

Getting Started with SP2013 AppsRandy WilliamsEvangelist / ArchitectAvePoint

Page 2: Randy Williams Evangelist / Architect Author Why do we need a new app model

@tweetraw

Randy Williams

Evangelist / Architect

@tweetraw [email protected]

Author

Page 3: Randy Williams Evangelist / Architect Author Why do we need a new app model

?Why do we need a new app model

Page 4: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

Challenges with WSP solutions Full-trust solutions

Performance and stability concerns Incompatible with SPOL

Sandboxed solutions Clunky architecture, too limiting

Requires administrative deployment and support Lifecycle management

Upgrade, decommission Steep learning curve Not cloud ready

Page 5: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

Benefits of the new app model

• Lower learning curve – re-use your existing web technology background

• SharePoint Store opens up new revenue potentialDevelopers

IT Managers

• Apps decoupled from SharePoint – simplifies upgrades

• Virtually no risk to farm• Corporate catalog facilitates governance

controls

Info Workers

• Based on a proven and familiar app model• Apps can be found in SharePoint Store or a

corporate app catalog• Can provision, upgrade and delete

Page 6: Randy Williams Evangelist / Architect Author Why do we need a new app model

“”

Self-contained pieces of functionality that extend the capabilities of a SharePoint

website

What is a SharePoint 2013 App?

Microsoft - bit.ly/MFDnI9

Page 7: Randy Williams Evangelist / Architect Author Why do we need a new app model

Demo

Built-in AppsA quick look at what’s built in

Page 8: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

So, as a dev - what exactly is an app?

Can contain some declarative SharePoint artifacts External app provides SharePoint UI through IFrame External app uses CSOM or REST (OData) calls to call

back No custom server-side code running on SharePoint

An application whose interface is surfaced through SharePoint but

code is executed elsewhere

Page 9: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

How apps run

SP Farm Other Platform

CSOM/OData

OAuth

Page 10: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

What SharePoint artifacts are supported? * Modules: pages, js libraries, images, other file-based

resources Custom actions: ribbon or ECB Client web part (“app part”) List instances, columns, content types Remote event receivers * SPWeb-scoped features only

When adding an app, a sub-web is created to hold these artifacts; when removing an app, sub-web is deleted

Page 11: Randy Williams Evangelist / Architect Author Why do we need a new app model

Demo

AppsCreating our first SharePoint Hosted App

Page 12: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

Apps vs solution packagesApps Sandboxed

WSPFull trust WSP

Where does server-side code run? Anywhere but farm

Farm (User Code Service) Farm (w3wp.exe)

Scalable Highly Limited Based on farm

Who installs and removes Users Site collection admin Farm admin

Supported in SP2013 Yes Yes Yes

SharePoint Online compatible Yes Yes No

Azure-hosting compatible Yes No No

Requires local farm for developers No Yes Yes

Remote deployment and debugging from Visual Studio Yes No No

Page 13: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

Three hosting options

Page 14: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

Three hosting options

Page 15: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

Three hosting options

Page 16: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

Three hosting options

Page 17: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

Host web and app web The host web is where app is added, removed, upgraded If app has SharePoint artifacts, a sub-web is created

underneath the host web This sub-web is called the app web App web is only accessible using isolated domain name

https://apps-af48d482118ab1.apps.contoso.com/{appName}

Host Web

AppWeb

Page 18: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

App web Provisioned by host web Contains only web-scoped features Initial UI is immersive, full page

Set in appmanifest.xml Custom master page is assigned (app.master) Quick launch and common layout pages are unavailable

Settings.aspx, viewlsts.aspx, etc. Only declarative code allowed

Page 19: Randy Williams Evangelist / Architect Author Why do we need a new app model

Demo

.app packageLet’s take a look inside

Page 20: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

API Support (_api) Remote APIs are now a first-class citizen

Search, MMS, User Profile, BCS, et al User-centric capabilities (no Central Admin-like support)

Client-side object model (CSOM) REST-based (OData) OAuth

Page 21: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

CSOM

Page 22: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

CSOM Same object models as before

.NET Managed code JavaScript Silverlight

Much richer API compared to 2010

Page 23: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

OData

Page 24: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

OData REST-ful API Virtually same coverage as CSOM

Page 25: Randy Williams Evangelist / Architect Author Why do we need a new app model

Demo

Using OData

Page 26: Randy Williams Evangelist / Architect Author Why do we need a new app model

Bonus Demo (if time permits)

AppsCreating a Provider Hosted app

Page 27: Randy Williams Evangelist / Architect Author Why do we need a new app model

#spshnl @tweetraw

How do I get started? Sign up for Office 2013 developer site

http://dev.office.com Get Visual Studio 2012

http://www.microsoft.com/visualstudio/eng/downloads Download the Office Developer Tools for Visual Studio

2013 RTM - Preview http://go.microsoft.com/fwlink/?LinkID=261869

Page 28: Randy Williams Evangelist / Architect Author Why do we need a new app model

[email protected]@tweetraw

Slides: slidesha.re/UDpa4K

Thank you