1 | SharePoint Saturday Italy – Rome – 25 January 2014
25 January 2014
2 | SharePoint Saturday Italy – Rome – 25 January 2014
Grazie ai nostri Sponsor!
3 | SharePoint Saturday Italy – Rome – 25 January 2014
Fabio Franzini – SharePoint Server MVP – [email protected] - @franzinifabio – www.fabiofranzini.com
Best way to create a SharePoint App
4 | SharePoint Saturday Italy – Rome – 25 January 2014
About Me 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 9 years experience in IT as a
software engineer
5 | SharePoint Saturday Italy – Rome – 25 January 2014
Agenda Evolution in SharePoint Development
New App Model Kinds of Apps
What is the best model? UI Layer Biz Layer Server Side Code
6 | SharePoint Saturday Italy – Rome – 25 January 2014
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
7 | SharePoint Saturday Italy – Rome – 25 January 2014
New App Model Apps no longer live in SharePoint
Reduces 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-premise Easier 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
8 | SharePoint Saturday Italy – Rome – 25 January 2014
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
9 | SharePoint Saturday Italy – Rome – 25 January 2014
What is the best model?
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
10 | SharePoint Saturday Italy – Rome – 25 January 2014
Or….
HTML5 +
JavaScript+
Server Side Services
+
Using Client Side Coder 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
11 | SharePoint Saturday Italy – Rome – 25 January 2014
UI Layer 1/3
12 | SharePoint Saturday Italy – Rome – 25 January 2014
UI Layer 2/3 Using Standard SharePoint Styles
MSDN: http://bit.ly/1hO8ToL, http://bit.ly/KMSzIF Add custom styles
Add Prefix to all css styles to prevent conflicts
13 | SharePoint Saturday Italy – Rome – 25 January 2014
UI Layer 3/4 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
14 | SharePoint Saturday Italy – Rome – 25 January 2014
Demo
UI Layer – Styles and Controls
15 | SharePoint Saturday Italy – Rome – 25 January 2014
Biz LayerClient Code (JavaScript)
+ SharePoint Client API (CSOM / REST)
+ Custom Services (ASP.NET, NodeJS, PHP,
Java, …)
Modularizing your client code!!!!!! Uses RequireJS for example
16 | SharePoint Saturday Italy – Rome – 25 January 2014
Demo
Biz Layer
17 | SharePoint Saturday Italy – Rome – 25 January 2014
Server Side Code Every time you need to functionality
difficult to do on the client DB Access Long Running Process Server Side Generation …
Uses the technology that you want ASP.NET NodeJS PHP JSP ….
18 | SharePoint Saturday Italy – Rome – 25 January 2014
Recap 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…
19 | SharePoint Saturday Italy – Rome – 25 January 2014
Q&A
20 | SharePoint Saturday Italy – Rome – 25 January 2014
Session Feedback
Best way to create a SharePoint Apphttp://www.surveymonkey.com/s/NVL3VZN
21 | SharePoint Saturday Italy – Rome – 25 January 2014
Grazie