Upload
chaim-hambelton
View
219
Download
1
Tags:
Embed Size (px)
Citation preview
Partner
Platinum Sponsor
Getting Started with SharePoint 2013 Apps
Randy Williams, AvePoint
USA
Steve Sofian, arvato SystemsSingapore
#SEASPC @tweetraw @ssofian
Steve Sofian Regional Consulting Manager
.NET / SharePoint / Business Intelligence Customer Engagement Platform
Over 15 years of software development and systems integration
Microsoft SharePoint MVP since 2007 Founder and community lead for Singapore SharePoint
Community http://www.facebook.com/groups/sgsharepoint/
Co-organizer Southeast Asia SharePoint Conference 2010, 2011, 2013
Author
?Why do we need a new app model
#SEASPC @tweetraw @ssofian
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
#SEASPC @tweetraw @ssofian
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
“”
Self-contained pieces of functionality that extend the capabilities of a SharePoint
website
What is a SharePoint 2013 App?
Microsoft - bit.ly/MFDnI9
Demo
Built-in AppsA quick look at what’s built in
#SEASPC @tweetraw @ssofian
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
#SEASPC @tweetraw @ssofian
How apps run
SP Farm Other Platform
CSOM/OData
OAuth
#SEASPC @tweetraw @ssofian
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
Demo
AppsCreating our first SharePoint Hosted App
#SEASPC @tweetraw @ssofian
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
#SEASPC @tweetraw @ssofian
Three hosting options
#SEASPC @tweetraw @ssofian
Three hosting options
#SEASPC @tweetraw @ssofian
Three hosting options
#SEASPC @tweetraw @ssofian
Three hosting options
#SEASPC @tweetraw @ssofian
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
#SEASPC @tweetraw @ssofian
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
Demo
.app packageLet’s take a look inside
#SEASPC @tweetraw @ssofian
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
#SEASPC @tweetraw @ssofian
CSOM
#SEASPC @tweetraw @ssofian
CSOM Same object models as before
.NET Managed code JavaScript Silverlight
Much richer API compared to 2010
#SEASPC @tweetraw @ssofian
OData
#SEASPC @tweetraw @ssofian
OData REST-ful API Virtually same coverage as CSOM
Demo
Using OData
#SEASPC @tweetraw @ssofian
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
Thank you to our sponsors 29