Co je to node.js? Podle některých se jedná o jednu z nejzásadnějších
server-side technologií v oblasti vývoje pro web, které za poslední dobu
vznikly. Node.js je událost roku, další velká věc. Mysleli jste si, že
Ruby on Rails je ten nejmódnější a nejvíc vyhypovaný web framework? Tak
na to zapomňte. Nejnovější móda je teď node.js. A co že je na node.js tak zásadního? Tak zaprvé určitě vzbuzuje pozornost tím, že je poměrně těžké vůbec pochopit, co to vlastně je. Oficiální popis zní následovně: "Event-driven I/O framework for the V8 JavaScript engine". Jedná se tedy o knihovnu, která rozšiřuje JavaScript o vstupně-výstupní operace (kromě jiného práce se sítí a s filesystémem), a která v sobě obsahuje moduly pro nejběžnější typy serverů (např. HTTP). Proč něco takového potřebujeme? Proč se někdo namáhá psát HTTP server v JavaScriptu, když už tolik rychlých serverů napsaných v C? Na node.js je právě zajímavé to, že za určitých podmínek dokáže být rychlejší, než Apache, nginx, nebo cokoliv jiného. Trik spočívá ve způsobu práce. Node.js je založený na událostech a zpětných voláních, a jednotlivé požadavky se proto navzájem neblokují. Pro obsloužení požadavku není nutné vytvářet nový proces, dokonce ani nové vlákno. Tato vlastnost spojená s výjimečnou rychlostí JavaScript enginu V8 způsobuje, že node.js je schopen obsloužit velké množství požadavků současně s minimální spotřebou paměti a zatížením procesoru. Psát aplikace pro node.js samozřejmě znamená poměrně zásadně změnit svoje stávající návyky, změnit způsob myšlení. Proto se o něj v této chvíli tolik lidí zajímá - aby zjistili, jestli ta změna myšlení stojí za to. Honza studuje na Unicorn College, a již několikrát prokázal svoji schopnost neuvěřitelně rychle pronikat do nových technologií. O node.js se zajímá již více než rok, a na této přednášce se s námi podělí o výsledky svého výzkumu včetně praktických zkušeností. Po akci bude následovat tradiční neformální posezení V Kapslovně. Doporučená konverzační témata jsou rychlost webových serverů, problémy paralelního zpracování, a jestli JavaScript nahradí Flash :) |