This document discusses building Windows client applications for SharePoint 2013. It begins by explaining why apps and rich client applications are still important. It then covers developing apps for Windows 8, Windows Phone, and other mobile platforms. It emphasizes using REST/JSON to access SharePoint data from client applications and JavaScript frameworks like MVVM. The document demonstrates building a client-side app and recommends skills like JavaScript, REST, and HTML5 for mobile development. It concludes that hybrid apps allow code reuse across platforms and are a good choice for business applications in an increasingly mobile world.
4. 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
5. Agenda
Why Apps?
Why Rich Client Applications still matter
Windows 8 apps
Windows Phone apps
Other Mobile Platforms
Conclusions
200
6. 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.
7. 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
9. What are “Apps” anyway?
Easy distribution
Self-contained
Clean Uninstall
Sandboxed
Some degree of
vetting
Marketplace
infrastructure
10. 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
11. 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
12. 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”
13. 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);
});
19. 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
20. Native vs. Web
Native
Native look
and feel,
performance
Codegen/
crosscompilers
HTML5
Hybrid
Web
apps
Web
Easy
deployment
29. 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