Caroline Sosebee is a Software Engineer at ThreeWill. She comes to us with 20+ years of software development experience and a broad scope of general IT support skills.
How I Got Started with SharePoint Development
Wow … I can’t believe I’ve been at ThreeWill for over 5 years now. Incredible. ThreeWill continues to be a wonderful place to work. The culture here is based on strong core values that all our associates possess in abundance, making it a caring, supportive environment. One that allows you to grow both professionally and personally. I feel incredibly lucky to have landed here and am still thankful for ThreeWill taking a chance on me way back when.
Want to learn more about our core values? Follow this link.
When I started at ThreeWill back in 2013, I worked with clients who had on-premises SharePoint 2010 or 2013. Since then, SharePoint has grown exponentially, going from 2013 to 2016 and now 2019 on-premises versions. Additionally, SharePoint Online has continued to evolve. That’s a lot of changing going on, for developers and clients alike!
Four Developer Tools for SharePoint Development
Developers not only need to be conversant in many of the things mentioned in my early blog, but they also need to understand what certain terms mean. They should realize that they have a bigger toolbox at their disposal. I decided that maybe it was time to point out a few other topics of interest, at a high level, that I now know are important to understand as well. Be sure to give the included links a look as well. They do a much better job explaining them in depth than I ever could!
SharePoint Add-ins – a custom ‘package’ that you can create and deploy to SharePoint
- I will admit to not having worked much with these yet, but I do know that they are definitely the wave of the future in SharePoint development. Here is Microsoft’s definition – ‘A SharePoint Add-in is a self-contained piece of functionality that extends the capabilities of SharePoint websites to solve a well-defined business problem.’ Add-ins are the replacement for SharePoint farm and sandbox custom solutions, removing the server from the mix and relying only on client-side code.
API – Application Programming Interface
- SharePoint has a rich set of APIs available for communicating with the SharePoint server in order to surface and manipulate SharePoint data on the client. Understanding what these are and how to use them is important. In a nutshell though (of my own making), these are basically a bunch of functions and procedures. They are bundled together into DLLs or similar (compiled files) and are then made available to the client. Very non-technical definition, but it is a simplistic, helpful way for me to think about it.
CSOM – Client-side object model
REST – an interface that allows for communication to SharePoint via an HTTP request
- To quote Microsoft, REST is ‘a stateless architectural style that abstracts architectural elements and uses HTTP verbs to read and write data from webpages that contain XML files.’ Got it?! Yeah, me neither … at least not from that. Basically, REST provides a set of OData (Open Data Protocol) endpoints that allow for communication with SharePoint without the need to add any references to SharePoint libraries or assemblies. This provides some pretty powerful ways to access and manipulate SharePoint data. As a developer, being able to make a call into a SharePoint list or library from the browser address bar in order to quickly check data or pull a setting is invaluable. It was a joyous day for me when I finally ‘got it’ with REST.
These are some of the recent tools that I feel are important for SharePoint development. Hopefully you discover one that is useful to you in this blog post. Feel free to comment below any tools that you find helpful!
There is SO much more to SharePoint than what I’ve mentioned here and in my other blog. Hopefully, this will be helpful to some other not-so-fresh faced newbie out there who is just now starting down this path that is SharePoint development. Below I’ve included two other helpful links for you to peruse. Enjoy!!