Your SlideShare is downloading. ×

Apps for SharePoint 2013


Published on

A short introduction to the new app model in SharePoint 2013

A short introduction to the new app model in SharePoint 2013

Published in: Technology
1 Comment
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Apps for SharePoint 2013 Alex Pop July 2013
  • 2. Application development models in SharePoint 2010 ● sandboxed solutions: ○ limited server side API access; ● farm solutions: ○ installed using "*.wsp" packages that have impact on the whole SharePoint farm when installed or updated ○ on a production system these solutions have to be installed out of hours;
  • 3. Application development models in SharePoint 2013 ● sandboxed solutions: deprecated; ● farm solutions: only use for applications targeted at SharePoint administrators; ● new "apps for SharePoint" model: ○ THE recommended model for end user applications; ○ derived from SharePoint Online and Office 365 requirements; ○ isolates all custom server-side code from the SharePoint instance
  • 4. "Apps for SharePoint" types ● There are 3 new types of SharePoint solutions: ○ SharePoint hosted, autohosted and provider hosted; ○ they all create a new ".app" file that has to be deployed to SharePoint using a very complex process; ● SharePoint hosted app: a SharePoint app project containing SharePoint assets(lists, workflows, etc.) + web pages that can only use client side code;
  • 5. "Apps for SharePoint" types(cont.) ● Autohosted and Provider hosted apps: ○ both have a SharePoint app project and an ASP. NET web project: a SharePoint app and a web application; ○ the Autohosted solution packages all assets (including the website and the database scripts) in the ".app" file; ○ the Provider hosted solution packages only the SharePoint app project into the ".app" file. The web application deployment is done independently.
  • 6. Provided hosted apps - integration ● the web application communicates with SharePoint using: ○ a shared security certificate; ○ a helper library "AppForSharePointWebToolkit" (available as a NuGet package); ○ the SharePoint Client Object Model(CSOM); ○ the SharePoint app manifest needs to list the SharePoint permissions that your app needs;
  • 7. Provided hosted apps - integration (cont.) ● the web application can expose "app parts" to SharePoint: <iframe> elements that render content from the web application; ● the SharePoint app can: ○ package SharePoint assets(lists, content types, workflows, etc.); ○ extend SharePoint menus;
  • 8. What this all means ● employ modern web development practices: develop clean, testable applications; ● leverage existing web development skills: you don't need advanced SharePoint knowledge to accomplish even the most basic tasks; ● scalable, distributed web applications: you can allocate more resources to an app for SharePoint if and when needed; ● support for other application frameworks?
  • 9. Scenarios enabled by Apps For SharePoint ● use SharePoint as a data store together with a custom web application; ● use a third party data store together with a custom web application; ● mix and match SharePoint and external data stores; ● provide "app parts" to SharePoint;
  • 10. Current SharePoint application architecture ● the entry point for all applications is a SharePoint page; ● the SharePoint app delivers all SharePoint specific assets; ● the web application will render all UI components; ● the web application will interact with Sharepoint using the current user identity or using a custom identity within a scheduled job;
  • 11. Development update ● Bootstrap is everywhere: ○ Bootstrap master pages now deployed on the SharePoint server; ○ Bootstrap is used to style the app for SharePoint; ○ The result is consistent styles applied throughout; ● ASP.NET MVC: ○ provides Windows authentication and session identity; ○ builds the single page application skeleton; ○ minifies and concatenates all assets;
  • 12. Development update (cont.) ● ServiceStack: used to build RESTful , testable web services (90% server side code coverage with AutoFixture); ● AngularJS: ○ MV* framework for single page applications; ○ reusable web components(a.k.a the future of web); ○ testable code via dependency injection; ● Kendo UI Web: powerful grid and other widgets plus IE8 support (now compatible with AngularJS); ● Entity Framework 5: using the code first model with database migrations.
  • 13. Notes ● Reimagine SharePoint Development: http: // US/office/apps/dn133840 ● Deciding between apps for SharePoint and SharePoint solutions: com/library/sharepoint/dn268593(v=office. 15)