Industrialisation des développements d'Apps SharePoint avec Node.js

Preview:

Citation preview

Industrialisation des développements d'Apps

SharePoint avec Node.JSGuillaume Meyer – Partner @ ERYEM

A propos…

Guillaume MeyerFounding Partner @ ERYEM

> SharePointer depuis 2001, MVP SharePoint & Yammer> Board UGSF (User Group SharePoint France)

Publications & Evénements• « Veille concurrentielle » (Techniques de l’ingénieur)• « The SharePoint 2013 Cookbook » (Dunod)• Speaker : TechDays, Collaboration Universelle en

Entreprise, SharePoint Summit Quebec…• Articles : blog.eryem.com

Contact :• @guillaumemeyer• gmeyer@eryem.com

A propos…

PowerBI Yammer

Agenda

L’écosystème de développement SharePoint

Industrialisation avec les outils Node.js et Visual Studio

Aller plus loin dans le déploiement avec Azure

Aller encore plus loin avec TypeScript

L’écosystème de développement

SharePointUn peu d’histoire, perspectives

d’avenir…

Un peu d’Histoire…

Au commencement : Solutions Farm

La première tentative d’isolation : Sandbox

Le nouveau modèle : Apps• Technologies de développement Web

• Forte isolation et sécurité

• Scalabilité

Deprecated

Sharepoint Hosted

• HTML5 + JS + CSOM / REST

Auto Hosted

• HTML5 + JS + CSOM / REST

• Azure Services auto-provisionné

Developer hosted

• HTML5 + JS + CSOM / REST

• Services Web hébergés (Exemple Access Services)

Deprecated

Node.js

Un moteur d’exécution JS côté Client et Serveur• Open Source, énorme communauté

• Basé sur le moteur v8 de Chrome

• Un gestionnaire de paquets très riche, NPM : http://npmjs.com

• Des outils d’industrialisation développés avec Node.js

Créer des applications• Desktop

• Mobile

• Consoles

• API / Web Services

• Web http://nodejs.org/

Node.js

Une application Web basique avec Node.JS

Industrialisation avec les outils Node.js et

Visual Studio

Ligne de commande, assistants NTVS, debug, profiling…

Industrialisation en ligne de commande

Objectif : Industrialiser le développement JS en ligne de commande

Outillages : Ordonnanceur : Grunt• Anatomie d’une fichier : package.json & gruntfile.js

• Compilation, minification : Uglify

• Qualité du code : JSHint

• Surveillance / Déploiement : Watch

http://gruntjs.com/

Aller plus loin avec Visual Studio

Objectif : Industrialiser un projet JS / Node.JS dans Visual Studio

Intégration NTVS :• Assistance NPM : Install / Update

• Debugging local / distant

• Profiling et Analyse

http://nodejstools.codeplex.com/

Aller plus loin avec Azure…

Automatiser les déploiements sur Azure

3 étapes :• Publication Azure : IISNode + Mode debug + Websocket

• Debugging Azure : Paramètres d'application \ debug• IISNode.yml

• Activation des websockets et du debug

• Déploiement avec Git + Azure

Aller plus loin avec TypeScript

S’affranchir des limitations de JS

Aller plus loinavec TypeScript

Objectif : S’affranchir des limitations de JS : • Typage faible

• Pas d’interfaces

• Pas de classes / héritage

• Complexité pour gérer de gros projets

Tester simplement avec « Playground » : http://www.typescriptlang.org/Playground

Développer sur Node.js avec TypeScript• Développement objet et modularité

• Intellisense : Jquery, Node, SharePoint :• http://sptypescript.codeplex.com/

http://www.typescriptlang.org/

Aller plus loinavec TypeScript

Quelques exemples TypeScript…

Aller plus loinavec TypeScript

Quelques exemples TypeScript…

Aller plus loinavec TypeScript

Démonstration TypeScript sur l’App BlingPoint

Thank you for your attention!This presentation will be available on the Casablanca SharePoint Days web site after the event.

Merci de votre attention !Cette présentation sera disponible sur le site internetde SharePoint Days Casablanca, après l’événement.

Guillaume Meyer

N’hésitez pas à me contacter !

@guillaumemeyer

gmeyer@eryem.com

Recommended