55191 JavaScript deep-dive for SharePoint Developers

This 3-day instructor-led course is intended for Experienced Microsoft SharePoint developers who want to be able to create client-side applications and/or SharePoint add-ins using JavaScript.

Overview

This 3-day instructor-led course is intended for Experienced Microsoft SharePoint developers who want to be able to create client-side applications and/or SharePoint add-ins using JavaScript. In the course, participants learn the basics and potential pitfalls of JavaScript and jQuery. They are also introduced to the SharePoint app model and to the JavaScript Clientside Object Model. Participants learn how to communicate with SharePoint using REST and OAuth. Also, JSLink is introduced as a way to customize SharePoint rendering. Finally, some popular JavaScript libraries are presented and used within a SharePoint context: Angular.js, Breeze.js.

Prerequisites

Participants who wish to attend this course should meet the following prerequisites:

  • Experience using Microsoft SharePoint
  • Experience developing Farm and/or Sandboxed solutions for SharePoint
  • Experience creating projects with Microsoft Visual Studio

Who Should Attend?

This course is recommended for experienced SharePoint developers with limited to intermediate JavaScript experience. They should be familiar with common SharePoint terminology.

Course Outline

  • What is JavaScript
  • What is ECMASCript
  • Using libraries to extend JavaScript functionality
  • Debugging JavaScript with the browser debugger
  • Variables, Objects, Arrays and Functions
  • JavaScript Scopes and Closures
  • Function Parameters
  • Function Constructors
  • Prototypes
  • Error Handling

Lab: JavaScript Basics

  • Strict Mode
  • Accessor Properties
  • New Methods in ECMAScript 5
  • JavaScript and JSON
  • Writing maintainable code
  • Code verification and minimization
  • Callback Pattern
  • Options hashing
  • Self-invoking functions
  • Class Pattern
  • Module Pattern
  • The self reference
  • JQuery core, libraries, plugins
  • Why JQuery?
  • Fundamental elements and concepts
  • JQuery and other libraries
  • jQuery selectors: Element, Class, ID, etc
  • Managing wrapped element sets
  • Traversing the Document Object Model
  • The event programming model
  • DOM Level 0 event model
  • DOM Level 2 event model
  • JQuery unified event model

Lab: Programming the jQuery event model

  • JSOM overview and limitations
  • Getting started with JSOM
  • Performing Operations with JSOM
  • Using SP.ListOperation
  • Using SP.UI

Lab: Performing Operations with JSOM

  • Scenario
  • How it works
  • Executing a cross-domain request
  • REST and OData fundamentals
  • SharePoint 2013 REST API
  • AJAX
  • Programming with REST
  • Solving cross domain issues with CORS
  • Why apps?
  • SharePoint 2010 Application Challenges
  • App principles
  • App web & host web
  • App hosting options
  • Building a SharePoint Hosted app
  • App entry points
  • Deployment
  • Tenancies and app installations scope

Lab: Building a SharePoint hosted weather app

  • Azure AD
  • Adding Apps
  • OAuth for Apps
  • ADAL Overview
  • What is Breeze
  • OData Web Services
  • Breeze.js
  • Integrating Breeze with SharePoint
  • Loading the Chrome Control
  • Loading the SharePoint style sheets
  • Injecting JavaScript into the Host Web
  • Applying Minimal Download Strategy
  • JSLink introduction
  • Basic syntax
  • Using list item values in JSLink
  • How to use functions in JSLink
  • JSLink in features and code
  • Performance Impact

Lab: Customizing List Web Parts with JSLink

  • What is Angular and why use it?
  • MVVM/MVC pattern
  • Data Binding
  • Depending Injection
  • Module and Scopes
  • Factories and Services
  • Single Pages Applications: Routing and Partial Views

Lab: Creating a Single Page Application using Angular.js within a SharePoint hosted App

Get Pricing and Brochure

More Like This

Get the course Brochure & Pricing

Our course consultant will contact you within 1 working day

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Get in touch with our consultant