Node Community Chennai MeetUp1

22
Node.js Kick Start First Node Community Meet-Up in Chenna

Transcript of Node Community Chennai MeetUp1

Page 1: Node Community Chennai MeetUp1

Node.js Kick Start First Node Community Meet-Up in Chennai

Page 2: Node Community Chennai MeetUp1

What Node.js is not?

• not a programming language• not just a JavaScript Engine

Page 3: Node Community Chennai MeetUp1

What Node.js actually is?

• server-side web application development framework• It is also a javascript engine

Where to use Node.js?It is not advisable to use Node.js for CPU intensive applications.Why not? Let’s learn..

Page 4: Node Community Chennai MeetUp1

Node.js Background

Page 5: Node Community Chennai MeetUp1

Brief History of Node.js

• Ryan Dahl - 2009-2012• Isaac Schlueter - 2012-2014• Timothy J Fontaine - 2014 - 2015• Fedor Indutny - io.js 2015• io.js & Node.js merged in 2015• First merged release was v4.0.0 in 2015

Page 6: Node Community Chennai MeetUp1

How the system works?• open-source• open-governance

Node.js Foundation

• Board of Directors• TSC

Page 7: Node Community Chennai MeetUp1

Versions

• Strictly semver• LTS - v4.4.3• Current - v6.0.0

Page 8: Node Community Chennai MeetUp1

Features of Node.js

• Event Driven• Non-blocking I/O• Single Threaded but highly scalable

Page 9: Node Community Chennai MeetUp1

Building Blocks of Node.js

Page 10: Node Community Chennai MeetUp1
Page 11: Node Community Chennai MeetUp1
Page 12: Node Community Chennai MeetUp1
Page 13: Node Community Chennai MeetUp1
Page 14: Node Community Chennai MeetUp1

Writing asynchronous code is different

Typical Approach

var conn = getDbConnection(connectionString);var stmt = conn.createStatement();var results = stmt.executeQuery(sqlQuery);for (var i = 0; i < results.length; i++) { // print results[i];}

Page 15: Node Community Chennai MeetUp1

An asynchronous non-blocking approach

getDbConnection(connectionString, function (err, conn) { // callback

if (err) { //Handler errors } conn.createStatement(function (error, stmt) {

//callback if(error) { //Handle errors } var results = stmt.executeQuerty(sqlQuery); results.on('row', function (result) {

// Event emitted for the rows //print result }); });});

Writing asynchronous code is different

Page 16: Node Community Chennai MeetUp1
Page 17: Node Community Chennai MeetUp1
Page 18: Node Community Chennai MeetUp1
Page 19: Node Community Chennai MeetUp1
Page 20: Node Community Chennai MeetUp1

What is NPM?

• package manager (like maven, sbt)• Isaac Schlueter - npm, Inc• package.json• Custom modules

Page 21: Node Community Chennai MeetUp1

Let’s see them in Action…

Page 22: Node Community Chennai MeetUp1

Thank You!