What’s new in SharePoint 2013 for developers

 Mar 18, 2014

SharePoint 2013 is the fifth release of SharePoint since SharePoint Team Services and the SharePoint Portal Server was first introduced in 2001. In all these years, SharePoint has evolved from a rather simple file management and collaboration product into a very mature and highly adopted development platform. The amount of features in SharePoint that are beyond having a shared documents library is mind-boggling and SharePoint 2013 makes it even more impressive. As a developer, you can implement most of your application requirements entirely within the SharePoint platform. In today’s blog, I’ll go through one of the new key features of SharePoint 2013 and what it means for developers. The introduction of an entirely new model for developing custom functionality, known as SharePoint apps, is certainly a major change for developers. Apps do not execute any code on SharePoint servers, so the impact on farm performance is typically much lower than Web Parts and/or server side code running on application pages. Farm administrators can be less worried about the instability that running an app could bring into the farm. The sandbox concept was conceived to handle that, but note that a sandbox solution, once installed, runs on the context of the logged on user and in principle the user can do whatever their permissions allow them to do in the scope of the site collection where the sandbox was installed. With apps, you can assign permissions directly to the app and simply negate to the app any harmless interaction with existing SharePoint content even if you are using the app logged on with an administrator account. Apps also provide a very efficient way to distribute your custom functionality to potential users. You could publish the apps to an app catalog scoped to a web application in your farm or make them publicly available for any external consumers by publishing the apps to the Office Store. There are 2 types of apps: SharePoint-hosted apps and cloud-hosted apps. SharePoint-hosted apps have all files stored within a dedicated SharePoint site known as the App Web. The App Web contains all lists, libraries, pages, and so on, that will be used by the app. The App Web is isolated from the other SharePoint sites, and its content is removed when you uninstall the app. If you give the necessary permissions, the app will be able to access SharePoint content in other sites besides the dedicated app web. With a SharePoint-hosted app, you can’t use the managed Client-Side Object Model (CSOM), which means you can’t write code using C# and instead, you’ll have to write all your app’s code in JavaScript. There is a CSOM available for JavaScript and it can be found in the file ‘sp.js’ which is in the ‘Layouts’ folder under the 15 hive. You could also use a ‘REST API.’ A cloud-hosted app is stored outside of the SharePoint farm. With cloud-hosted apps, you can write all the code in C# using the managed CSOM. You can still choose the JavaScript option. The REST API can be accessed through C#, JavaScript or whatever language that supports making REST requests. So in principle, the remote app could be using PHP, for example. There are two options when creating cloud-hosted apps: autohosted apps and provider-hosted apps. An autohosted app always uses Windows Azure to store the app files. When an autohosted app is installed, Windows Azure will create a new site for the tenant of the app. It also offers an option for a new dedicated SQL Database to be created. Windows Azure ensures complete isolation of the autohosted app automatically. The administration effort is minimal. As the developer, you simply have to choose the Visual Studio 2012 template for an autohosted app, and you will end up with a good starter for your solution. Once the app is completed, you can publish it to the Office Store or to the Web Application app catalog. When someone decides to add your app to a host site in SharePoint then the app package will be uploaded to Azure, the app website and eventually, a SQL Azure database will be created to support that particular installation of the app. You don’t have to worry about tenant isolation. A provider-hosted app gives you more flexibility and control, but this power is coupled with more responsibilities. You can have external databases, but the data isolation from the different tenants of an app has to be implemented by code. You would have to add some kind of tenant ID column to every table in the database and make sure that all data retrieval specifies a tenant ID. Apps are probably the most exciting new feature of SharePoint 2013, but there are plenty of other additions and modifications. For instance, workflows are now based on .NET 4.5 and require its own server running Workflow Manager 1.0. This provides much more scalability and does not compromise the stability of the SharePoint farm, even if you have extremely complex long running workflows. There are also substantial changes to the Search architecture. The client side object was extended by a significant number of new APIs. The list of additions and improvements goes on and on. It’s definitely worth to consider the migration of your SharePoint 2010 or 2007 farm to the impressive SharePoint 2013. To learn more, I recommend New Horizons’ 20488: Developing Microsoft SharePoint Server 2013 Core Solutions training program.

How do your Excel skills stack up?   

Test Now  

About the Author:

Newton Godoy  

With over 17 years of in-class training experience and over 16 years of industry experience, Newton offers students a wealth of real-world technical knowledge and expertise in the areas of .NET application development, SQL Server and SharePoint Server. After spending several years lecturing as a professor, Newton found his true calling and began his career as a MCT. He worked as a technical trainer for some of Brazil’s and Australia’s largest corporate training organisations before finally finding a home with New Horizons where he is now one of our top trainers. Newton brings a thorough mentoring capability to the classroom where he can advise on technical issues and challenges often beyond the scope of the course curriculum. His combination of technical knowledge and instructor experience make him one of the most respected instructors within the IT training industry.

Read full bio