18
Template designed by Best way to create a SharePoint App Fabio Franzini @franzinifabio www.fabiofranzini.com Template designed by

Sys02 best way to create a share point app

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Sys02   best way to create a share point app

Template designed by

Best way to create a SharePoint App

Fabio [email protected]

Template designed by

Page 2: Sys02   best way to create a share point app

Template designed by

brought to you by

Page 3: Sys02   best way to create a share point app

Template designed by

SharePoint MVP

Senior Consultant and Software Engineer

MCT Trainer, MCPD Web Applications, MCTS SharePoint 2010/2007

Web Stack Lover

Official Ignite Trainer for SharePoint 2013 & 2010 in Italy

Over 10 years experience in IT as a software engineer

About Me

Page 4: Sys02   best way to create a share point app

Template designed by

Evolution in SharePoint Development

New App Model

Kinds of Apps

What is the best model?

UI Layer

Biz Layer

Server Side Code

Agenda

Page 5: Sys02   best way to create a share point app

Template designed by

SharePoint2007

SharePoint2010

SharePoint 2013

Services(Azure, IIS, Apache,etc…)

SP2007WSP

SP2010WSP

SP2013App

Declar. App & Workflow Events

Custom Code

Custom Code

CSOM

_api

_api

Evolution in SharePoint Development

CSOM

Page 6: Sys02   best way to create a share point app

Template designed by

Apps no longer live in SharePointReduces the ramp-up time for those building apps (Don’t need to know/be as familiar with SharePoint “-isms”)

Custom code executes in the client, cloud or on-premiseEasier to upgrade to future versions of SharePoint

Works in hosted environments w/o limitations

Apps communicate with SharePoint via REST / CSOM

Apps are granted permissions to SharePoint via OAuth

Acquire apps via centralized Marketplace

Some Examples http://code.msdn.microsoft.com/officeapps

New App Model

Page 7: Sys02   best way to create a share point app

Template designed by

Kinds of Apps

Provision an Isolated sub web on a parent web Reuse web elements

(lists, files, out-of-box web parts)

No server code allowed; use client JavaScript for logic, UX

Server side code allowed

Any web stack allowed

Windows Azure + SQL Azure provisioned invisibly as apps are installed

Page 8: Sys02   best way to create a share point app

Template designed by

What is the best model (for me)?

Hosted Sitefor Services

+If you need!

Using existing services / reuse of services across multiple apps

Does not require a hosting service for apps Multi-tenancy free through sharepoint

Page 9: Sys02   best way to create a share point app

Template designed by

Or….

HTML5 +

JavaScript+

Server Side Services

+

Using Client Side Code for UI Logic

Using Server Side Code for

Services

Easy to Upgrade and Bug-Fix

Any language supported by your web server or hosting service

Page 10: Sys02   best way to create a share point app

Template designed by

UI Layer 1/3

Page 11: Sys02   best way to create a share point app

Template designed by

Using Standard SharePoint StylesMSDN: http://bit.ly/1hO8ToL, http://bit.ly/KMSzIF

Add custom stylesAdd Prefix to all css styles to prevent conflicts

UI Layer 2/3

Page 12: Sys02   best way to create a share point app

Template designed by

No PostBack or Server Side Page Rendering

Using Client Side Framework for UI Logics and Custom Controls

KnockoutJS / DurandalJS

(MVVM) / Complete SPA Framework on top of KnockoutJS

AngularJS

Complete SPA Framework from Google

Another or Custom Solution

UI Layer 3/4

Page 13: Sys02   best way to create a share point app

Dem

o UI Layer

Styles and Controls

Page 14: Sys02   best way to create a share point app

Template designed by

Client Code (JavaScript)

+

SharePoint Client API (CSOM / REST)

+

Custom Services (ASP.NET, NodeJS, PHP, Java, …)

Modularizing your client code!!!!!!Uses RequireJS for example

Biz Layer

Page 15: Sys02   best way to create a share point app

Dem

o Biz Layer

Page 16: Sys02   best way to create a share point app

Template designed by

Every time you need to functionality difficult to do on the clientDB Access

Long Running Process

Server Side Generation

Uses the technology that you want ASP.NET

NodeJS

PHP

JSP

….

Server Side Code

Page 17: Sys02   best way to create a share point app

Template designed by

What is the best model? SharePoint Hosted + Services / Provider Hosted with Client Side Logics + Services

UI Layer Client Side Templating

Biz Layer Client Side Code + Services

Server Side Code ASP.NET, NodeJS, JSP, PHP…

Recap

Page 18: Sys02   best way to create a share point app

Template designed by

brought to you by