Client side development - Where do I begin?

Bronze Contributor

Hello Folks,

 

I have been working with Sharepoitn for the past 11 years now (Sp2001 - Sp2013) and all the work I have been involved in has been with server side development.

However, now it has become clear that the client side development is the way forward. I have been doing some reading but there seems to be too much to digest.

 

What would be the best learning path for someone like me to take?

 

These are what I find being commonly discussed -

 

a) Typescript

b) Angular

c) React

d) Gulp, Grunt

e) Node

f) npm/ bower

g) webpack, browserify

h) Knockout

i) Breeze

j) Yarn

k)RequireJs

l) Yeoman

 

 

I'm sure there are a lot of other that I have not mentioned here, but the question is where to start and how to proceed?

 

Any pointers would be much appreciated.

 

5 Replies

Hi, 

 

So with that list, I believe that you are attempting to bite off more than you can chew. My recommendation woudl be to first start small and become familiar with JavaScript. David Mann has an excellent 3 part series on beginning SharePoint 2013 solutions using JavaScript on Pluralsight. I would watch all 3 (sign up for a trial if you need to at Pluralsight).

Here's the first video in ther series:
https://www.pluralsight.com/courses/developing-sharepoint-2013-javascript

 

Once you get comfortable with JavaScript and feel that you are familiar with the concepts and can easily perform CRUD operations on List Data, I might begin the journey towards understanding the SharePoint Framework tool chain.

 

To get started on that, I would check out my deck from a SharePoint Saturday last year on getting started with the SharePoint Framework:

http://www.spsevents.org/city/Charlotte/clt2016/Lists/SPSSessions/Attachments/71/Modern%20SharePoint...

 

I also wouldn't jump on the framework wagon right away.. Angular, TypeScript, React, etc. - are all fantastic to learn. However the curve is steep. Coming from Server-side development you might take to TypeScript right away but some of the others take time to learn. From your list, I'd learn: 

1. Node - very elementary understanding for development

2) NPM - again check out my slides to get a handle on it

3) Gulp - for automating tasks

 

Then I'd maybe move on to TypeScript & Angular.. Debate is between Angular 1 or Angular 2, I'm still more in the Angular 1 boat.

 

Finally in terms of the "how" - Pluralsight has solid courses on all the technologies you've listed below. 

 

Good luck and happy learning!

 

To add to @Jared Matfess,

 

I agree regarding learning JavaScript first.  Go that road and build a few customizations using the SEWP or the CEWP... 

 

Then, if you want to get deeper into the SPFx, and want some deeper explaination of the tooling etc @Andrew Connell just started creating courses (Voitanos) around this and has a free getting started with SPFx which would get you started with setting up your environment. https://www.voitanos.io/ 

 

 

I would like to see some more effort in this space, every "intro to SPFX" seems geared at legit developers that already use these tools and understand what they are. I'm a few steps up on this rung (I have a super solid understanding of javascript, css, html, sewp, etc).

But havent had time to go any further up. It seems to me that Typescript would be the next logical step.

All the demos and walkthroughs I have attempted, I am just following rote steps, gulping and yo-ing and whatever else.

This has been my knock against SPFX, while its great for developers its rough for people that have been "developing" in this space for a long time (who are typically not developers).

Luckily, I've got a SEWP working in modern UI, so I can delay the inevitable.

Yes, you're exactly right and definitely not alone in your view. If you're at the point of understanding JavaScript and the sewp then your next step is TypeScript and the dev toolchain. To address the latter the free Voitanos video I recommended will help you understand what you need to know vs what you need to understand. Strictly speaking since TypeScript is basically a superscript of JavaScript with a few tricks you can just keep writing JavaScript in SPFx, but honestly its potentially easier to just learn TypeScript. And to your point, you can just utilize a modern version of a sewp. It really just depends what your requirements and personal goals are.

I wouldn't suggest trying to learn any of these tools blindly. As the others in this thread have said, try to build a few simple but useful things first. Then as your requirements get more complex, decide which building blocks make sense to add to the mix.

M.