randy williams evangelist / architect author why do we need a new app model
TRANSCRIPT
![Page 1: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/1.jpg)
Getting Started with SP2013 AppsRandy WilliamsEvangelist / ArchitectAvePoint
![Page 3: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/3.jpg)
?Why do we need a new app model
![Page 4: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/4.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/5.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/6.jpg)
“”
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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/8.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/9.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/10.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/11.jpg)
Demo
AppsCreating our first SharePoint Hosted App
![Page 12: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/12.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/13.jpg)
#spshnl @tweetraw
Three hosting options
![Page 14: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/14.jpg)
#spshnl @tweetraw
Three hosting options
![Page 15: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/15.jpg)
#spshnl @tweetraw
Three hosting options
![Page 16: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/16.jpg)
#spshnl @tweetraw
Three hosting options
![Page 17: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/17.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/18.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/19.jpg)
Demo
.app packageLet’s take a look inside
![Page 20: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/20.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/21.jpg)
#spshnl @tweetraw
CSOM
![Page 22: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/22.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/23.jpg)
#spshnl @tweetraw
OData
![Page 24: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/24.jpg)
#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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/25.jpg)
Demo
Using OData
![Page 26: Randy Williams Evangelist / Architect Author Why do we need a new app model](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f355503460f94c52c0b/html5/thumbnails/27.jpg)
#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