Over a million developers have joined DZone.

dejavu - A High-Performance OOP Library For JavaScript, With Node.js Support

DZone 's Guide to

dejavu - A High-Performance OOP Library For JavaScript, With Node.js Support

· Performance Zone ·
Free Resource

dejavu is a high-performance object-oriented programming library for JavaScript, which can be used with Node.js.  If you come from other object-oriented programming languages, you might find that JavaScript take on OOP is a bit  different from the classical one.

JavaScript uses prototypal inheritance, which can be daunting for newcomers to the language. dejavu attempts to solve this problem by providing a JavaScript library which implements classical OOP in JavaScript. There are lots of other JavaScript libraries which provide the same functionality as dejavu. Some of the similar, already featured libraries on Functionn, which you might be interested in are:

However, compared to those other OOP libraries, dejavu aims to be a high-performance OOP JavaScript library. Compared to the other OOP libraries for JavaScript, dejavu rivals most of them, even vanilla JavaScript. The benchmarks speak for themselves.

dejavu also comes with an optimizer which attempts to make your code written with dejavu lighter and faster. To use the optimizer,  you will need to install Node.js. dejavu also comes in two versions: as a normal JavaScript library or as an AMD module.

The AMD module version of dejavu allows you to seamlessly use dejavu with your script loaders such as require.js. Finally, dejavu depends on the utility-belt JavaScript library we featured sometime back on Functionn called Mout. You can find more about mount here: Mout - A Modular Utility-Belt JavaScript Library For The Browser & Node. js.

Browser Support

  • IE (6+)
  • Chrome (4+)
  • Safari (3+)
  • Firefox (3.6+)
  • Opera (9+)

Requirements: None
Demo:http:/ / indigounited. com/ dejavu/
License: MIT License


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}