My First Thoughts on SP 2013 – What does it mean for developers?

There has been much anticipation around the new version of SharePoint. Rumors have been swirling for months and people have been trying to read the tea leaves in the published protocol documentation to understand what the new version is all about. I fully expect my RSS reader to be clogged up with numerous posts about the many exciting changes. No doubt there will be plenty of redundant ‘check out feature x’ and ‘how to install it’ type posts. And so, in what probably is a futile exercise I will try to go meta and say something interesting to my primary audience which is of course the SharePoint development community.

ASP.NET is Dead

If you jump into the 15 hive and start poking around you will quickly discover that SharePoint still uses features to define farm elements. If you look at the services you will see that the sandbox code service is still there. It will be clear that all of the skills you have so laboriously invested in over the years still apply. Why then do I say that ASP.NET is dead (besides tricking you into reading)?

Dig a little deeper though and start looking at the pages in the browser and you will quickly come to realize that just about all of the interesting pieces of the user interface make heavy use of JavaScript and HTML 5. Go back to the 15 hive and have a look in the Layouts folder. Filter the files with sp*.debug.js. You will probably recognize some of the files, but most will be new to you. You will quickly see that the client side object model (CSOM) is many times bigger than it used to be and it now has libraries for all of the popular SharePoint Server features.

Next, open a site and navigate to the Site Settings page. Click the Result Types link under the Site Settings heading. What you are looking at are the various display templates for items in search results. View any of them and notice that the Display template URL is a JavaScript file.

By now you might be noticing a pattern.

Go back to your sites home page. Edit it and edit the Documents Web Part (assuming you have a Team site). Expand the Miscellaneous heading and look at the last property. Its name is JS Link. With it you can specify a JavaScript to render the contents of the view in the browser in whatever format you choose instead of using the server side control to do the work.

Viva La JavaScript!

I believe that if you have some search results pages or data Web parts that use XSLT they will still work, but a few things seem to be clear.

The first is that JavaScript is now a first class citizen. Many things that we were forced to do on the server are now possible in the client. This means that you truly can greatly decrease the amount of ASP.NET code you write and you can use the many amazing JavaScript UI frameworks that have emerged over the last couple of years to do some amazing things.

The second is that if you downloaded the beta to get ready to develop new solutions for 15, you better be working on becoming a skilled JavaScript developer. Many of the senior people (architects and developers) that I have worked with over the last couple of years frankly suck at client side technologies because they’ve been able to assign that work to others. Those days are at their end. If you can’t work effectively in client side technologies, you will no longer be able to legitimately claim to be a senior or architect.

The third is that if you lean on SharePoint Designer to write your XSL or HTML you will be disappointed. Open up SharePoint Designer and edit a page. Do you see a tab for Design View? No, you don’t. I hope they see the light and add it back before RTM, but even if they do the current lack of this functionality makes a pretty big statement. All is not lost though; there are some big improvements for professional Web designers. In a publishing site you can use HTML from a wide array of other and much better tools.

So What Else is New?

Go back to the Home page and insert a Web Part into the page. Select the Content Rollup category. Do you see Content Query there?

Nope!

Instead you see Content Search. Pop open Central Admin and go into the Search service application. Edit the Local SharePoint Sites content source. Scroll down to the Crawl Schedule and notice that you now have the option for continuous crawling. The Content Search Web Part isn’t based on CAML queries – it’s based on search and it is way more powerful as a result. Guess how you can customize the rendering of the results? Hint: The answer starts with ‘Java’ and ends with ‘Script’.

SP2013 now has the capabilities of FAST and the improvements here are just huge.

I’ll be writing extensively about JavaScript rendering and CSOM, but until then if you are a C# developer and want a decent crash course via slide deck, download my Code Camp (and SharePoint Saturday) talk on better JavaScript in just 60 minutes.

.Net 4

Even though JavaScript is central to the new version you will, of course, still write plenty of .Net code. From what I have seen though, the core of the object model is pretty much the same. SharePoint 2013 runs on .Net 4 and I was going to write about it, but there is already a great set of posts here http://www.silver-it.com/blog/1 and so I will just share the link.

Conclusion

If I were on the ball I’d have a whole series of posts on the new workflow engine and on the new app model ready to go today. Alas, I’m not on the ball and so you’ll have to get that info elsewhere if you want to read about them today. The next couple of months will be busy!

–Doug

 

 

Author: Doug Ware