The Web has somewhat reached that level of capability and becomes richer and faster as it continues to evolve. Advances in browser technology (such as HTML, CSS3, and WebGL) hint at unprecedented levels of interface sophistication, while applications like Twitter provide a glimpse of the promise of real-time web applications. Still, implementing real-time web apps has been neither quick nor easy because conventional web development is hampered by the inelegance and scaling issues of established web frameworks.
The Node project takes a fresh approach to web application development, eliminating traditional barriers to speed and simplicity. Node focuses on asynchronous, also called event-driven, programming: a paradigm in which a developer describes how a web application should respond to specific events rather than describing application logic sequentially.
Node, programmed using JavaScript, leverages a number of existing open-source projects to make event- driven programming happen: most importantly, Marc Lehmann’s libev and libeio C libraries and Google’s V8 JavaScript engine, the latter created primarily to provide a fast JavaScript engine for Google’s Chrome browser but open-sourced for other projects as well. While the libev and libeio C libraries handle the intricacies of event-driven networking and input/output, V8, unlike other traditional JavaScript engines, compiles, rather than interprets, on the fly, without causing noticeable delays for users. This technique is referred to as Just in Time (JIT) compilation and is time tested, having been used by the Java and Smalltalk programming languages. At V8’s core is a virtual machine: an emulated abstraction of a computer that can be programmed the same regardless of what hardware it’s running on.
Node gained traction in the developer community in late 2009 when well-known Python programmer Simon Willison recognized its potential and became an evangelist. From that point, interest grew rapidly and the Node community began to take shape. Node’s community is now thriving and is well regarded for its friendly guidance of newcomers and collaboration and innovation: once a development need has been identified, the community generally self-organizes to take care of it.
No comments:
Post a Comment