Page 1
During the last year or so, a new technology, a new infrastructure is becoming more and more popular...
developers are very excited about it
... and big companies like Microsoft, Yahoo!, Facebook, etc. are also investing heavily on
Thursday, February 2, 2012
Page 2
Thursday, February 2, 2012
Page 3
YUI
Caridy PatinoYahoo!
[email protected] @caridy
Node.JS & HTML5
The future of web development
Part of my role is to evaluate new technologies, and see if they can fit into our stack.
I had the opportunity to evaluate and use Node.JS for the last year or so...
.. and in every presentations I do, people is always desperate to know: What is node.js?
Thursday, February 2, 2012
Page 4
What is Node.JS ?
I don’t want to focus on the WHAT!
Thursday, February 2, 2012
Page 5
What is Node.JS ?
Let’s better focus on the why and how!
Thursday, February 2, 2012
Page 6
Node.JS is a program that can do anything Apache can do,
and much more...
To give you just a little bit of context, for those who haven’t hear about node, let’s just say that ...
... and much more faster ...
Thursday, February 2, 2012
Page 7
Why Node.JS ?
Why are some many developers excited about it?
Why you should pay attention to it?
Thursday, February 2, 2012
Page 8
https://github.com/popular/watched
In the context of HTML5, we can see some very interesting trends.
Thursday, February 2, 2012
Page 9
https://github.com/popular/watched
... and Node.JS is at the top of that chart as well.
That’s an interesting metric.
Are they related somehow?
Thursday, February 2, 2012
Page 10
... but, why ?
but of course, that doesn’t explains why it is so popular these days.
The way I see it, the real reason behind this popularity is ...
Thursday, February 2, 2012
Page 11
... because it is JavaScript !
... javascript is the driving force behind Node.JS
Thursday, February 2, 2012
Page 12
https://github.com/languages
Javascript is, by far, the most used languages now days...
Questions for the audience?
Thursday, February 2, 2012
Page 13
How does this helps at the server side ?
but if Javascript is the language we use at the browser ....
I want to explain this through an example...
Thursday, February 2, 2012
Page 14
Thursday, February 2, 2012
Page 15
Nice code !!!
... but, what you can tell me about this piece of code?
Where is this code meant to be executed? Can you tell? No, you
can’t.
Thursday, February 2, 2012
Page 16
Is this SSJS ?
Well, it is just Javascript...
It doesn’t matter where it runs if we have a runtime for it...
Thursday, February 2, 2012
Page 17
Creating code that can run in different envs is not new...
... but crossing the bridge between the server and the client is definitely new
Thursday, February 2, 2012
Page 18
Why does this matters ?
Why is this important?
and for whom?
Thursday, February 2, 2012
Page 19
It matters a lot, especially for developers.
... the twitter example ...
- context switch for devs is bad for business
- progressive enhancement and graceful degradation are now possible...
Thursday, February 2, 2012
Page 20
Javascript everywhere...
Let’s talk more about the benefits of using the same language everywhere...
... there is a new vector that can affect our products drastically: variable connection speed (past vs future)
How to personalize the way our product runs:- per user- per request- per connection speed
... example of the kind of product we want to build...
Thursday, February 2, 2012
Page 21
http://www.olympum.com/architecture/the-nodejs-innovation-advantage/
This is a diagram from Bruno, our chief architect
some people might agree, some might not, but I can identify myself with this diagram... and my team
Thursday, February 2, 2012
Page 22
Thursday, February 2, 2012
Page 23
Thursday, February 2, 2012
Page 24
Y! Livestand was built on top of the cocktails infrastructure ...
it is the first of a series of products we plan to deliver this year
Thursday, February 2, 2012
Page 25
MojitoJavascript Application Framework
Mojito is an app framework for web developers
Mojito is an important part of this new infrastructure
... and it will be open sourced in few weeks.
Thursday, February 2, 2012
Page 26
Module vs Widget
Mojito is trying to change that
There are many MVC application frameworks out there...
- Backbone.JS- Symphony... they all have the same problem...
Thursday, February 2, 2012
Page 27
Having multiple Javascript runtimes is what you can do... because JS is everywhere...
Examples:
- Y! connected TV - Netflix
Thursday, February 2, 2012
Page 28
Node.JS Performance
Since Node.JS is a new technology, many people are concern about performance, stability, etc...
Imagine yourself talking to your boss about a new technology....
... the story about SD Perf ...
Thursday, February 2, 2012
Page 29
we did a different kind of pitch...
Thursday, February 2, 2012
Page 30
comparing an actual production quality component... apple-to-apple
Thursday, February 2, 2012
Page 31
... and the result was...
Thursday, February 2, 2012
Page 32
Thursday, February 2, 2012
Page 33
Is that even possible?
How? how does it do it?
Thursday, February 2, 2012
Page 34
Because it is a different approach to the same problem...it is a high-performance, single-thread, non-blocking infrastructure
Thursday, February 2, 2012
Page 35
... old school
Thursday, February 2, 2012
Page 36
{
... new school
Thursday, February 2, 2012
Page 37
Node.JS is certainly changing the way we approach problems, and the way we
solve problems for the web !
All I can say is that ...
... at least it is happening to me and my team, and I hope it will help you to create amazing new products!
Thursday, February 2, 2012
Page 38
Thank you! @caridy
Give it a try... and a tweet...
Thursday, February 2, 2012