Getting Started with
SP2013 Apps
Randy Williams
Enterprise Trainer and Evangelist
AvePoint
Randy Williams
            Enterprise Trainer & Evangelist
            Based in San Diego, CA
            SharePoint MVP for 2009, 2010, 2011
            Speaker at many global conferences
 20+ years in IT

 Columnist: SharePoint Pro magazine
 randy.williams@avepoint.com
 @tweetraw
Why do we need
a new app model
Challenges with WSP solutions
 Full-trust solutions


 Sandboxed solutions

 Requires administrative deployment and support
 Lifecycle management

 Steep learning curve
 Not cloud ready
Benefits of the new app model
                  • Based on a proven and familiar app model
                  • Apps can be found in SharePoint Store or a corporate
                    app catalog
   Info Workers
                  • Can provision, upgrade and delete


                  • Lower learning curve – re-use your existing web
                    technology background
                  • SharePoint Store opens up new revenue potential
   Developers


                  • Apps decoupled from SharePoint – simplifies upgrades
                  • Virtually no risk to farm
                  • Corporate catalog facilitates governance controls
   IT Managers
What is a SharePoint 2013 App?

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

       Built-in Apps
Um, as a dev - what exactly is an app?

                               An application whose interface is
                             surfaced through SharePoint but code
                                    is executed elsewhere



   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
How apps run
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

       Apps
Apps vs solution packages
                                        Apps        Sandboxed WSP      Full trust WSP
                                     Anywhere but   Farm (User Code
Where does server-side code run?                                       Farm (w3wp.exe)
                                        farm            Service)
Scalable                                Highly          Limited         Based on farm
                                                     Site collection
Who installs and removes                Users                            Farm admin
                                                         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
                                         Yes              No                 No
from Visual Studio
Three hosting options
Three hosting options
Three hosting options
Three hosting options
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
App web
 Provisioned by host web
 Contains only web-scoped features
 Initial UI is immersive, full page

 Custom master page is assigned (app.master)
 Quick launch and common layout pages are unavailable

 Only declarative code allowed
Demo

       .app package
API Support (_api)
 Remote APIs are now a first-class citizen


 Client-side object model (CSOM)
 REST-based (OData)
 OAuth
CSOM
CSOM
 Same object models as before




 Much richer API compared to 2010
OData
OData
 REST-ful API
 Virtually same coverage as CSOM
Demo

       Using OData
Bonus Demo (if time permits)

                           Apps
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

Getting Started with SharePoint 2013 Apps

  • 1.
    Getting Started with SP2013Apps Randy Williams Enterprise Trainer and Evangelist AvePoint
  • 2.
    Randy Williams  Enterprise Trainer & Evangelist  Based in San Diego, CA  SharePoint MVP for 2009, 2010, 2011  Speaker at many global conferences  20+ years in IT  Columnist: SharePoint Pro magazine  randy.williams@avepoint.com  @tweetraw
  • 3.
    Why do weneed a new app model
  • 4.
    Challenges with WSPsolutions  Full-trust solutions  Sandboxed solutions  Requires administrative deployment and support  Lifecycle management  Steep learning curve  Not cloud ready
  • 5.
    Benefits of thenew app model • Based on a proven and familiar app model • Apps can be found in SharePoint Store or a corporate app catalog Info Workers • Can provision, upgrade and delete • Lower learning curve – re-use your existing web technology background • SharePoint Store opens up new revenue potential Developers • Apps decoupled from SharePoint – simplifies upgrades • Virtually no risk to farm • Corporate catalog facilitates governance controls IT Managers
  • 6.
    What is aSharePoint 2013 App? Self-contained pieces of functionality that extend the capabilities of a SharePoint website
  • 7.
    Demo Built-in Apps
  • 8.
    Um, as adev - what exactly is an app? An application whose interface is surfaced through SharePoint but code is executed elsewhere  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
  • 9.
  • 10.
    What SharePoint artifactsare 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
  • 11.
    Demo Apps
  • 12.
    Apps vs solutionpackages Apps Sandboxed WSP Full trust WSP Anywhere but Farm (User Code Where does server-side code run? Farm (w3wp.exe) farm Service) Scalable Highly Limited Based on farm Site collection Who installs and removes Users Farm admin 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 Yes No No from Visual Studio
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    Host web andapp 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
  • 18.
    App web  Provisionedby host web  Contains only web-scoped features  Initial UI is immersive, full page  Custom master page is assigned (app.master)  Quick launch and common layout pages are unavailable  Only declarative code allowed
  • 19.
    Demo .app package
  • 20.
    API Support (_api) Remote APIs are now a first-class citizen  Client-side object model (CSOM)  REST-based (OData)  OAuth
  • 21.
  • 22.
    CSOM  Same objectmodels as before  Much richer API compared to 2010
  • 23.
  • 24.
    OData  REST-ful API Virtually same coverage as CSOM
  • 25.
    Demo Using OData
  • 26.
    Bonus Demo (iftime permits) Apps
  • 27.
    How do Iget 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
  • 28.

Editor's Notes

  • #2 The latest release of Microsoft SharePoint is primed to change the rules when it comes to building applications. In this session, come get a demo-centric introduction to what's new and improved. We'll cover what "off box" really means and how these external apps integrate with SharePoint. We'll look out the different hosting options to help you decide where you app should run, and introduce the new client APIs as well as discuss authentication mechanisms within your solutions. We’ll also explore changes in deployment packaging options – it’s an exciting new world for developers, come join us and take the first step into the future.