SlideShare une entreprise Scribd logo
1  sur  10
3rd GreeceJS
Meetup

NODE.JS

a pragmatic approach
Kostas Karolemeas
http://gr.linkedin.com/in/kostaskarolemeas
3rd GreeceJS Meetup

Kostas Karolemeas
3rd GreeceJS Meetup

WHAT IS NODE.JS?
Evented I/O for v8 javascript
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses
an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time
applications that run across distributed devices.

Kostas Karolemeas
3rd GreeceJS Meetup

WHY NODE.JS?
•

Performance and Scalability
•

•

BUT: you need to respect the asynchronous model otherwise node cannot fix late
responses…

End-to-end javascript / reusable code / no need to switch contexts
•

BUT: a good web developer is not by default a good server-side developer

•

AND: you will not be able to write in the same way both sides (e.g. different
frameworks)

•

Strong, responsive and enthusiastic community

•

Many hosting options (IaaS to PaaS)

•

Mature development tools

Kostas Karolemeas
3rd GreeceJS Meetup

NODE.JS SERVICES
URI routing
URI routing
(e.g. REST API)
(e.g. REST API)

Jade
Jade
Ham
Ham
ll

Views (templates)
Views (templates)

Express
Express
(web dev.
(web dev.
framework)
framework)

Sessions
Sessions

EJS
EJS

Error Handling
Error Handling
Configuration
Configuration

Logging
Logging
Cookies
Cookies

Connect
Connect
(middleware)
(middleware)

Auth
Auth
Session
Session
Stores
Stores

Kostas Karolemeas
3rd GreeceJS Meetup

NODE.JS APP STACK
Express // Connect
Express Connect
Async.js
Async.js

(asynchronous call
(asynchronous call
management)
management)

Mongoose
Mongoose

(async object modeling
(async object modeling
for MongoDB)
for MongoDB)

Winston
Winston

(multi-transport async logging)
(multi-transport async logging)

node-mongodb-native
node-mongodb-native

Kostas Karolemeas
3rd GreeceJS Meetup

DEPLOYING NODE.JS
FREE
Blitz
Blitz

Release
Release
Management
Management

Dynos
Dynos

Logging
Logging

Redis To Go
Redis To Go

Kostas Karolemeas
3rd GreeceJS Meetup

NODE.JS TOOLS
•

npm - package/dependency manager

•

Mocha - test framework
•
•

Alternative Reporters for results

•

•

Alternative DSL (interfaces) for describing tests

Runs either from a shell or in a browser

WebStorm - Javascript IDE
•

Integrated Node.js launcher / debugger

•

Excellent javascript editor

•

Very good integration with task management and version control tools
Kostas Karolemeas
3rd GreeceJS Meetup

WHAT’S NEXT?
•

Give it a spin!
•

Install Node.JS and NPM

•

Install WebStorm

•

Install Git

•

Create an account in Heroku and install tools

•

Follow Heroku instructions to create a Node.js application
•

•

Use heroku-buildpack-nodejs to install latest Node.js

Install Heroku add-ons: MongoLab, Redis To Go, Logging, Release
Management
Kostas Karolemeas
3rd GreeceJS Meetup

THANK YOU!

Kostas Karolemeas

Contenu connexe

Tendances

Midgard & Nemein - when an open source project and company evolve together
Midgard & Nemein - when an open source project and company evolve togetherMidgard & Nemein - when an open source project and company evolve together
Midgard & Nemein - when an open source project and company evolve together
Henri Bergius
 
Developpement informatique
Developpement informatiqueDeveloppement informatique
Developpement informatique
brokerslip0
 
CreateJS hackathon in Zurich
CreateJS hackathon in ZurichCreateJS hackathon in Zurich
CreateJS hackathon in Zurich
Henri Bergius
 
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web Development
Suresh Patidar
 

Tendances (20)

Midgard & Nemein - when an open source project and company evolve together
Midgard & Nemein - when an open source project and company evolve togetherMidgard & Nemein - when an open source project and company evolve together
Midgard & Nemein - when an open source project and company evolve together
 
Web Based Development Introduction
Web Based Development IntroductionWeb Based Development Introduction
Web Based Development Introduction
 
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
 
Create.js - Inline editing for any website
Create.js - Inline editing for any websiteCreate.js - Inline editing for any website
Create.js - Inline editing for any website
 
Course Document
Course DocumentCourse Document
Course Document
 
Decoupling Content Management
Decoupling Content ManagementDecoupling Content Management
Decoupling Content Management
 
Node.js
Node.jsNode.js
Node.js
 
Developpement informatique
Developpement informatiqueDeveloppement informatique
Developpement informatique
 
Session dotNed Saturday 28 januari 2017
Session dotNed Saturday 28 januari 2017Session dotNed Saturday 28 januari 2017
Session dotNed Saturday 28 januari 2017
 
Programming pillars
Programming pillarsProgramming pillars
Programming pillars
 
jQuery
jQueryjQuery
jQuery
 
Node.js and express
Node.js and expressNode.js and express
Node.js and express
 
CreateJS hackathon in Zurich
CreateJS hackathon in ZurichCreateJS hackathon in Zurich
CreateJS hackathon in Zurich
 
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web Development
 
Decoupling Content Management with Create.js and PHPCR
Decoupling Content Management with Create.js and PHPCRDecoupling Content Management with Create.js and PHPCR
Decoupling Content Management with Create.js and PHPCR
 
O futuro do desenvolvimento .NET
O futuro do desenvolvimento .NETO futuro do desenvolvimento .NET
O futuro do desenvolvimento .NET
 
How Servo Renders the Web
How Servo Renders the WebHow Servo Renders the Web
How Servo Renders the Web
 
Virtualization based on Node.js andQEMU
Virtualization based on Node.js andQEMUVirtualization based on Node.js andQEMU
Virtualization based on Node.js andQEMU
 
Just a millisecond_
Just a millisecond_Just a millisecond_
Just a millisecond_
 
Beyond the MEAN Stack: Thinking Small with Node.js for the Enterprise
Beyond the MEAN Stack: Thinking Small with Node.js for the EnterpriseBeyond the MEAN Stack: Thinking Small with Node.js for the Enterprise
Beyond the MEAN Stack: Thinking Small with Node.js for the Enterprise
 

Similaire à Node.js - Greece JS Meetup 2012

Node.js Web Development SEO Expert Bangladesh LTD.pdf
Node.js Web Development  SEO Expert Bangladesh LTD.pdfNode.js Web Development  SEO Expert Bangladesh LTD.pdf
Node.js Web Development SEO Expert Bangladesh LTD.pdf
Tasnim Jahan
 

Similaire à Node.js - Greece JS Meetup 2012 (20)

MERN PPT
MERN PPTMERN PPT
MERN PPT
 
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web ApplicationReact Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
 
Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web Framework
 
Node.js Web Development SEO Expert Bangladesh LTD.pdf
Node.js Web Development  SEO Expert Bangladesh LTD.pdfNode.js Web Development  SEO Expert Bangladesh LTD.pdf
Node.js Web Development SEO Expert Bangladesh LTD.pdf
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
9 Best JavaScript Frameworks To Choose
9 Best JavaScript Frameworks To Choose9 Best JavaScript Frameworks To Choose
9 Best JavaScript Frameworks To Choose
 
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
 
Top Node.js frameworks for web development in 2022.pdf
Top Node.js frameworks for web development in 2022.pdfTop Node.js frameworks for web development in 2022.pdf
Top Node.js frameworks for web development in 2022.pdf
 
Angular.js vs node.js how are they different
Angular.js vs node.js  how are they different Angular.js vs node.js  how are they different
Angular.js vs node.js how are they different
 
Why Choose Node.js for Backend Development?
Why Choose Node.js for Backend Development?Why Choose Node.js for Backend Development?
Why Choose Node.js for Backend Development?
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
Know the difference - Angular.js vs Node.js
Know the difference - Angular.js vs Node.jsKnow the difference - Angular.js vs Node.js
Know the difference - Angular.js vs Node.js
 
Nodejs framework for app development.pdf
Nodejs framework for app development.pdfNodejs framework for app development.pdf
Nodejs framework for app development.pdf
 
Node JS Development Services
Node JS Development Services Node JS Development Services
Node JS Development Services
 
Next.js vs Node.js: Choosing the Right Framework for App Development
Next.js vs Node.js: Choosing the Right Framework for App DevelopmentNext.js vs Node.js: Choosing the Right Framework for App Development
Next.js vs Node.js: Choosing the Right Framework for App Development
 
When to Use Node.js Development Services.pptx
When to Use Node.js Development Services.pptxWhen to Use Node.js Development Services.pptx
When to Use Node.js Development Services.pptx
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share pptsNode js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share ppts
 
Node.js Web Development: Powering the Future of Web Applications
Node.js Web Development: Powering the Future  of Web ApplicationsNode.js Web Development: Powering the Future  of Web Applications
Node.js Web Development: Powering the Future of Web Applications
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 

Dernier

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Dernier (20)

ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 

Node.js - Greece JS Meetup 2012

  • 1. 3rd GreeceJS Meetup NODE.JS a pragmatic approach Kostas Karolemeas http://gr.linkedin.com/in/kostaskarolemeas
  • 3. 3rd GreeceJS Meetup WHAT IS NODE.JS? Evented I/O for v8 javascript Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. Kostas Karolemeas
  • 4. 3rd GreeceJS Meetup WHY NODE.JS? • Performance and Scalability • • BUT: you need to respect the asynchronous model otherwise node cannot fix late responses… End-to-end javascript / reusable code / no need to switch contexts • BUT: a good web developer is not by default a good server-side developer • AND: you will not be able to write in the same way both sides (e.g. different frameworks) • Strong, responsive and enthusiastic community • Many hosting options (IaaS to PaaS) • Mature development tools Kostas Karolemeas
  • 5. 3rd GreeceJS Meetup NODE.JS SERVICES URI routing URI routing (e.g. REST API) (e.g. REST API) Jade Jade Ham Ham ll Views (templates) Views (templates) Express Express (web dev. (web dev. framework) framework) Sessions Sessions EJS EJS Error Handling Error Handling Configuration Configuration Logging Logging Cookies Cookies Connect Connect (middleware) (middleware) Auth Auth Session Session Stores Stores Kostas Karolemeas
  • 6. 3rd GreeceJS Meetup NODE.JS APP STACK Express // Connect Express Connect Async.js Async.js (asynchronous call (asynchronous call management) management) Mongoose Mongoose (async object modeling (async object modeling for MongoDB) for MongoDB) Winston Winston (multi-transport async logging) (multi-transport async logging) node-mongodb-native node-mongodb-native Kostas Karolemeas
  • 7. 3rd GreeceJS Meetup DEPLOYING NODE.JS FREE Blitz Blitz Release Release Management Management Dynos Dynos Logging Logging Redis To Go Redis To Go Kostas Karolemeas
  • 8. 3rd GreeceJS Meetup NODE.JS TOOLS • npm - package/dependency manager • Mocha - test framework • • Alternative Reporters for results • • Alternative DSL (interfaces) for describing tests Runs either from a shell or in a browser WebStorm - Javascript IDE • Integrated Node.js launcher / debugger • Excellent javascript editor • Very good integration with task management and version control tools Kostas Karolemeas
  • 9. 3rd GreeceJS Meetup WHAT’S NEXT? • Give it a spin! • Install Node.JS and NPM • Install WebStorm • Install Git • Create an account in Heroku and install tools • Follow Heroku instructions to create a Node.js application • • Use heroku-buildpack-nodejs to install latest Node.js Install Heroku add-ons: MongoLab, Redis To Go, Logging, Release Management Kostas Karolemeas
  • 10. 3rd GreeceJS Meetup THANK YOU! Kostas Karolemeas