The Complete Guide to Microsoft SharePoint 2013 Software Development Kit
Microsoft SharePoint 2013 introduced a major shift in how developers build, deploy, and scale enterprise applications. At the center of this evolution is the SharePoint 2013 Software Development Kit (SDK). The SDK serves as the foundational resource for developers transitioning from traditional server-side customizations to modern, cloud-ready architectures. This guide provides a comprehensive overview of the SharePoint 2013 SDK, its core components, installation requirements, and development models. Overview of the SharePoint 2013 SDK
The SharePoint 2013 SDK contains the documentation, code samples, and architectural guidance needed to build applications for both on-premises deployments and SharePoint Online. The primary goal of this SDK is to help developers create solutions that do not destabilize the core SharePoint server farm.
Unlike previous versions that relied heavily on farm solutions running directly on the SharePoint front-end web servers, the 2013 SDK emphasizes remote development. It provides the tools necessary to interact with SharePoint data from external web applications, mobile platforms, and client-side scripts. Key Components and Features
The SDK is structured around several critical components that define the SharePoint 2013 development landscape: 1. The App Model (SharePoint Add-ins)
The most significant architectural change in SharePoint 2013 is the introduction of the App Model (later renamed SharePoint Add-ins). The SDK provides the blueprints for creating two types of apps:
SharePoint-Hosted Apps: These consist entirely of client-side code (JavaScript, HTML, CSS) and assets stored directly within an isolated subweb (the app web) in SharePoint.
Provider-Hosted Apps: These include client-side components but run their business logic on a separate, external web server (such as an IIS server or Microsoft Azure). This model allows developers to use non-Microsoft languages like PHP, Node.js, or Java to interact with SharePoint. 2. Client-Side Object Model (CSOM)
To support remote execution, the SDK expands the Client-Side Object Model. CSOM allows developers to write code using familiar .NET syntax that executes on a client machine or external server and communicates with SharePoint via XML or JSON over HTTP. The SDK includes CSOM libraries for: Managed .NET applications Silverlight applications Windows Phone apps 3. JavaScript Object Model (JSOM)
For developers building responsive web interfaces directly within the browser, the SDK details the JavaScript Object Model. JSOM enables asynchronous communication with SharePoint lists, libraries, and user profiles without requiring full page refreshes. 4. REST/OData Web Services
SharePoint 2013 exposes nearly all client-facing server APIs through a standard REST interface. The SDK provides extensive documentation on how to construct standard HTTP requests (GET, POST, PUT, DELETE) using the Open Data (OData) protocol. This allows any platform capable of making web requests to seamlessly read and write SharePoint data. System Requirements and Installation
To effectively use the SharePoint 2013 SDK, you must set up a proper development environment. Prerequisites
Operating System: Windows 7, Windows 8, Windows Server 2008 R2, or Windows Server 2012.
Development Environment: Visual Studio 2012 or Visual Studio 2013.
Tools: Office Developer Tools for Visual Studio (required to unlock the project templates for SharePoint apps and workflows). Download and Setup
The SDK documentation is primarily hosted online via Microsoft Learn (formerly MSDN), but offline help packages and standalone redistributable client assemblies can be downloaded directly from the Microsoft Download Center. Installing the client-side assemblies allows developers to build remote applications on machines that do not have the full SharePoint Server installed. Core Development Scenarios Covered
The SDK provides step-by-step guidance and code samples for several core enterprise scenarios:
Workflow Development: SharePoint 2013 introduces a completely redesigned workflow engine based on Windows Workflow Foundation 4 and executed by Workflow Manager. The SDK explains how to build declarative, robust workflows using Visual Studio and SharePoint Designer.
Enterprise Search Extensibility: Developers can learn how to customize the search experience using the new Content Enhancement Web Service, custom security trimmers, and JavaScript-based Display Templates.
Social and Collaboration: The SDK outlines APIs for interacting with the microblogging feed, following documents or people, and managing user profiles.
Business Connectivity Services (BCS): Guidance on connecting SharePoint to external data sources (like SQL databases or external web services) using OData connections. Best Practices Highlighted in the SDK
The SharePoint 2013 SDK emphasizes modern web standards and architectural sustainability. Key best practices include:
Favor Client-Side Code: Use CSOM, JSOM, or REST instead of server-side C# code whenever possible to ensure your code is cloud-upgradeable.
Handle Authentication Securely: Implement OAuth 2.0 for provider-hosted apps to securely authenticate external applications without exposing user credentials.
Optimize Request Batching: When using CSOM, utilize the ExecuteQuery() method strategically to batch requests and minimize network round-trips.
Use App-Only Policy Wisely: Understand when an application needs to elevate privileges to perform actions on behalf of a user versus when it should act independently. Conclusion
The Microsoft SharePoint 2013 SDK is an indispensable toolkit for enterprise developers. By shifting the development paradigm away from server-side modifications and toward web-standards-based remote execution, it paved the way for modern cloud development in the Microsoft ecosystem. Whether you are maintaining legacy on-premises farms or integrating external web applications with SharePoint, mastering this SDK ensures your solutions remain scalable, secure, and ready for future upgrades.
If you would like to expand this article, please let me know:
What specific code examples (CSOM, REST, or JSOM) you want to include?
Who is your target audience? (e.g., beginner developers, enterprise architects)
Leave a Reply