SPCA2013 - Building Windows Client Applications for SharePoint 2013
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

SPCA2013 - Building Windows Client Applications for SharePoint 2013

  • 1,198 views
Uploaded on

Building Windows Client Applications for SharePoint 2013

Building Windows Client Applications for SharePoint 2013

More in: Technology , Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,198
On Slideshare
1,198
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
22
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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