SlideShare a Scribd company logo
SPCA2013 - Building Windows Client Applications for SharePoint 2013
Building Windows Client
Applications for SharePoint
2013
Bill Ayers
Building Windows Client
Applications for SharePoint
2013
Bill Ayers
MCM/MCSM SharePoint
MCTS, MCITP, MCSD, MCAD,
MCSA, MCDBA, MCT etc.
Consultant currently specialising in SharePoint
Development and Architecture for Web Content
Management and Collaboration. (I also do some
mobile development on the side)

Blog: www.SPDoctor.net
E-mail: BillA@flosim.com
Twitter: @SPDoctor
Agenda
 Why Apps?
 Why Rich Client Applications still matter
 Windows 8 apps
 Windows Phone apps
 Other Mobile Platforms
 Conclusions

200
SharePoint Development Timeline…

 SharePoint 2001 – forget it
 SharePoint 2003 – Limited, not aligned with ASP.NET,
complex ALM
 SharePoint 2007 – Server-side object model (farm
solutions)

 SharePoint 2010 – Sandboxed solutions
 SharePoint 2013 – SharePoint Apps.
Apps for SharePoint
• Development models
• SharePoint-hosted
• Cloud-hosted
• Interaction
• Full page
• App part
• Command extensions

SharePoint
Hosted App
Web Pages
Scripts
Style
Sheets

Cloud
Hosted App
Web Pages
Scripts
Style Sheets
Server-Side
Code
Databases
“Apps” are everywhere!
What are “Apps” anyway?
Easy distribution
Self-contained
Clean Uninstall

Sandboxed
Some degree of
vetting

Marketplace
infrastructure
Apps for SharePoint
• Distribution
•
•

Publish to App Catalog
Publish to Office Marketplace

• Self-contained, clean uninstall, sandboxed
•
•

No server-side code
All SharePoint artifacts hosted within app web
Rich clients still matter

Mobile vs. Desktop Internet
Global Internet Users
(millions)

2000
1600
1200
800
400
0

2007

2008

2009

2010

Mobile

2011

2012

2013

2014

2015

Desktop
Source: Morgan Stanley

87
Mobile (i.e. phones and tablets)

 Browsing – normal web site is good
solution (channels, responsive
design)
 Specific tasks – mobile app is better
model
 In general, mobile users want apps
– they don’t want to use a web
browser for Wikipedia, they want a
Wikipedia “app”
Why REST/JSON?
• We can use it anywhere
• URLs for Common SharePoint Objects
• Using OData Operators
• JSON  JavaScript
http://intranet.contoso.com
/_api/web/lists/getbytitle("MyList")/items
?$select=ID,Title
&$order=Title
&$filter=startswith(Title,”A”)

$.getJSON(”http://litvs13/_api/web”,
function(data) {
$(“#title”).text(data.d.Title);
});
Other endpoints:

Search:

http://intranet.contoso.com/_api/search/query?querytext=keyword

People Search:
http://intranet.contoso.com/_api/sp.userProfiles.peopleManager/...
Demo: Using REST
How would we do this in traditional
SharePoint development?
Demo: Client-side App
Mobile Platforms

iOS

XCode

Objective-C

Android

Eclipse

Java

Windows Phone

Visual Studio

C#/XAML or
HTML5 App

Windows 8/RT

Visual Studio

C#/XAML or
WinJS/HTML5

Other
(Blackberry?)
XAML, WinJS?
 C#/XAML WPF solutions are
Windows only
 WinJS/HTML5 framework is closely
tied to the platform

 Both are a great solution if you
know you will only need to
support Windows Store and want
native look-and-feel
 C#/XAML can also be used to
build Windows Phone Apps
Native vs. Web

Native

Native look
and feel,
performance

Codegen/
crosscompilers

HTML5
Hybrid

Web
apps

Web

Easy
deployment
JavaScript libraries:
 jQuery – DOM element selection
 Twitter Bootstrap – page structure, HTML5/CSS3
framework
 Knockout.js – data binding/MVVM
 Underscore.js – collections, iterations
 Angular.js (alternative to knockout/Durandal)
 Require.js
 Durandal – SPA framework
 SPServices.js
JavaScript mobile libraries and frameworks

 jQuery Mobile
 PhoneGap (Cordova)
 Kendo UI Mobile (commercial)
Model-View-ViewModel (MVVM)
JavaScript/HTML5

C#/XAML

ViewModel
Data binding

View

REST

Model
Demo: Client-side App code
Skills needed:

 JavaScript (done properly)
 jQuery

 JavaScript frameworks, e.g. MVVM
 REST
 OData
 HTML5
 CSS3.
Tools:

 Visual Studio 2013
 Chrome, IE developer tools (F12)
 Fiddler
 JSFiddle (or equivalent)

 Stack Overflow
 JSLint, “use strict”
 JavaScript libraries
Building HTML5 apps for other platforms

 Web – “native”
 SharePoint – Visual Studio
 Windows 8 – Visual Studio (“native” HTML5 apps)
 Windows Phone 8 – Visual Studio
 Android, iPhone, Blackberry…
 PhoneGap Build (Adobe)
 Icenium (Telerik)
 Nomad (Redgate)
Demo: Cloud Build
Conclusions:

 JavaScript – learn it, live it, love it!
 You need some REST

 Let’s re-use our JavaScript and REST API skills
 HTML5 Hybrid Apps not perfect but allow skills and code
re-use across all platforms
 Hybrid Apps a good choice for business applications

 Mobile development is going to be key to delivering
business solutions in an increasingly mobile world
Resources

 70-480
http://www.microsoftvirtualacademy.com/trainingcourses/learn-html5-with-javascript-css3-jumpstarttraining
 Andrew Connell
http://www.andrewconnell.com/blog/my-thoughts-onthe-sharepoint-app-model-office-365-sharepoint-storeand-the-business-of-sharepoint-apps-today

 Chris O’Brien
http://www.sharepointnutsandbolts.com/2012/08/share
point-2013-appsarchitecture.html
 Jeremy Thake http://www.jeremythake.com/
 SharePoint.StackExchange.com
Contact me:

 Blog: www.spdoctor.net

 Twitter: @spdoctor
 Sharepoint.stackexchange.com (moderator)
 Email: BillA@flosim.com
SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013

More Related Content

PPTX
Getting Started with SharePoint Development
PPTX
SharePoint Development with Visual Studio 2012
PDF
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
PPTX
STUG-Client Object Model SharePoint 2010
PDF
tTecniche di sviluppo mobile per share point 2013 e office 365
PPTX
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
PDF
WebNet Conference 2012 - Designing complex applications using html5 and knock...
PDF
Sviluppare app per office
Getting Started with SharePoint Development
SharePoint Development with Visual Studio 2012
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
STUG-Client Object Model SharePoint 2010
tTecniche di sviluppo mobile per share point 2013 e office 365
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Sviluppare app per office

What's hot (20)

PDF
Come riprogettare le attuali farm solution di share point con il nuovo modell...
PPTX
Office 2013 loves web developers slide
PPTX
Visio Services in SharePoint 2010
PPTX
Chris O'Brien - Introduction to the SharePoint Framework for developers
PPTX
What is SharePoint Development??
PPTX
Introduction to Client Side Dev in SharePoint Workshop
PPTX
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
PPTX
Bringing HTML5 alive in SharePoint
PDF
Practical management of development & QA environments for SharePoint 2013
PPTX
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
PPT
Oracle Application Express
PDF
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
PPTX
Access share point-2013-data-with-provider-hosted-apps
PDF
O365con14 - sharepoint online applification
PDF
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
PPTX
Uncovering the Latest in SharePoint Development
PDF
SPUnite17 SPFx Extensions
PPTX
The SharePoint 2013 App Model
PPTX
SPTechCon 2014 How to develop and debug client side code in SharePoint
PPT
Best Practices Configuring And Developing Share Point Solutions
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Office 2013 loves web developers slide
Visio Services in SharePoint 2010
Chris O'Brien - Introduction to the SharePoint Framework for developers
What is SharePoint Development??
Introduction to Client Side Dev in SharePoint Workshop
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Bringing HTML5 alive in SharePoint
Practical management of development & QA environments for SharePoint 2013
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Oracle Application Express
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Access share point-2013-data-with-provider-hosted-apps
O365con14 - sharepoint online applification
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Uncovering the Latest in SharePoint Development
SPUnite17 SPFx Extensions
The SharePoint 2013 App Model
SPTechCon 2014 How to develop and debug client side code in SharePoint
Best Practices Configuring And Developing Share Point Solutions
Ad

Similar to SPCA2013 - Building Windows Client Applications for SharePoint 2013 (20)

PDF
Building Cross Platform Mobile Web Apps
PDF
HTML5 and the dawn of rich mobile web applications pt 1
PDF
Building cross platform mobile web apps
PDF
Cross Platform Mobile Development
PPT
Share point apps the good, the bad, and the pot of gold at the end of the r...
PDF
A Snapshot of the Mobile HTML5 Revolution
PDF
Cross platform mobile web apps
PPTX
Introduction to mobile application development
PPTX
Building single page, modular html5 applications for PC and Mobile
PPTX
Web based, mobile enterprise applications
PDF
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
PPT
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
PPTX
Mobile next 2013 petru jucovschi
PPTX
Mobile applications for SharePoint using HTML5
PDF
ITCamp 2012 - Lorant Domokos - Building single page, modular HTML5 applications
PPTX
Mobility today & what's next. Application ecosystems.
PPTX
Optimized mobile apps
PPT
Integrating ADF Mobile with WebCenter
PPTX
Architecting mobile solutions
PDF
Mse august13 (2/3)
Building Cross Platform Mobile Web Apps
HTML5 and the dawn of rich mobile web applications pt 1
Building cross platform mobile web apps
Cross Platform Mobile Development
Share point apps the good, the bad, and the pot of gold at the end of the r...
A Snapshot of the Mobile HTML5 Revolution
Cross platform mobile web apps
Introduction to mobile application development
Building single page, modular html5 applications for PC and Mobile
Web based, mobile enterprise applications
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
Mobile next 2013 petru jucovschi
Mobile applications for SharePoint using HTML5
ITCamp 2012 - Lorant Domokos - Building single page, modular HTML5 applications
Mobility today & what's next. Application ecosystems.
Optimized mobile apps
Integrating ADF Mobile with WebCenter
Architecting mobile solutions
Mse august13 (2/3)
Ad

More from NCCOMMS (20)

PDF
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
PDF
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
PDF
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
PDF
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
PDF
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
PDF
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
PDF
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
PDF
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
PDF
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
PDF
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
PDF
O365Con19 - Azure Blackbelt - Jussi Roine
PDF
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
PDF
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
PDF
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
PDF
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
PDF
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
PDF
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
PDF
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
PDF
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
PDF
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Machine Learning_overview_presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation theory and applications.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
A Presentation on Artificial Intelligence
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Tartificialntelligence_presentation.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
cuic standard and advanced reporting.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
1. Introduction to Computer Programming.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
Machine Learning_overview_presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation theory and applications.pdf
MIND Revenue Release Quarter 2 2025 Press Release
A Presentation on Artificial Intelligence
SOPHOS-XG Firewall Administrator PPT.pptx
Tartificialntelligence_presentation.pptx
Assigned Numbers - 2025 - Bluetooth® Document
cuic standard and advanced reporting.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Accuracy of neural networks in brain wave diagnosis of schizophrenia
1. Introduction to Computer Programming.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

SPCA2013 - Building Windows Client Applications for SharePoint 2013