SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Sarah Sexton
Building Your First Node.js App, Publishing to Azure
Agenda
What is Node.js?
Building Your First App
Demonstration
Publishing to Azure
Sarah Sexton | Twitter: @Saelia
What is Node.js?
• Web Dev using JavaScript
• A Runtime environment & library
• Creates real-time web servers easily
Sarah Sexton | Twitter: @Saelia
What is Node.js?
• Node = HTML DOM Browser .js file
Sarah Sexton | Twitter: @Saelia
What is NPM?
• Node Package Manager
• Bundled & installed automatically
• Publish to & install from:
• GitHub, Bitbucket, CodePlex, SourceForge, Visual Studio Online, etc.
Sarah Sexton | Twitter: @Saelia
Tools
• Node.js
• NPM
• text editor
• GitHub
• Microsoft Azure
• Express
• Socket.io
• Bootstrap
• VS 2013
• NTVS
Sarah Sexton | Twitter: @Saelia
Dependencies
Express:
• A web framework that handles multiple different HTTP requests at one URL.
Implement Express to use templating engines to generate HTML.
Socket.IO:
• Simple JS library & Node.js module
• Allows real-time bidirectional event-based communication apps
Implement Socket.IO to connect, send, and receive messages.
Sarah Sexton | Twitter: @Saelia
Running Apps Locally from the Console
Sarah Sexton | Twitter: @Saelia
Continuous Integration
Sarah Sexton | Twitter: @Saelia
Resources
Resource Source
Download Node.js NodeJS.org
A chatroom for all! Part 1 - Introduction to Node.js Rami Sayar
Create a Node.js chat application with Socket.IO in Azure App Service Mike Wasson
How to add environment variables to your Path in Windows 8 or Windows 8.1 Chris Hawkes
Open source workshops that teach web software skills. NodeSchool.io
“Git-it” – Learn Git and GitHub basics. Jessica Lord
Deploying from local git repository to Azure websites (with video) Iris Classon
Project Repository for Building Apps with Node.js Microsoft Virtual Academy Rami Sayar
MVA: Building Apps with Node.js Jump Start Stacey Mulcahy & Rami Sayar
Install and Configure the Azure Command-Line Interface (CLI) Ralph Squillace
Explain Like I’m Five: What the heck is node.js? Reddit Web Dev
Get Started: Chat Application Socket.io
Sarah Sexton | Twitter: @Saelia

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Communication Operations: Lift off with Docker! - Jesse White
Communication Operations: Lift off with Docker! - Jesse WhiteCommunication Operations: Lift off with Docker! - Jesse White
Communication Operations: Lift off with Docker! - Jesse White
 
Sustaining Your Career
Sustaining Your CareerSustaining Your Career
Sustaining Your Career
 
Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud
 
Azure Functions 101
Azure Functions 101Azure Functions 101
Azure Functions 101
 
Monoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMonoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCamp
 
Closing the Cloud Skills Gap
Closing the Cloud Skills GapClosing the Cloud Skills Gap
Closing the Cloud Skills Gap
 
Microsoft Build 2018 news for .NET developers
Microsoft Build 2018 news for .NET developersMicrosoft Build 2018 news for .NET developers
Microsoft Build 2018 news for .NET developers
 
Reactive Architecture
Reactive ArchitectureReactive Architecture
Reactive Architecture
 
Sergii Bielskiy "Dev spaces development in AKS"
Sergii Bielskiy "Dev spaces development in AKS"Sergii Bielskiy "Dev spaces development in AKS"
Sergii Bielskiy "Dev spaces development in AKS"
 
Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)
 
Azure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservicesAzure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservices
 
Windows Containers on AKS Jorge Arteiro
Windows Containers on AKS Jorge ArteiroWindows Containers on AKS Jorge Arteiro
Windows Containers on AKS Jorge Arteiro
 
Azure Batch and MPI
Azure Batch and MPIAzure Batch and MPI
Azure Batch and MPI
 
Azure Functions - Introduction
Azure Functions - IntroductionAzure Functions - Introduction
Azure Functions - Introduction
 
Azure container instances
Azure container instancesAzure container instances
Azure container instances
 
Tokyo Azure Meetup #29 AKS
Tokyo Azure Meetup #29 AKSTokyo Azure Meetup #29 AKS
Tokyo Azure Meetup #29 AKS
 
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
 
Serverless
ServerlessServerless
Serverless
 
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»Сергей Лёвкин «Технологии Microsoft для актуальных трендов»
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»
 
DockerCon SF 2015: Faster, Cheaper, Safer
DockerCon SF 2015: Faster, Cheaper, SaferDockerCon SF 2015: Faster, Cheaper, Safer
DockerCon SF 2015: Faster, Cheaper, Safer
 

Andere mochten auch

Andere mochten auch (11)

Landress garage build
Landress garage buildLandress garage build
Landress garage build
 
Obesity - Facts to Know and Foods to Choose
Obesity - Facts to Know and Foods to ChooseObesity - Facts to Know and Foods to Choose
Obesity - Facts to Know and Foods to Choose
 
Developing for Consoles as an Indie in 2015
Developing for Consoles as an Indie in 2015Developing for Consoles as an Indie in 2015
Developing for Consoles as an Indie in 2015
 
Презентация Give5 Club
Презентация Give5 ClubПрезентация Give5 Club
Презентация Give5 Club
 
Evaluation Question one
Evaluation Question oneEvaluation Question one
Evaluation Question one
 
Compos.
Compos.Compos.
Compos.
 
Give5 Club Имидж брошюра
Give5 Club Имидж брошюраGive5 Club Имидж брошюра
Give5 Club Имидж брошюра
 
Kelompok 3 baru
Kelompok 3 baruKelompok 3 baru
Kelompok 3 baru
 
Ingles x d
Ingles x dIngles x d
Ingles x d
 
South park
South parkSouth park
South park
 
Digital cover
Digital coverDigital cover
Digital cover
 

Ähnlich wie Building Your First Node.js App and Publishing to Azure

Ähnlich wie Building Your First Node.js App and Publishing to Azure (20)

Introduction to node.js by jiban
Introduction to node.js by jibanIntroduction to node.js by jiban
Introduction to node.js by jiban
 
DotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcementsDotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcements
 
Node.js for .NET Developers
Node.js for .NET DevelopersNode.js for .NET Developers
Node.js for .NET Developers
 
Come Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.js
Come Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.jsCome Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.js
Come Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.js
 
Building microservices with Node.js - part 2
Building microservices with Node.js - part 2Building microservices with Node.js - part 2
Building microservices with Node.js - part 2
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
.NET Everywhere and for Everyone
.NET Everywhere and for Everyone.NET Everywhere and for Everyone
.NET Everywhere and for Everyone
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
 
Node.js In The Enterprise - A Primer
Node.js In The Enterprise - A PrimerNode.js In The Enterprise - A Primer
Node.js In The Enterprise - A Primer
 
modeveast 2012 Appcelerator Alloy & Cloud Services Presentation
modeveast 2012 Appcelerator Alloy & Cloud Services Presentationmodeveast 2012 Appcelerator Alloy & Cloud Services Presentation
modeveast 2012 Appcelerator Alloy & Cloud Services Presentation
 
Introduction to Node.JS
Introduction to Node.JSIntroduction to Node.JS
Introduction to Node.JS
 
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
 
Azure api app with .net core
Azure api app with .net coreAzure api app with .net core
Azure api app with .net core
 
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021
 
Develop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows AzureDevelop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows Azure
 
Putting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native BostonPutting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native Boston
 
Node and Azure
Node and AzureNode and Azure
Node and Azure
 
Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users
 
NijmegenJS - SailsJS intro march 10 2016
NijmegenJS - SailsJS intro march 10 2016NijmegenJS - SailsJS intro march 10 2016
NijmegenJS - SailsJS intro march 10 2016
 

Mehr von Sarah Sexton

Mehr von Sarah Sexton (13)

HoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOpsHoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOps
 
A Whirlwind Tour of Recurrent Neural Networks
A Whirlwind Tour of Recurrent Neural NetworksA Whirlwind Tour of Recurrent Neural Networks
A Whirlwind Tour of Recurrent Neural Networks
 
Recurrent Neural Networks (RNN)
Recurrent Neural Networks (RNN)Recurrent Neural Networks (RNN)
Recurrent Neural Networks (RNN)
 
Developing for Consoles as an Indie in 2018
Developing for Consoles as an Indie in 2018Developing for Consoles as an Indie in 2018
Developing for Consoles as an Indie in 2018
 
Implementing LUIS in Node.js
Implementing LUIS in Node.jsImplementing LUIS in Node.js
Implementing LUIS in Node.js
 
Mixed Reality
Mixed RealityMixed Reality
Mixed Reality
 
Code camp HoloLens Build and Deploy
Code camp HoloLens Build and DeployCode camp HoloLens Build and Deploy
Code camp HoloLens Build and Deploy
 
How to Build and Deploy to HoloLens
How to Build and Deploy to HoloLensHow to Build and Deploy to HoloLens
How to Build and Deploy to HoloLens
 
Breaking into Bots
Breaking into BotsBreaking into Bots
Breaking into Bots
 
Getting Started with Microsoft Bot Framework
Getting Started with Microsoft Bot FrameworkGetting Started with Microsoft Bot Framework
Getting Started with Microsoft Bot Framework
 
Word Play in the Digital Age: Building Text Bots with Tracery
Word Play in the Digital Age: Building Text Bots with TraceryWord Play in the Digital Age: Building Text Bots with Tracery
Word Play in the Digital Age: Building Text Bots with Tracery
 
Video game development for everybody
Video game development for everybodyVideo game development for everybody
Video game development for everybody
 
Introduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First GameIntroduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First Game
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Building Your First Node.js App and Publishing to Azure

  • 2. Building Your First Node.js App, Publishing to Azure Agenda What is Node.js? Building Your First App Demonstration Publishing to Azure Sarah Sexton | Twitter: @Saelia
  • 3. What is Node.js? • Web Dev using JavaScript • A Runtime environment & library • Creates real-time web servers easily Sarah Sexton | Twitter: @Saelia
  • 4. What is Node.js? • Node = HTML DOM Browser .js file Sarah Sexton | Twitter: @Saelia
  • 5. What is NPM? • Node Package Manager • Bundled & installed automatically • Publish to & install from: • GitHub, Bitbucket, CodePlex, SourceForge, Visual Studio Online, etc. Sarah Sexton | Twitter: @Saelia
  • 6. Tools • Node.js • NPM • text editor • GitHub • Microsoft Azure • Express • Socket.io • Bootstrap • VS 2013 • NTVS Sarah Sexton | Twitter: @Saelia
  • 7. Dependencies Express: • A web framework that handles multiple different HTTP requests at one URL. Implement Express to use templating engines to generate HTML. Socket.IO: • Simple JS library & Node.js module • Allows real-time bidirectional event-based communication apps Implement Socket.IO to connect, send, and receive messages. Sarah Sexton | Twitter: @Saelia
  • 8. Running Apps Locally from the Console Sarah Sexton | Twitter: @Saelia
  • 10. Resources Resource Source Download Node.js NodeJS.org A chatroom for all! Part 1 - Introduction to Node.js Rami Sayar Create a Node.js chat application with Socket.IO in Azure App Service Mike Wasson How to add environment variables to your Path in Windows 8 or Windows 8.1 Chris Hawkes Open source workshops that teach web software skills. NodeSchool.io “Git-it” – Learn Git and GitHub basics. Jessica Lord Deploying from local git repository to Azure websites (with video) Iris Classon Project Repository for Building Apps with Node.js Microsoft Virtual Academy Rami Sayar MVA: Building Apps with Node.js Jump Start Stacey Mulcahy & Rami Sayar Install and Configure the Azure Command-Line Interface (CLI) Ralph Squillace Explain Like I’m Five: What the heck is node.js? Reddit Web Dev Get Started: Chat Application Socket.io Sarah Sexton | Twitter: @Saelia

Hinweis der Redaktion

  1. Hello everybody! Thank you so much for joining me for my session today. My name is Sarah Sexton, and I am a Technical Evangelist working for Microsoft. My job is to engage with user groups and developers and help them find success with building on Microsoft and Windows platforms.
  2. Here are some other Microsoft Evangelists and esteemed colleagues with awesome presentations at this conference. After my talk, if you want to learn about Powershell, you might consider checking out Brian Lewis’ guide to using Powershell to manage Azure.
  3. In the spirit of our theme, “Microsoft is open,” I am going to be talking about publishing open source code on Azure, that was compiled in an open source language, written using a free Microsoft-made text editor program, and stored publicly in an open source repository.
  4. Here is the agenda for today. In my presentation, you are going to learn how to build your very first Node.js app and publish it online directly from Azure through GitHub. You will follow me on my personal journey from when I first heard about Node.js, to learning what it was, downloading the appropriate tools, building something with it, and finally publishing it to Azure. You’ll leave with some basic knowledge about Node.js, how to get started building your first Node app, and how to share it with the rest of the world.
  5. First of all, let us tackle the question of: What is Node.js? To put it simply, Node.js is a tool for making web applications using JavaScript. JavaScript is extremely popular, and anyone who knows it client-side in the browser can learn to use it in Node quite easily. Node includes a built-in HTTP toolkit for easily creating web servers; you can create a single-page website in less than a dozen lines of code. It also scales exceptionally well. A single Node process can handle tens of thousands of simultaneous requests before experiencing any performance lag.
  6. Node.js was born when Google took its Javascript engine, V8, written for use in Chrome, and removed all the browser stuff. V8 is a just-in-time compiler (that is, very fast) which converts the javascript code into low-level CPU instructions before running it (just like one would for C/C++ code). Node is a runtime environment and library for running JavaScript applications outside the browser. The javascript code executes directly from a .js file. Node essentially lets you use javascript just like you would use ruby, python or perl. It provides a set of built-in libraries for performing common IO tasks. Node’s Package Manager system, NPM, lets developers publish to and install from a single source of open source code. NPM is the final piece of the Node.js puzzle, because it makes it extremely easy to find and use publicly available libraries to accomplish common tasks. Let’s talk about NPM in more detail.
  7. NPM is the official package manager for Node. It’s the NuGet to ASP.NET; it’s the Gem to Ruby. It is a central repository for all the extensions & 3rd party libraries. It comes bundled & installed automatically with the environment. No reinventing the wheel, Just search for a library that does what you want. Real-time applications are becoming a big deal now; WebSockets have reached a degree of support to where sites can start to take advantage of them, and Node does WebSockets & long poll http connections really well.
  8. To get started with building your first app, you’ll need the Node.js command prompt on your computer. Then you use the npm commands to install each module your app will need. You’ll also need a Text Editor, if you don't have one already, for editing code. “Visual Studio Code” is the new “Notepad++” Of course, you want to set up your preferred method of source control, be it Github, Visual Studio Online, Bitbucket, or Git. If you’re not comfortable with typing commands into a black box, Node.js Tools for Visual Studio, or NTVS, is a free, open source plugin that turns Visual Studio into a Node.js IDE.
  9. Let me tell you what dependencies I’ll be showing you today. Express is a web framework that lets you structure your web app to handle multiple different HTTP requests at a specific URL. You also implement Express to use multiple templating engines to generate HTML. Socket.IO is a simple JavaScript library and node.js module that allows you to create real-time bidirectional event-based communication apps simply and quickly. It simplifies the process of using Web Sockets significantly. I used Socket.IO to make my chatroom app. Implement Socket.IO to connect, send, and receive messages.
  10. For the rest of my presentation, I will demonstrate how to run an app locally from the console.
  11. Then I will illustrate the wonders of Continuous Integration. Deploying your web app from Visual Studio Online, GitHub, Bitbucket, Dropbox, or an External Repository results in a continuous deployment process where Azure will pull in the most recent updates from your project. Continuous deployment is useful when you have multiple people working on a project and want to ensure that the latest version is always published regardless of who made the most recent update. Continuous deployment is also useful if you are using an online tool as the central repository for your application.
  12. In conclusion, we learned how to build a very first Node.js app on open source software and publish it online directly from Azure through GitHub. We followed my personal journey from when I first heard about Node.js, to learning what it was, downloading the appropriate tools, building something, and finally publishing it to Azure. Hopefully you’ve gained some basic knowledge about Node.js, how to get started building your first Node app, and how to share it with the rest of the world. Thank you very much.
  13. So when you open up the Node.js command prompt, it starts you in a default folder, so you’ll have to use the “cd ..” and “dir” commands to navigate your way through the directory of folders until you get where you want to be. Then you use “npm install” to install each module your app needs to function. Express and Socket.io were a few of the things that the Node Chatroom application needed to function properly.
  14. To do more research into creating a First Node App, I went to Node.js’s website in search of official documentation and tutorials. There, I found something called NodeSchool, which they describe as being “a fantastic resource for learning about Node.js and the related ecosystem around Node. There are a series of curricula which are designed with a choose-your-own-adventure style.” So I visited NodeSchool.io, clicked Tutorials, and was introduced to a workshop called LearnYouNode. -g stands for Global When you do a global install, it installs the package globally so you can run them regardless of where you are in the command prompt, not specifically to one folder.
  15. Let’s get back to Node. Node.js is a combination of several technologies. The very bottom layer is a C library called libuv, which is a framework for performing asynchronous IO operations without introducing blocking. The second layer is V8, which is Google's Javascript engine written for use in Chrome. V8 is a just-in-time (aka very fast) compiler which converts the JS code into low-level CPU instructions before running it (just like one would for C/C++ code). This lets the code run much faster than in older javascript engines. V8 also includes many optimizations for handling very common tasks in javascript, such as concatenating strings or iterating certain types of arrays. The third layer is CommonJS, a specification for how to organize distinct modules of JS code into separate files, and for including those files for execution. JS code can call require(filepath) to load and execute a JS file in an isolated context, and anything exported by that file gets returned by the require call. And last but not least, CommonJS’s implementation was later extended by the creation of Node Package Manager. This system lets developers publish to and install from a single source of open source code. NPM is the final piece of the Node.js puzzle, because it makes it extremely easy to find and use publicly available libraries to accomplish common tasks. Let’s talk about NPM in more detail.
  16. https://manage.windowsazure.com
  17. https://portal.azure.com
  18. Azure Command Line Interface These screenshots connect locally to Git, NOT remotely to GitHub.
  19. For those of you that don’t know, let me explain what Blocking is. In most languages when the code makes a call to a file system or remote system, code execution completely halts until that system returns with a response. This is called a blocking operation, because it blocks the current code execution. If the database is running on a separate computer, then that means the web server is just sitting there idle, doing nothing. It can't handle any other web requests until that query comes back, so it's effectively a dead process for how ever many milliseconds it takes for the query to come back. The solution devised many years ago to handle the blocking problem was to create multiple threads of execution. A process could launch another copy of itself, called a fork, which would run separately from the main process. This kind of process juggling is costly, both in memory consumption and the processing overhead of launching new processes to handle increased demand.
  20. On the one hand, Node is great for streaming or event-based real-time applications like Chat applications, Real-time applications and collaborative environments, Game servers, Advertisement servers, or Streaming servers. Node is great for when you need high levels of concurrency but little dedicated CPU time. On the other hand, Node is structured to be single-threaded; there is an event loop that runs. If you are building an application that requires you to do some very long-running calculations in the backend, Node might not be the best tool. It blocks all the other events that will be coming in. The server would not be able to handle any other requests coming in. Explain when it blocks and when it doesn’t block