3-699.pptx

Building Office Add-ins using Node.JS

1.0x

3-699.pptx

Created 2 years ago

Duration 0:00:00
lesson view count 61
Building Office Add-ins using Node.JS
Select the file type you wish to download
Slide Content
  1. Building Office Add-ins using Node.js

    Slide 1 - Building Office Add-ins using Node.js

    • 3-699
    • Jeremy Thake
    • Microsoft
    • @jthake
    • Andrew Connell
    • MVP
    • @andrewconnell
    • //build/ content is being presented by Microsoft Office Mix The video for this session will be available shortly
  2. Slide 2

    • DATA
    • USERS
    • HTML
    • Developer vision
  3. What is Node.js? … and io.js?

    Slide 3 - What is Node.js? … and io.js?

    • Developer Tooling for Node.js
    • Creating Websites & Web APIs with Node.js
    • Developing with Node.js
    • Node for Office & SharePoint Add-ins
    • Topics
  4. What is Node.js?

    Slide 4 - What is Node.js?

  5. Cross platform environment for hosting JavaScript

    Slide 5 - Cross platform environment for hosting JavaScript

    • Facilitates end-to-end JavaScript environment
    • Ideal for network & I/O based applications
    • Non-blocking, event driven
    • Open source
    • Managed by
    • Node.js Foundation
    • Joyent
    • https://nodejs.org
    • What is Node.js
  6. Microsoft Azure - http://aconn.me/1HZWEl2

    Slide 6 - Microsoft Azure - http://aconn.me/1HZWEl2

    • Yammer - http://aconn.me/1Gxy9hL
    • Walmart - http://aconn.me/1HZWz0w
    • PayPal - http://aconn.me/1DsFZqx
    • LinkedIn - http://aconn.me/1NZNs1S
    • Trello - http://aconn.me/1OjCPsI
    • Who uses Node.js?
  7. Node.js Components

    Slide 7 - Node.js Components

    • Node
    • NPM
    • V8
  8. Node.js – https://nodejs.org

    Slide 8 - Node.js – https://nodejs.org

    • Managed by Node.js Foundation (+Joyent)
    • Current (v0.12.2) uses V8 v3.28.73
    • io.js - https://iojs.org
    • Forked copy of Node.js in late 2014
    • Created out of community frustrations with decline in the pace of contributions & releases - http://aconn.me/1NZQvHl
    • Current version (v1.6.4) uses V8 v4.1.0.27
    • Contains many fixes & features not yet implemented in Node.js
    • Compatible with NPM
    • What will the future hold? Yet to be determined!
    • Node.js vs io.js
  9. One language used from server to client

    Slide 10 - One language used from server to client

    • Same language used in projects & ecosystem around the projects
    • Build process
    • Developer tooling
    • System configuration
    • Cross platform
    • Built for network & I/O bound operations
    • Appeal of Node.js & io.js
  10. Developer Tooling for Node.js

    Slide 11 - Developer Tooling for Node.js

  11. Visual Studio

    Slide 12 - Visual Studio

    • Node.js Tools for Visual Studio
    • https://www.visualstudio.com/en-us/explore/node-js-vs
    • WebMatrix
    • http://www.microsoft.com/web/webmatrix
    • WebStorm
    • https://www.jetbrains.com/webstorm
    • Brackets
    • Open source – written in JavaScript & Node.js!
    • http://brackets.io
    • Any text editor
    • Node.js Developer Tooling Options
  12. Node.js for Websites & Web APIs

    Slide 13 - Node.js for Websites & Web APIs

  13. Developing Node

    Slide 14 - Developing Node

  14. Node.js for Websites & Web APIs

    Slide 15 - Node.js for Websites & Web APIs

    • Connect
    • Express
    • MVC
    • APIs
  15. HTTP Middleware for Node.js

    Slide 16 - HTTP Middleware for Node.js

    • var app = connect();
    • Facilitates simple request & response
    • Extensible HTTP server framework using plugins
    • Plugins = Middleware
    • Code that is added as a stack
    • Incoming requests execute each middleware one-by-one
    • Continues until middleware doesn’t call next()
    • Use middleware by executing:
    • app.use(‘/foo’, function mw(req, res, next){next();});
    • Connect
  16. Minimalist web framework

    Slide 17 - Minimalist web framework

    • Built on Connect
    • Unopionated
    • Developers write all the plumbing code
    • Extensible – multiple MVC framework options
    • Express
  17. Jade

    Slide 18 - Jade

    • Unique HTML shorthand syntax
    • EJS
    • Embedded JavaScript
    • Vash
    • Similar to ASP.NET’s Razor syntax
    • Handlebars
    • Same as client-side syntax
    • MVC Frameworks in Node.js
  18. Debugging Node.js Applications

    Slide 19 - Debugging Node.js Applications

    • Node
    • --debug
    • node-inspector
    • Nodemon
    • spy.js
  19. Node.js for Office 365, Office Add-ins& SharePoint Add-ins

    Slide 20 - Node.js for Office 365, Office Add-ins& SharePoint Add-ins

  20. All extensibility in Office related products & platforms is web based

    Slide 21 - All extensibility in Office related products & platforms is web based

    • Websites, web applications & Web APIs
    • Underlying tech & platform irrelevant
    • Node.js, just like ASP.NET, is just another option
    • Office 365, Office Add-ins & SharePoint Add-ins
  21. No wizards

    Slide 22 - No wizards

    • No “Connected Service Wizard”
    • Create Azure AD application via Azure Portal
    • No Office 365 / SharePoint SDKs
    • Some packages available in NPM & bower
    • Use REST APIs
    • Authentication Flow
    • If all client side – use Azure AD’s Implicit Flow & ADAL JS
    • If server side – use ADAL for Node.js
    • Node.js + Office - Things to Consider
  22. https://nodejs.org

    Slide 23 - https://nodejs.org

    • https://iojs.org
    • Demos used in this session:
    • https://github.com/andrewconnell/pres-o365-node
    • Call to Action
  23. http://dev.office.com/devprogram

    Slide 24 - http://dev.office.com/devprogram

    • Developer Program Launch
    • E-mail Newsletters
    • Free Developer Subscription
    • 1 YEAR FREE
    • Free Training
    • Free Tools
    • Webinars
  24. Call to action

    Slide 25 - Call to action

    • Sign up for Developer Program
    • Collect your stickers at //build
    • Check out the express talks