Microsoft SharePoint 2013 App Development
Scot Hillier
Ted Pattison
Published by Microsoft Press
Special Upgrade Offer
If you purchased this ebook directly from oreilly.com, you have the following benefits:
DRM-free ebooksuse your ebooks across devices without restrictions or limitations
Multiple formatsuse on your laptop, tablet, or phone
Lifetime access, with free updates
Dropbox syncingyour files, anywhere
If you purchased this ebook from another retailer, you can upgrade your ebook to take advantage of all these benefits for just $4.99. to access your ebook upgrade.
Please note that upgrade offers are not available from sample content.
A Note Regarding Supplemental Files
Supplemental files and examples for this book can be found at http://examples.oreilly.com/9780735674981-files/. Please use a standard desktop web browser to access these files, as they may not be accessible from all ereader devices.
All code files or examples referenced in the book will be available online. For physical books that ship with an accompanying disc, whenever possible, weve posted all CD/DVD content. Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to .
Introduction
With the release of SharePoint 2013, Microsoft has dramatically changed the rules for SharePoint developers. The introduction of the new app development model is intended to essentially eliminate the development of full-trust and sandboxed solutions for SharePoint. Although both of these solution types are still available in SharePoint 2013, the message from Microsoft is clear: all new SharePoint development should be done by using the app model.
We cover the reasons for this seismic shift in detail in , so we wont repeat them here. However, the SharePoint community will probably be left with many questions about the future even after understanding Microsofts logic. Certainly, the most important questions revolve around whether organizations will actually accept the primacy of the app model. Most SharePoint installations are on-premises farms with significant investment in custom full-trust solutions. These solutions take the form of Web Parts, workflows, application pages, event handlers, and so on that perform significant custom processing. Clearly, organizations cannot abandon these investments overnight. On the other hand, no one can deny the momentum pressuring organizations to move more functionality into the cloud where the full-trust model simply does not work effectively.
For developers, the situation is both intriguing and concerning. Many SharePoint developersthe authors of this book includedhave spent a decade mastering the intricacies of the full-trust model. Now, we find ourselves faced with the reality that a portion of this knowledge might be in jeopardy. Even though all the expertise surrounding SharePoint infrastructure, architecture, and declarative processing is still useful, the app model forbids the use of the server-side object model, which has been the bread and butter of SharePoint developers for more than ten years.
On the positive side, the app model opens up new and exciting possibilities for development. Cloud-based apps allow for scenarios that were difficult or impossible to create in previous versions of SharePoint. Developers now have client-side access to every major workload in SharePoint through the client-side object model and REST, which means that SharePoint 2013 fits perfectly into cloud-based and cross-platform development models. Additionally, SharePoint developers now have access to a marketplace to sell their applications to Microsoft Office 365 users.
Although this book cant answer all of the adoption questions the community will face, it can certainly help you to get started in app development. There are many new skills for you to learn including advanced JavaScript patterns, OAuth security, and cloud-based development models. If you are like the hundreds of Microsoft employees and partners we have already taught, youll find yourself reacting with a mix of excitement, joy, denial, and frustration. We look forward to working through it with you and the rest of the SharePoint community.
Who this book is for
This book is written for experienced SharePoint developers who are proficient with Microsoft Visual Studio 2012, the Microsoft .NET 4.0 framework, and who understand the fundamentals of the SharePoint object model. The code samples in this book are written in JavaScript and C# and are intended to represent the spectrum of possible app solutions. The primary audience for the book is SharePoint architects and developers who are looking to master the new app model in SharePoint 2013.
Organization of this book
This book is organized into four chapters:
, covers the new app model in detail. This chapter presents the historical context that justifies the app model and the fundamental development process.
, first provides a JavaScript and jQuery primer for SharePoint developers with an emphasis on professional patterns. The second half of the chapter presents the fundamentals of the client-side object model and REST APIs for SharePoint 2013.
, presents the security concepts necessary to successfully develop apps. This chapter explains the concept of the app principal and presents the details behind the OAuth security model.
, presents professional patterns for app development such as Model-View-ViewModel (MVVM) and Model-View-Controller (MVC). Within these patterns, the chapter shows the basics of creating apps with various workloads, such as search, Business Connectivity Services (BCS), and the social capabilities.
Prerelease software
To help you become familiar with SharePoint 2013 as early as possible, this book was written by using examples that work with SharePoint 2013 Preview. Consequently, the final version might include new features, and features discussed in this book might change or disappear altogether. You can refer to the Capabilities and features in SharePoint 2013 topic on TechNet at technet.microsoft.com/en-us/sharepoint/fp142374.aspx for the most up-to-date list of changes to the product. Be aware, however, that you might also notice some differences between the Release to Manufacture (RTM) version of the product and the descriptions and screen shots that are provided in this book.
Note
More Info You can find information about the Exchange Server 2013 Preview at technet.microsoft.com/en-us/library/bb124558(v=exchg.150).aspx . You can find more information about the Lync 2013 Preview at lync.microsoft.com/en-us/Pages/Lync-2013-Preview.aspx .
Code samples
You can download the companion code samples from the books catalog page at:
http://go.microsoft.com/FWLink/?Linkid=274914
Copy and unzip the files in the root of the C: drive. If you copy and unzip the files in another folder, you might get an error message because the total file paths are too long.
Support & feedback
The following sections provide information on errata, book support, feedback, and contact information.
Errata
Weve made every effort to ensure the accuracy of this book and its companion content. Any errors that have been reported since this book was published are listed on our Microsoft Press site at oreilly.com:
http://go.microsoft.com/FWLink/?Linkid=274913