Node.js Conference

Node.js è un framework event-driven I/O per il motore JavaScript V8. Si tratta di un framework relativo all’utilizzo server-side di Javascript per realizzare applicativi scalabili e real-time. È simile come funzionalità a Twisted in Python, Perl Object Environment in Perl o a EventMachine in Ruby.

Node.js è in questo momento una delle tecnologie più discusse in rete: sicuramente  avrà un ruolo fondamentale nei prossimi anni nello sviluppo di applicativi web, data la continua e pressante richiesta di applicativi real-time e scalabili; inoltre il linguaggio utilizzato è JavaScript, ampiamente utilizzato e conosciuto dagli sviluppatori web.

Tutto ciò suona molto “cool”, ma cosa possiamo realizzare utilizzando questa tecnologia? In che modo? In quali ambiti? Per rispondere a queste domande abbiamo deciso di organizzare questa conferenza.


Il programma

Riportiamo di seguito il programma della giornata:

  • Registrazione

  • Keynote — Gabriele Lana (Clean Code)

    Is not supposed to fly… but it does! (ITA)

  • 1° Talk — Golo Roden

    Event-based architecture is here to stay, baby!

    In the beginning, JavaScript was not meant for building highly-scalable large web applications. Today, it is. Unfortunately, the language JavaScript itself did not evolve at the same speed as its field of application: In contrast to other platforms such as .NET or Java component-oriented development is still hard in JavaScript. In consequence of that, one of the most challenging tasks in today’s JavaScript programming is to create an efficient, sustainable and maintainable architecture. But dawn is near: Golo Roden presents event-based components (EBCs) as a new style for creating applications, which are perfectly testable (without mocking!), evolvable (separation of concerns and open-closed principle FTW!) and make you feel like playing with LEGO bricks instead of software components (sic!). And as icing on the cake: You do not need any additional freaky libraries or frameworks – plain old Node.js and a little bit of CoffeeScript is enough :-)!
  • Pausa

  • 2° Talk — Andy Kent & Ryan Greenhall (Forward)

    Scaling node to 50,000,000 requests per day

    We will being by introducing a click tracking web application written in ruby running on EC2 along with a critic of it’s weaknesses: queue based scaling, process based scale out, erratic latencies at high volume.Focus will shift to re-architecting the discussed system to make use of Node.js: async disc access allowed removal of queues, lower latencies, reduced process overhead.

    After discussing the current architecture we will explore some of the applications code and tooling in more depth. We intend to discuss: Capistrano for deployment, upstart for process management, EC2 for scaling, Jasmine for testing, migration from JS to CoffeeScript.

    We will finish by showcasing a few of the other interesting node.js use cases throughout the Forward company: ScreenManager, a remote control for external displays; Dashboards for health monitoring; Creek, a realtime stream processing.

  • 3° Talk — Sergi Mansilla (Ajax.org/Cloud9IDE)

    Developing Cloud9 in Cloud9

    Cloud9 is entirely built on Node.js and can be used to debug and develop other Node.js applications. This fun recursive fact we used to very quickly use the tool we built to refine and develop the tool we are building. The opensource version of Cloud9 can be pulled from Github and the app is served from a single Node.js process. Built on Socket.IO and Connect for the server, Cloud9 has a full WebDAV implementation in Node.js, and can start other Node.js processes and connect to its debugport to control the application. In this talk, Rik will go through the overall architecture of Cloud9, touching on many design choices made for writing the system in Node.js, dealing with Asynchronous code, and what scaling characteristics that came up.
  • Pausa pranzo

  • 4° Talk — Oleg Podsechin

    Server side JavaScript: going all the way

    Node has captured the attention of early adopters by clearly differentiating itself as being asynchronous from the ground up while remaining accessible. Now that server side JavaScript is at the cutting edge of the asynchronous, real time web, it is in a much better position to establish itself as the go to language for also making synchronous, CRUD webapps and gain a stronger foothold on the server.It’s talk will cover the current state of server side JavaScript beyond Node. It will introduce Common Node, a synchronous CommonJS compatibility layer using node-fibers which bridges the gap between the different platforms. We’ll look into Common Node’s internals, compare its performance to that of other implementations such as RingoJS and go through some ideal use cases.

    In conclusion, we will try to identify the areas where server side JavaScript could really shine, including API mashups, collaborative development and crowd sourced functionality.

  • Workshop (Full afternoon) — Gabriele Lana

    Nodejs: from an empty repo to a deployed application (ITA)

  • 5° Talk — Arnout Kazemier (Socket.io)

    Going real time with Socket.IO

    WebSockets where introduced to bring real time to web, but it’s already turning in to a disaster, different browsers use different drafts of the specification, some vendors turn support of completely. It will take at least another 10+ years before all browser support it. Socket.IO is a edge cutting open source framework from LearnBoost that allows you to easily deploy a real time application with the minimal amount of code and maximal compatibility. Socket.IO aims to provide real time capabilities to all browsers and mobile devices.
  • Pausa

  • 6° Talk — Ian Jorgensen (PubSub.io)

    Back to data

    End the channel tyranny. Pubsub.io is an attempt to change the way we publish and consume live data. Our take on pubsub is that the usual channel paradigm is too tightly coupled; instead of forcing things into string-based channels,pubsub.io lets you describe what you’re looking for. It will change the way we build real-time applications.
  • 7° Talk — Daniel Austin (Yahoo)

    Building a High-performance Network server in Node

    Scratch is an experimental Web protocol based on JSON and UDP that provides high-performance and semantic awareness. Scratch is currently being ported to a pure Javascript platform using Node. This talk will focus on our work developing a high-throughput Network server using Node JS – and how we are making it scale for very large traffic volumes.
  • Chiusura

Donatori e partner

Non sarebbe stato possibile organizzare questa conferenza senza il contributo concreto dei donatori e senza il prezioso aiuto dei partner che hanno deciso di darci una mano. Il nostro ringraziamento va a tutti loro.

  • Gold contributor

    Logo Nodejitsu
  • Silver contributor

    Logo Wave Group
    Logo Forward
    Logo Business Create
  • Bronze contributor

    Logo Pusher
    Logo Cloud9
    Logo Incode
    Logo Basilico
  • Media partner

    Logo Indigeni Digitali
    Logo Spreaker
    Logo Grusp