What is

and how it became so popular?

Thank you

Thank you SeattleReactJS

#BellevueJS

Trivikram Kamat

Software Development Engineer

@trivikram

@trivikr

Tree

Weak

Rum

+

+

Tri

vik

ram

.

.

What's my name again?

My history with Node.js

  • Have been using Node.js for 3.5 years

  • Started contributing to Node.js core in Oct 2017

    • providing HTTP/2 support

  • Became Node.js core collaborator in March 2018

  • Organized/mentored four Node.js workshops

  • Given 10+ talks related to Node.js/React.js

How popular is Node.js?

How popular is Node.js?

How popular is Node.js?

Why should you be excited about Node.js?

  • Extremely simple and minimal

  • Easy to discover and consume packages

  • Increases developer productivity

  • True asynchronous I/O operations

What will you learn?

  • Quick history up to V8
    • CPU and machine code
    • JavaScript and ECMAScript
    • JavaScript Engines
    • Chrome's V8
  • How can JavaScript manage a server?
  • What problems Node.js solves?
  • We'll write a Node.js server!

Q: Why was the JavaScript reality show cancelled?

A: Because it was scripted! 😉

CPU and Machine Code

Programming Language

 

Machine Code

Instructions Sets

  • ARM

  • x86

  • IA-32

  • MIPS

A standard which JavaScript is based on

a group of JavaScript developers, implementers, academics, and more, collaborating with the community to maintain and evolve the definition of JavaScript.

You can contribute to ECMAScript spec!

  • Stage 0 (Strawman): An idea for evolving ECMAScript

  • Stage 1 (Proposal): A formal proposal for the feature. Describe the problem, solution, obstacles. Implementation requires polyfills and demos

  • Stage 2 (Draft): A formal description of the syntax and semantics of the feature. Two experimental implementations needed, one can be transpiler like Babel

  • Stage 3 (Candidate): Spec text is complete, call for feedback from implementations and users

  • Stage 4 (Finished): The proposal is ready to be included in the ECMAScript standard

The TC39 process

New features in ECMAScript 2019

Array#{flat,flatMap}

Object.fromEntries

String#{trimStart,trimEnd}

Symbol#description

try-catch optional binding

well-formed JSON.stringify

stable Array#sort

revised Function#toString

JavaScript Engine

A program which executes JavaScript code

Google

Chrome

Mozilla

Firefox

Microsoft

Edge

Apple

Safari

V8

SpiderMonkey

ChakraCore

JavaScriptCore

(now v8)

JavaScript on embedded devices!

Moddable

Espruino

JerryScript

Duktape

Q: How do you comfort a JavaScript Bug?

A: You console it 😄

Source: https://elijahmanor.com/

JavaScript

Code

Machine

Code

Chrome's V8 engine

JavaScript

Code

Machine

Code

Your C++ Program

What JavaScript had to do to manage a server?

  • Better ways to organize our code into reusable pieces

  • Ways to deal with files and databases

  • Ability to communicate over the internet

  • Ability to accept standard request and send responses

Why are businesses excited about Node.js?

It's easy to just employ full stack engineers who write JavaScript code for both client and server side

Client

Server

Request

Response

Browser

JavaScript

Server

Perl/PHP/Python

Java/C# etc

JavaScript

Talk is cheap,

Show me the Code!

As Abraham Lincoln once said:

- Linus Torvalds

Creator of Linux and Git

Let us write a Node.js server in 60 seconds!

What's next?

Thank you for listening!

Trivikram Kamat

@trivikram

@trivikr

What is Node.js and how it became popular?

By Trivikram Kamat

What is Node.js and how it became popular?

Slides for BellevueJS meetup talk in July 2019 https://www.meetup.com/BellevueJS/events/llvkklyzkbnc/

  • 972