Building SharePoint 2013 Apps 101
description
Transcript of Building SharePoint 2013 Apps 101
Building SharePoint 2013 Apps 101Jerry Yasir SharePoint Server MVP, MCTSr. SharePoint ArchitectUS Tech Solutions @jerry_yasir
• Introduction • Type of Apps• Pre-Configuration• Demo• App Catalog
Agenda
Evolution of SharePoint Development2007
SharePoint
IIS
Code runs from GAC on same w3wp.exe as
SharePoint web application
2010
SharePoint
IIS Sandbox
Code runs on SPUCWorkerProcess.ex
e or calls client.svc (CSOM)
2013
SharePoint
IIS with _api App
Code runs outside of SharePoint but has trust to
leverage capabilities exposed in _api
What's the Problem• Code Based on DLLs Runs on Server• Bad Code can effect your farm• Upgrading Solutions can be difficult• Permissions are difficult to handle• Impersonate or not to impersonate or use
user permissions
Build a new class of apps that extend and personalize the way we create and consume information right from within Office and SharePoint
The new cloud app model
New AppsA new class of apps enabling newscenarios and new user experiences
Flexible LifecycleDeploy and maintain your apps publicallyon the new Office Store, or internally withFlexibility and control
Familiar ToolsetsEmbracing Web standards to provide developers choice and flexibility
Apps for SharePointApps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website. Apps integrate the best of the web and SharePoint; they are targeted and easy-to-use, and do a great job at solving a user need.
App Hosting Options
SharePoint-Hosted App
Provision an isolated sub web on a parent web (separate domain)• Reuse web elements
(lists, files, out-of-box web parts)• No server code allowed; use client JavaScript for logic, UX
Provider-Hosted App
“Bring your own server hosting infrastructure and technology platform”Get remote events
from SharePoint Use CSOM/REST + OAuth to work with SP
Cloud-based Apps
Your Hosted
Site
Autohosted App
Windows Azure + SQL Azure provisioned invisibly as apps are installed
Azure
SharePoint
Host WebApp Web* (separate
SharePoint domain)SharePoin
t Host WebApp Web*
(separate SharePoint domain)SharePoin
t Host WebApp Web
(separate SharePoint domain)
*App Webs are optional in Cloud-Hosted Apps
SharePoint Cloud
GuidelineSharePoint App Management Configuration
• Office Developer Tools for Visual Studio 2012• Multitenant SharePoint Deployment• Office 365• NAPA
• Service Application• App Management Service• Site Subscription Management Service
Configuring SharePoint for Apps Development
• Site Scope• Installed on a site called “Host Web”
• Tenancy-Scoped Installation• Installed on site called “App Catalog Site”• Single App for All Web
App Installation
• App Manifest• Permissions• Start Page URL• App Web• Host Web• An App Can not Access Host Web Directly
(Prevent Cross Site Scripting)• App-Hosted Domain and App URL
Apps for SharePoint – Things to Know
• Start Page• App Parts• UI Custom Actions
• Cloud Hosted Apps• Chrome Control• Direct CSS Reference using JavaScript
Apps UI
SharePoint 2013 Apps with Demo
• Manifested and Lives Inside SharePoint • No Server Side Code Allowed• Consists of ASPX Pages that includes• HTML5, CSS, JavaScript, jQuery
• REST and OData
SharePoint Hosted App
A SharePoint Hosted AppDemo
Auto-Hosted App Lifecycle
App Developer Tenant Admin
Site Owner
Site Owner
Site Owner
Site OwnerApp
Catalog
SharePoint Store(Office Marketplace)
Tenant A
Tenant B
.app .app
.app
Web Site SQL DB
Workflow
Web Site SQL DB
Workflow
Web Site SQL DB
Workflow
Web Site SQL DB
Workflow
An Auto-Hosted AppDemo
• Deployment of Remote Web is by Choice• The Deployed to Remote Web on Remote Web Server• Remote Web + Database Must be Deployed First
Provider Hosted Apps
A Basic Provider Hosted AppDemo
SharePoint 2013 App CatalogDemo
• New Cloud Based App Model• Apps code out of SharePoint• 2 Categories of App• SharePoint Hosted• Cloud Hosted
• 3 Types of Apps• SharePoint Hosted Apps• Azure Auto-Hosted Apps• Provider Hosted Apps
• Configuration of App Development• App Management Service App + Site Subscription Server + App
Domain
Takeaways
Stick around for Q&AThanks!