spca2013 - building windows client applications for sharepoint 2013

of 33/33

Post on 06-May-2015




1 download

Embed Size (px)


Building Windows Client Applications for SharePoint 2013


  • 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: [email protected] Twitter: @SPDoctor 4. Agenda Why Apps? Why Rich Client Applications still matter Windows 8 apps Windows Phone apps Other Mobile Platforms Conclusions200 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 extensionsSharePoint Hosted App Web Pages Scripts Style SheetsCloud 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 UninstallSandboxed Some degree of vettingMarketplace 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 matterMobile vs. Desktop Internet Global Internet Users (millions)2000 1600 1200 800 400 02007200820092010Mobile20112012201320142015Desktop Source: Morgan Stanley87 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 dont 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=keywordPeople 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 PlatformsiOSXCodeObjective-CAndroidEclipseJavaWindows PhoneVisual StudioC#/XAML or HTML5 AppWindows 8/RTVisual StudioC#/XAML or WinJS/HTML5Other (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. WebNativeNative look and feel, performanceCodegen/ crosscompilersHTML5 HybridWeb appsWebEasy 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/HTML5C#/XAMLViewModel Data bindingViewRESTModel 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 Lets 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 OBrien 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: [email protected]