01 | Introduction to the SharePoint Developer Landscape Chris Johnson
29 Slides332.66 KB
01 Introduction to the SharePoint Developer Landscape Chris Johnson SharePoint Guru Christopher Harrison Microsoft Certified Trainer Click to edit Master subtitle style
Meet Christopher Harrison @geektrainer Head Geek, GeekTrainer – Specializes in ASP.NET, SharePoint and SQL Server – Microsoft Certified Trainer Over 14 years experience – Regular presenter at TechEd – Periodic blogger – Certification advocate – Marathoner, husband, father of one four legged child
Meet Chris Johnson @LoungeFlyZ General Manager, Provoke Solutions Inc. – Specializes in SharePoint and the Microsoft technology stack – Enjoys all things technical Extensive SharePoint Experience – Presenter at TechEd, the SharePoint Conference, PDC, SharePoint Best Practices Conference, SharePoint Evolutions – Co-author of “Beginning SharePoint 2013 Development” – Blogs at www.looslytyped.net – Occasionally throws himself out of perfectly good airplanes
Course Topics MVC4 Jump Start 01 Introduction to the SharePoint Developer Landscape 05 Cloud Hosted Apps 02 Lists and Sites 06 Deploying Apps 03 Client Side SharePoint Development 07 Workflows 04 Apps and SharePoint
Setting Expectations Target Audience – Developing solutions for SharePoint products and technologies in a team-based, medium-sized to large development environment – Considering taking the 70-488 Exam Additional Material – Microsoft Official Course 20488 Developing Microsoft SharePoint Core Solutions
Join the MVA Community! Microsoft Virtual Academy – Free online learning tailored for IT Pros and Developers – Over 1M registered users – Up-to-date, relevant training on variety of Microsoft products “Earn while you learn!” – Get 50 MVA Points for this event! – Visit http://aka.ms/MVA-Voucher – Enter this code: DevSPS (expires 11/25/2013)
01 Introduction to the SharePoint Developer Landscape Chris Johnson SharePoint Guru Christopher Harrison Microsoft Certified Trainer Click to edit Master subtitle style
Module Overview SharePoint Developer Landscape Choosing Approaches to SharePoint Development SharePoint 2013 Deployment and Execution Models
Lesson 1: SharePoint Developer Landscape SharePoint Server 2013 Workloads Developer Tools for SharePoint Server 2013 What's New for Developers in SharePoint 2013 The SharePoint 2013 Technology Stack Entry Points for Developers in SharePoint 2013
SharePoint Server 2013 Workloads Portals and Collaboration Search Enterprise Content Management Web Content Management Social and Communities Business Connectivity Services Business Intelligence
Developer Tools for SharePoint Server 2013 Microsoft Visual Studio 2012 Microsoft Office Tools for Visual Studio 2012 Microsoft SharePoint Designer 2013 Web design tools
What's New for Developers in SharePoint 2013 The SharePoint App Model Enhanced Client-Side Programming Models – JavaScript – .NET Framework client – REST/OData endpoints New Workflow Model
The SharePoint 2013 Technology Stack SharePoint Server 2013 Office Web Apps Server 2013 IIS 8 and ASP.NET 4.0 SharePoint Foundation 2013 Workflow Manager 1.0 .NET Framework 4.5 Windows Server/Windows Azure
Entry Points for Developers in SharePoint 2013 Server-side object model – Managed code – Windows PowerShell Client.svc – Client-side object models – REST/OData clients Declarative customizations
Lesson 2: Approaches to SharePoint Development Declarative Components Client-Side Code Web Parts Application Pages Timer Jobs Event Receivers Workflow
Declarative Components Use declarative components to deploy: – Site columns – Content types and content type bindings – List templates and list instances – Event registrations and custom actions – Workflows, files, and more When should you use declarative components? – Whenever you can Where can you use declarative components? – SharePoint Online – On-premises deployments
Client-Side Code Use client-side code to: – Interact with core SharePoint artifacts and functionality – Interact with SharePoint Server workloads – Perform almost any operations within the scope of a site collection When should you use client-side code? – Preferred approach when you need to programmatically interact with a SharePoint site collection Where can you use client-side code? – SharePoint Online
Web Parts Use web parts to: – Create custom functionality with user interaction – Connect to other web parts When should you create web parts? – Consider apps first – Use web parts when you specifically want to leverage the web part framework Where can you use web parts? – SharePoint Online (sandboxed solutions only) – On-premises deployments (farm and sandboxed solutions)
Application Pages Use custom application pages to: – Expose functionality to every site in a SharePoint farm When should you create a custom application page? – When there are no other options – Consider apps first Where can you use custom application pages? – On-premises deployments Subject to policy and administrative approval – Not available for SharePoint Online
Timer Jobs Use custom timer jobs to: – Run background tasks on a scheduled basis – Process queues of work items on a scheduled basis When should you create a custom timer job? – When you do not require user interaction – When you want to remove logic from the page load process Where can you use custom timer jobs? – On-premises deployments Subject to policy and administrative approval
Event Receivers Use event receivers to: – Run background tasks on a scheduled basis – Process queues of work items on a scheduled basis When should you create an event receiver? – When you do not require user interaction – When you want to remove logic from the page load process Where can you use event receivers? – On-premises deployments – SharePoint Online
Workflow Use workflows to: – Automate business processes – Manage the flow of documents and information When should you create a workflow? – When you need to capture input from multiple users – When you need to create logic that reacts to changes in documents or sites Where can you use event receivers? – On-premises deployments – SharePoint Online
Lesson 3: Understanding SharePoint 2013 Deployment and Execution Models SharePoint Features Farm Solutions Sandboxed Solutions Apps for SharePoint
SharePoint Features Anatomy of a Feature – Feature folder – Feature manifest file – Element manifests – Element files Feature deployment – Deployment to WFE server file system – Deployment as part of SharePoint app or solution
Farm Solutions Anatomy of a farm solution – Solution manifest – Assemblies – Files – Features Capabilities are unlimited – Deploy any server-side components Deployment options may be limited – Prohibited in SharePoint Online – May be prohibited in on-premises deployments
Sandboxed Solutions Structured in the same way as a farm solution Deployed to a Solutions Gallery Scoped to a site collection Functionality is constrained: – Isolated worker process – No access to server-side file system – Limited access to SharePoint object model Resource consumption governed by quota system Apps for SharePoint are now the preferred approach
Apps for SharePoint Distribution – Publish to App Catalog – Publish to Office Marketplace Encapsulation – No server-side code – All SharePoint artifacts hosted within app web Development models – SharePoint-hosted – Remote-hosted Interaction – Full page – App part – Command extensions
DEMO Hello, World!
2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.