Politik

En ny snackis i IT-världen: Node.js, dynamiskt JavaScript på Google V8 på servern!

Ryan Dahl introducerar Node.js

Datorspråken och programmeringsverktygen blir allt mer lättanvändliga, dynamiska och flexibla.

Heroku, Ruby för datormolnen, som jag har skrivit om här, har på kort tid tagit IT-världen med storm och satt en ny ribba för alla nya utvecklingsverktyg som är svår att klara.

Ett av de datorspråk som har stöd i Heroku är ett litet udda språk som plötsligt har kommit i ropen och som heter Node.js.

Node.js är byggt ovanpå Googles V8 JavaScript Engine som finns i Google Chrome, och som f.ö. är skriven i C++.

Dansken Lars Bak förklarar Google V8 på videon ovan.

Node.js är en händelsestyrd I / O – server-side JavaScript-miljö baserad på Googles V8-motor. Den är avsedd för att göra det enkelt att skriva skalbara nätverksprogram som webbservrar i en synnerligen dynamisk miljö

Node, som den kallas i folkmun, skapades av Ryan Dahl så sent som 2009, och sponsras av San Franciscoföretaget Joyent, där Dahl jobbar.

Liknande dynamiska miljöer finns redan i andra programmeringsspråk som Twisted för Python och EventMachine för Ruby. Det som utmärker Node är att den till skillnad från de flesta andra JavaScript-implementationer inte körs i en webbläsare, utan är istället på servern!

Och så här enkelt är det att skriva en TCP program i Node:

Here is an example of a simple TCP server which listens on port 1337 and echoes whatever you send it:

var net = require(‘net’);

var server = net.createServer(function (socket) {
socket.write(“Echo server\r\n”);
socket.pipe(socket);
});

server.listen(1337, “127.0.0.1”);

Jolie O’Dell skriver om Node på Mashable

In traditional languages and frameworks, the communication inside the app between the web server and the database is the most time-intensive part of the transaction. Node makes a much smaller footprint on your web server. It allocates web server resources on an as-needed basis, not pre-allocating a large chunk of resources for each user. For example, Apache might assign 8MB to a user, while Node assigns 8KB.

“The way that Node is more efficient on servers is by not allocating resources to things while it waits,” says Hughes-Croucher.

“Say you have to talk to the database, and that’s going to take 50ms to respond. Instead of assigning all of the processing resources for that 50ms wait, it just uses a placeholder. When the database responds, then it allocates the resources needed to process. That means it’s totally possible to do a lot more requests at once, because you only allocate the server resources when you need to use them, not while you are waiting on databases.”

Node är ett exempel på hur snabbt dataspråk och utvecklingsmiljöer utvecklas just nu här i Silicon Valley, och mycket handlar om utvecklingen av verktyg för de gigantiska datormolnen, som utgör stommen för framtidens globaliserade infrastruktur.

Ni kan kika i boken på den här länken:

Den som sysslar med att utveckla datormolntjänster bör redan vara välbekant med Heroku, och bör nu alltså också stifta bekantskap med Node.js.

Axplock från den nordiska pressen:

SvD – Senaste nytt,SvD – Senaste nytt, News, digi.no, ITavisen.no, ITavisen.no

[tags] Node.js, Lars Bak, Twisted Python, EventMachine Ruby, Google V8, JavaScript, Heroku, Ryan Dahl, Serverside JavaScript[/tags]