__|__
-------O-------
o´ `o
JavaScript Development Stack 2011
Monday, 9 May 2011
Getting my head around the JavaScript web development stack in 2011.
Language
- JavaScript – Lightweight, object-oriented language, most known as the scripting language for web pages, but used in many non-browser environments as well.
- JSON (JavaScript Object Notation) – Lightweight data-interchange format that is easy for humans to read and write and for machines to parse and generate.
- CoffeeScript – Programming language with pretty syntax that compiles into JavaScript.
Client Side
- jQuery – Fast, concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.
- Head JS – Speed up JavaScript loading.
Server Side
- V8 JavaScript – Google’s open source JavaScript engine. Fast.
- Node.js – Evented I/O for V8 JavaScript (Asynchronous JavaScript web server on the server). Here’s the best description I’ve found so far, which includes a presentation with bunnies, hamsters and a hyperactive squid.
- djangode – Utilities functions for node.js that borrow some useful concepts from Django.
- ExpressJS – High performance, high class web development for Node.js.
A tutorial, and a comparison with Django:
If you are familiar with Django you may feel like at home. One that is still under construction, full of workers wondering if there should be 3 or 4 windows, leaking in the rain and with no furniture at all, but home
…
Once it will be packaged and documented it can easily take over significant part of Django userbase. There is a chance that growing usage of js on the server side will bring much needed development to this language.
And the final word to web developer extraordinaire Simon Willison:
I don’t see myself switching all of my server-side development over to JavaScript, but Node has definitely earned a place in my toolbox. It shouldn’t be at all hard to mix Node in to an existing server-side environment—either by running both behind a single HTTP proxy (being event-based itself, nginx would be an obvious fit) or by putting Node applications on a separate subdomain. Node is a tempting option for anything involving comet, file uploads or even just mashing together potentially slow loading web APIs. Expect to hear a lot more about it in the future.
__|__
-------O-------
o´ `o