Your SlideShare is downloading. ×
0
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
Develop...
Agenda
 Why Apps?
 Why Rich Client Applications still matter
 Windows 8 apps
 Windows Phone apps
 Other Mobile Platfo...
SharePoint Development Timeline…

 SharePoint 2001 – forget it
 SharePoint 2003 – Limited, not aligned with ASP.NET,
com...
Apps for SharePoint
• Development models
• SharePoint-hosted
• Cloud-hosted
• Interaction
• Full page
• App part
• Command...
“Apps” are everywhere!
What are “Apps” anyway?
Easy distribution
Self-contained
Clean Uninstall

Sandboxed
Some degree of
vetting

Marketpl...
Apps for SharePoint
• Distribution
•
•

Publish to App Catalog
Publish to Office Marketplace

• Self-contained, clean unin...
Rich clients still matter

Mobile vs. Desktop Internet
Global Internet Users
(millions)

2000
1600
1200
800
400
0

2007

2...
Mobile (i.e. phones and tablets)

 Browsing – normal web site is good
solution (channels, responsive
design)
 Specific t...
Why REST/JSON?
• We can use it anywhere
• URLs for Common SharePoint Objects
• Using OData Operators
• JSON  JavaScript
h...
Other endpoints:

Search:

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

People Search:
http://intranet...
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

Win...
XAML, WinJS?
 C#/XAML WPF solutions are
Windows only
 WinJS/HTML5 framework is closely
tied to the platform

 Both are ...
Native vs. Web

Native

Native look
and feel,
performance

Codegen/
crosscompilers

HTML5
Hybrid

Web
apps

Web

Easy
depl...
JavaScript libraries:
 jQuery – DOM element selection
 Twitter Bootstrap – page structure, HTML5/CSS3
framework
 Knocko...
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
 J...
Building HTML5 apps for other platforms

 Web – “native”
 SharePoint – Visual Studio
 Windows 8 – Visual Studio (“nativ...
Demo: Cloud Build
Conclusions:

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

 Let’s re-use our JavaScript and REST API ...
Resources

 70-480
http://www.microsoftvirtualacademy.com/trainingcourses/learn-html5-with-javascript-css3-jumpstarttrain...
Contact me:

 Blog: www.spdoctor.net

 Twitter: @spdoctor
 Sharepoint.stackexchange.com (moderator)
 Email: BillA@flos...
SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013
Upcoming SlideShare
Loading in...5
×

SPCA2013 - Building Windows Client Applications for SharePoint 2013

803

Published on

Building Windows Client Applications for SharePoint 2013

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
803
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "SPCA2013 - Building Windows Client Applications for SharePoint 2013"

  1. 1. Building Windows Client Applications for SharePoint 2013 Bill Ayers
  2. 2. Building Windows Client Applications for SharePoint 2013 Bill Ayers
  3. 3. 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
  4. 4. Agenda  Why Apps?  Why Rich Client Applications still matter  Windows 8 apps  Windows Phone apps  Other Mobile Platforms  Conclusions 200
  5. 5. 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.
  6. 6. 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
  7. 7. “Apps” are everywhere!
  8. 8. What are “Apps” anyway? Easy distribution Self-contained Clean Uninstall Sandboxed Some degree of vetting Marketplace infrastructure
  9. 9. 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
  10. 10. 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
  11. 11. 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”
  12. 12. 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); });
  13. 13. Other endpoints: Search: http://intranet.contoso.com/_api/search/query?querytext=keyword People Search: http://intranet.contoso.com/_api/sp.userProfiles.peopleManager/...
  14. 14. Demo: Using REST
  15. 15. How would we do this in traditional SharePoint development?
  16. 16. Demo: Client-side App
  17. 17. 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?)
  18. 18. 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
  19. 19. Native vs. Web Native Native look and feel, performance Codegen/ crosscompilers HTML5 Hybrid Web apps Web Easy deployment
  20. 20. 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
  21. 21. JavaScript mobile libraries and frameworks  jQuery Mobile  PhoneGap (Cordova)  Kendo UI Mobile (commercial)
  22. 22. Model-View-ViewModel (MVVM) JavaScript/HTML5 C#/XAML ViewModel Data binding View REST Model
  23. 23. Demo: Client-side App code
  24. 24. Skills needed:  JavaScript (done properly)  jQuery  JavaScript frameworks, e.g. MVVM  REST  OData  HTML5  CSS3.
  25. 25. Tools:  Visual Studio 2013  Chrome, IE developer tools (F12)  Fiddler  JSFiddle (or equivalent)  Stack Overflow  JSLint, “use strict”  JavaScript libraries
  26. 26. 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)
  27. 27. Demo: Cloud Build
  28. 28. 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
  29. 29. 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
  30. 30. Contact me:  Blog: www.spdoctor.net  Twitter: @spdoctor  Sharepoint.stackexchange.com (moderator)  Email: BillA@flosim.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×