http://winnipegjs.com For questions tweet @winnpegjs Michael Yagudaev - @yagudaev Peter Braun

fallsnowpeasInternet and Web Development

Nov 12, 2013 (3 years and 8 months ago)

102 views

http://
winnipegjs.com

For questions tweet @
winnpegjs

Michael Yagudaev
-

@
yagudaev

Peter Braun

Introductions


Introduce yourself


Your name


What you do for a living?


How does
Javascript

fit into your life?


What do you expect to get from this group?

Sponsor

About This Group


Javascript

user group


Purpose:

teach, learn, explore and build
a strong community around
javascript


Goal is to help each other improve by
making the right connections.


Monthly
meetups

Format of Meetings


Introduction


Main Talk


Questions during presentation


Twitter questions. Tweet @
winnipegjs


Demo(s)


things you (yes as in you) are
working on that are related to JS

Presentation

Outline

1.
Intro to
Node.js

(Michael Yagudaev)

1.
Why Node

2.
When to Use it and when not to


2. Intro to
Express.js

(Peter Braun)

Intro to
Node.js


Node.js

is a set of networking libraries
for
Javascript
.


Built on top of V8


Google’s Virtual
Machine for
Javascript
.


Introduced by Ryan Dhal in 2009


Current version is 0.89


Uses an
async

non
-
blocking event
driven model

Why is it so epic?


Built for highly scalable systems


Good for I/O bound applications


Allows for concurrent programming
without the use of threads (threads ===
evil)


Makes developing soft real
-
time
applications easy


Can take advantage of multiple cores by
using the
cluster

module

Why is it so epic? (continued)


Share code between client and server

When should I use Node?


Soft
-
real time applications


JSON APIs and
NoSQL

DBs


Socket.IO


Single
-
page application


Mobile App Backend


Great for handling large loads and real
-
time
updating


Unix command
-
line tools


Streaming Data

When NOT to use it?


CPU bound/intensive applications


But can easily write a C module (similar to
Python)


Simple CRUD applications


Rails or
Django

are a better choice (for now)


SSL Services


Poor performance from Crypto library being
looked at 0.9.x

Tool Chain


Npm



Node Package Manager, similar to
gems in ruby, lets you download additional
libraries for node.


NVM


Node Version Manager, similar to
Ruby’s RVM. Helps manage versions of
node.


node(1)


interactive command
-
line REPL


Text
-
editor (Sublime)


for writing code


IDE (
WebStorm
)


for heavy lift debugging

Demo/Coding


Intro to
Express.js


Peter
Bruan


Works at DMT


Mobile Web Application Development

Suggestions


What do you think we should do?


What would be a good way to stay in
touch even after
meetups
?


What topics would you like to see
covered?



Feel free to tweet us your suggestions
@
winnipegjs