sharepoint apps 101

21
fluent in energy SHAREPOINT APPS 101 RON COURVILLE ENTRANCE SOFTWARE

Upload: ronald-courville

Post on 27-Jul-2015

67 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: SharePoint Apps 101

fluent in energy

SHAREPOINT APPS 101RON COURVILLEENTRANCE SOFTWARE

Page 2: SharePoint Apps 101

fluent in energy

About Me

•LSU alumnus•Working with custom SharePoint development since 2009

•With Entrance Software since 2012

Page 3: SharePoint Apps 101

fluent in energy

• Delivers functionality and/or UI to the host environment

• Web page + App manifest (XML) = App

• Apps for Office and SharePoint 2013

• Deployable from the app store – public or private

• On prem or O365• Utilizes web standard

technologies like HTML5, XML, CSS3, JavaScript, and REST APIs

• Can be built in any web dev tools

What is an app?

Page 4: SharePoint Apps 101

fluent in energy

Example app

Page 5: SharePoint Apps 101

fluent in energy

Example app

Page 6: SharePoint Apps 101

fluent in energy

Know WHY you are deploying custom code

Out of the box

• Pros• More affordable• Faster rollout• Pre-tested by Microsoft

• Cons• Functionality restricted to

existing toolset• Limited control of

presentation• Does not support large scale

applications

Custom code

• Pros• Complete control of functionality• Can support large scale applications

• Allows more complex design• Can avoid speed and data limit

restrictions• Control over presentation

• Cons• Costly• Delays rollout• Additional complexity (ie. risk of

new bugs)• Upgrade compatibility not

guaranteed

Page 7: SharePoint Apps 101

fluent in energy

Flashback to 2010 custom solutions

•Sandbox or Farm solution• Sandbox is deprecated in 2013

•Share farm resources•Developers could implement dangerous methods• allowunsafeupdates = true• $list.EnableThrottling = $false

•Unlikely/expensive support in Office 365•Limited to SharePoint backend for hosting

Page 8: SharePoint Apps 101

fluent in energy

Why host outside of SharePoint?

•No memory leaks in the farm• Degrade performance• Difficult to track, and can take down the whole

farm•Dedicated and isolated app resources• Separation of concerns

•Support large scale applications• > 5000 rows• Faster read/write access• App data readily accessible by other LOB

•Can re-use outside of SharePoint

Page 9: SharePoint Apps 101

fluent in energy

•“App shapes”•Immersive - Full page

•App part - Iframe•Custom actions – custom menu

How apps are surfaced onto SharePoint

Page 10: SharePoint Apps 101

fluent in energy

Framework of the SharePoint App

•App Web, App Domain• http://app-bdf2016ea7dacb.fabrikamapps.com/sites/

Marketing/Scheduler•Host Web• https://www.fabrikam.com/sites/Marketing

• Iframe

Page 11: SharePoint Apps 101

fluent in energy

Cross Domain Challenges

•Same Origin Policy• Prevents a script or application from making a connection to any web server other than the one the web page originally came from

Page 12: SharePoint Apps 101

fluent in energy

Solving the cross-domain challenge

OAUTH – server sideCross-domain JS library –

client side

Page 13: SharePoint Apps 101

fluent in energy

Types of Apps – SharePoint Hosted

•Hosted on the farm in app web, accessible in the (isolated) app domain

•Client side technologies only• CSOM + JSOM + REST API

•Can implement most common SharePoint tools• Lists• Workflows• Content Types• People picker controls• Remote event receiver *

•Uses privileges of signed in user•Easiest to roll out•Rough equivalent: "Site template deployable from the app

marketplace"• Cross domain challenges do not make this a viable alternative to

most Site Template use cases

Page 14: SharePoint Apps 101

fluent in energy

Types of Apps – Provider Hosted

•Hosted on independent, external server

•Independent web application• Can use any architecture• Can be developed in any web language(s)

•Most freedom of control; more technically challenging to implement

Page 15: SharePoint Apps 101

fluent in energy

Example - Provider hosted app with app part

Page 16: SharePoint Apps 101

fluent in energy

Types of Apps – Auto Hosted

•Provider hosted + MS framework for faster builds

•Deprecated

Page 17: SharePoint Apps 101

fluent in energy

Additional Concerns

•SharePoint and app must be configured for https

•App part resizing•Reading parameters from URL in the app•Solution: "App Controller" Web Part

Page 18: SharePoint Apps 101

fluent in energy

App vs farm solution round up

App

• SharePoint, Provider, or Azure hosted

• Can be hosted externally, rolled up to app web

• Safer• Architectural freedom• Enterprise and O365 ready• Complex setup and coding

for cross domain access• Clunky UI handling

Custom solution

• Sandbox or Farm solution• More risky• Limited to SharePoint

architecture• Not supported by O365, often

not enterprise supported• Easier to develop• No iframe; more fluid UI

Page 19: SharePoint Apps 101

fluent in energy

What’s next?

•Office 365 API?

Page 20: SharePoint Apps 101

fluent in energy

Summary

•Stay OOTB if possible•Provider hosted app > SharePoint hosted app

•App > Farm solution•First evaluate the ROI• App: Less risk, better performance, more specialized deployment process

•Development and deployment processes will likely become more streamlined

Page 21: SharePoint Apps 101

fluent in energy

Questions?