JavaScript-дежавю






Разработчики, знакомые с реализацией объектно-ориентированного подхода в языках вроде PHP или Java, часто испытывают трудности, пытаясь постичь концепции прототипного наследования, используемого в JavaScript. Этот факт вдохновил разработчиков из Indigo United создать dejavu — JavaScript-библиотеку, реализующую концепции традиционного ООП-наследования в рамках парадигмы прототипного.

dejavu


Dejavu предлагает разработчикам классы (обычные, абстрактные и final классы), интерфейсы, примеси (mixins), открытые (public), закрытые (private) и статические свойства, context bindings для функций, проверку сигнатур методов и многое другое.

Чтобы наглядно увидеть о чём идёт речь, взгляните на объявление класса в dejavu:

Библиотека поставляется в двух вариантах: обычном и AMD. Последний вариант позволяет ускорить процесс разработки за счёт исключения необходимости перекомпиляции вбсего кода каждый раз. каждый из вариантов может работать в двух режимах: strict и loose. В первом режиме производится больше разнообразных проверок, что может быть полезно при разработке, в то время как второй больше предназначен для продакшн-работы и за счёт уменьшения количества проверок позволяет увеличить производительность.

Система компиляции включает в себя оптимизатор, позволяющий получить на выходе более производительный код, а также имеющий режимы, оптимизирующие выходной код для node.js и V8.

Библиотеку можно получить на GitHub и там же ознакомиться с документацией и примерами использования.