Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Node.js Crash Course - All Things Open 2018

David Neal
October 22, 2018
250

Node.js Crash Course - All Things Open 2018

Node.js is a compelling platform that is quickly spreading from startups to the enterprise. Node.js strategically unites developers of all backgrounds through the common language of JavaScript. Why should you learn Node.js and where do you start? You will come away from this talk with the evidence to support Node.js, and tools you need to be productive. We will walk through a typical workflow of creating and debugging a web application. We’ll also look at popular frameworks and modules, and other learning resources to give you the best start.

David Neal

October 22, 2018
Tweet

Transcript

  1. Up Ahead • Why Node.js? • Crash course • Tools

    and frameworks • Integration strategies
  2. What’s my story? • ASP.NET MVC, C# • SQL Server

    + NHibernate • JavaScript + JQuery
  3. What’s my story? • JavaScript • Recruiting • Productive, less

    friction – Testing – Microservices – RabbitMQ, redis – Cross-platform
  4. Why Node.js? • Rapid innovation & delivery • Developer happiness

    • Attract & retain talent • Performance “Why Node.js is Becoming the Go-To Technology in the Enterprise” – nearform.com
  5. • Backend API for SPAs, Mobile apps, etc. • “Serverless”

    computing • Real-time, streaming • WebSockets, push notifications • Chat, IM, social media Node.js Use Cases
  6. • Backend API for SPAs, Mobile apps, etc. • “Serverless”

    computing • Real-time, streaming • WebSockets, push notifications • Chat, IM, social media Node.js Use Cases
  7. More than just backend • Automation Scripts (DevOps) • CLI

    tools (compile with nexe) • Microservices • Internet of Things • Desktop Apps
  8. Fandango • dramatically shorter development cycles • micro-services architecture •

    flexibility in deployment • easily scalable infrastructure “Fandango Goes Live with Node.js” – nearform.com
  9. • 2x faster development with fewer developers • 33% fewer

    lines of code • 40% fewer files • 2x improvement requests/sec • 35% decrease in avg response time
  10. • Black Friday, 2013 • Mobile platform • 200,000,000+ users

    • 10 CPU cores, 28 GB RAM • < 1% CPU utilization • Deployed updates
  11. Who else is using Node.js? • NASA • Netflix •

    Amazon • Medium • GE • Wordpress • CapitalOne • eBay • Target • Airbnb • Samsung • GoPro
  12. Installing Node.js Mac or Linux? Use nvm! https://github.com/creationix/nvm Windows? Use

    Chocolatey! https://chocolatey.org/ C:\> choco install nodejs.install > nvm install 10
  13. Recommended toolbox Package What it do, yo nodemon automatically restarts

    in dev jest, mocha, or lab test frameworks testdouble spies, stubs, mocks eslint lint and format rules for JavaScript request, axios, or wreck http clients socket.io sockets, real-time
  14. Node frameworks MVC • Express • hapi • koa •

    fastify API • Restify • LoopBack nodeframework.com
  15. Node.js Integration Strategies • Node.js as proxy or nginx •

    request module to call APIs • Messaging (e.g. RabbitMQ, ZeroMQ Azure Service Bus) • Edge.js for .NET