Learning roadmap - SharePoint/PnP-JS-Core GitHub Wiki
This project uses a lot of different kinds of technologies. In order to make getting started easier we provide a learning roadmap which covers the major technological building blocks of the solution.
Gulp
Gulp is a streaming build server which we use for doing tasks like:
- Compiling typescript, minifying the compiled gulpjs
- Linting - i.e. checking code for stylistic errors
- Build the typings definitions
- Building the project as a whole
- Test runner for our mocha tests
- Starting a HTTP server to host a copy of the project on your dev machine
You can think of Gulp as doing the same job as msbuild or make, except that the commands are written using JavaScript.
Brief introduction: http://gulpjs.com/
Deeper dive: 5 hour pluralsight course from John Papa
Node-js
Let's us run JavaScript server-side. A lot of the tools we use depend on Node. It has a sophisticated package management tool called npm (node package manager).
We use node for tasks like:
- Running our automated test suite
- Hosting a local instance of the project for development and debugging
- Gulp is installed as a node package
Brief introduction: Collection of resources
Deeper dive: TBD
TypeScript
A typed superset of JavaScript that compiles to plain JavaScript. It introduces strong typing, classes and interfaces as well as modules, and allows us to use features of the next version of JavaScript.
The reason the project is built on TypeScript instead of vanilla JavaScript is ???
Brief introduction: The excellent Handbook at the TS docs. Go through them all.
Deeper dive: TBD
Typings
Typings is the simple way to manage and install TypeScript definitions. It's like NuGet/npm for your TypeScript definitions
Brief introduction: Github
Deeper dive: TBD
Bower
Package manager for front-end dependencies. It's not in use now, but the PnP package will be available from Bower at release. By using bower we can easily update and manage the packages the solution is built on.
Brief introduction: Bower web
Deeper dive: TBD
Mocha and Chai
JavaScript test framework running on Node.js and the browser.
Brief introduction: The mocha website
Deeper dive: TBD
Git
A distributed version control system
Brief introduction: Interactive learning
Deeper dive: The git book (free)
Editors
Development of PnP-JS-Core does not require Visual Studio. Any text editor can be used. Of course Visual Studio and VS Code has great built in support for TypeScript giving youthings like:
- Intellisense
- Integration with TSLint