Awesome
Упрощённый JavaScript-жаргон (англ. Simplified JavaScript Jargon, сокр. SJSJ) — это курируемая сообществом попытка объяснить простыми словами множество сложных терминов, используемых в текущей экосистеме JavaScript. Идея заключается не в замене документации, а в создании своеобразного словаря, на который можно легко ссылаться.
Этот репозиторий — перевод оригинального словаря. Если вы хотите принять участие в переводе, не стесняйтесь сделать пулл-реквест. Спасибо!
Связанные проекты
- Инструмент для чтения SJSJ в командной строке;
- Расширение для Chrome от ismnoiet;
- Скрипт для экспорта всех терминов в JSON.
Словарь
A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z · Паттерны проектирования
A
- AJAX (ая́кс, от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML»): технология для совершения асинхронных HTTP-запросов.
- AMD (от англ. Asynchronous Module Definition — «асинхронное определение модуля»): стандарт, описывающий асинхронную загрузку JavaScript-библиотек или модулей.
- AngularJS: фреймворк для разработки динамических веб-приложений.
- Apache Cordova (formerly PhoneGap): a popular mobile application development framework originally created by Nitobi.
- Arity: the number of arguments of a function.
B
- Babel: инструментарий для трансформации JavaScript-кода, изначально был транспилером кода ECMAScript 2015 / ES6.
- Backbone: фреймворк для разработки динамических веб-приложений.
- Bluebird: полнофункциональная библиотека для работы с промисами с фокусом на современных возможностях и производительности.
- Bower: менеджер пакетов для фронтенд-зависимостей.
- Broccoli: быстрый и надёжный файлопровод (англ. asset pipeline).
- Browserify: инструмент, делающий возможным использование в браузере функции
require
из Node.js. - Brunch: инструмент для производства готовых к деплою файлов из исходного кода проекта.
C
- Canvas: HTML-элемент для создания двумерных и трёхмерных графических приложений.
- Chai: assertion-библиотека, обычно используемая вместе с фреймворками для тестирования.
- Closure (рус. замыкание): функция, вложенная в другие функции и имеющая доступ к переменным из внешних функций; при этом все её внутренние переменные скрыты для внешних функций.
- CoffeeScript: метаязык, компилируемый в JavaScript.
- CommonJS: a project with the goal of specifying an ecosystem for JavaScript outside the browser (for example, on the server or for native desktop applications).
- CORS (от англ. Cross-origin resource sharing — «кроссдоменной обмен ресурсами»): технология, позволяющая предоставлять веб-странице доступ к ресурсам другого домена.
- CouchDB: NoSQL база данных, использующая JavaScript как язык запросов и HTTP как API.
- Currying (рус. каррирование, карринг): процесс преобразования функции с несколькими аргументами в цепочку функций с одним аргументом.
D
- D3.js: библиотека для обработки и визуализации данных.
- Design Patterns: a general reusable solution to a commonly occurring problem within a given context in software design.
- DOM (от англ. Document Object Model — «объектная модель документа»): не зависящий от платформы и языка программирования интерфейс, который позволяет программам и скриптам динамически получать доступ к документу и обновлять его содержимое, структуру и стили.
E
- ECMAScript: стандартизованная спецификация скриптового языка, используемая в JavaScript.
- Ember: an application framework based on the model-view-controller pattern.
- ESLint: анализатор JavaScript-кода.
- Express: быстрый минималистичный фреймворк для разработки веб-приложений на Node.js.
- Ext JS: a pure JavaScript application framework for building interactive cross platform web applications.
F
- Falcor: a JavaScript library for efficient data fetching.
- Flux: структура приложения с фокусом на улучшенном потоке данных.
- Four: a framework to develop 3D content for the web.
G
- Grunt: таск-менеджер, автоматизирующий рутинные и, возможно, сложные действия.
- Gulp: таск-менеджер, автоматизирующий рутинные и, возможно, сложные действия.
H
- Hapi: a Node.js framework for writing services and more.
- Hoisting (рус. поднятие): поднятие JavaScript-интерпретатором объявлений функций и переменных в верх их области видимости.
I
- IIFE (от англ. Immediately-Invoked Function Expression — «немедленно вызываемая функция»): функция, вызываемая сразу же после своего описания.
- Isomorphic (рус. изоморфный): приложение, которое может выполняться как на сервере, так и на клиенте.
J
- Jasmine: a testing framework for BDD (Behaviour-Driven Development).
- jQuery: библиотека для работы с DOM и AJAX.
- jQuery UI: официальная библиотека jQuery для создания пользовательских интерфейсов.
- JSCS: a JavaScript code linter.
- JSHint: a JavaScript code linter.
- JSLint: a JavaScript code linter.
- JSON (от англ. JavaScript Object Notation — «объектное представление Javascript»): легковесный формат обмена данными.
- JSONP (англ. JSON Padding — «JSON с подкладкой»): to be completed.
- JSON-LD (англ. JSON for Linked Data — «JSON для связанных данных»): to be completed.
- JSX: расширение языка для использования XML-подобного синтаксиса в JavaScript.
K
- Knockout: a library that helps developers creating user interfaces with a clean underlying data model.
L
- LocalForage: a fast and simple storage library for JavaScript.
- LoDash: библиотека, предоставляющая набор утилит для работы с объектами, массивами и функциями.
M
- Memoize: an optimization used to speed up consecutive function calls by caching the result of calls with identical input.
- Meteor: JavaScript веб-фреймворк позволяющий вести быструю прототипную веб-разработку.
- Mocha (рус. мо́ка): расширяемый BDD/TDD фреймворк для тестирования
- Modernizr: a browser feature detection library, useful to modify page styles when a feature is not available in the browser.
- Moment.js: библиотека для работы с датами и временем в JavaScript.
- MongoDB: документо-ориентированная база данных NoSQL, использующая JavaScript как язык запросов.
- Mootools: a collection of JavaScript utilities designed for the intermediate to advanced JavaScript developer. It allows you to write powerful and flexible code with its elegant, well documented, and coherent APIs.
- Metalsmith: простой модульный генератор статических сайтов.
- MEAN: технологический стек (набор ПО), используемый преимущественно для разработки веб-сервисов. Название образовано от первых букв инструментов, которые в него входят (MongoDB, Express.js, Angular.js, Node.js).
N
- Nightmare: a high-level browser automation library.
- NightwatchJS: a framework for browser automated testing.
- Node.js: кросcплатформенная среда выполнения на движке V8, предназначенная для разработки серверных приложений.
- npm (от англ. node.js package manager — «менеджер пакетов Node.js»): инструмент для публикации и установки пакетов через npm-репозитории.
- nvm (от англ. node.js version manager — «менеджер версий Node.js»): инструмент для запуска разных версий Node.js на одном и том же компьютере.
P
- Partial Application: to be completed.
- PhantomJS: a scripted, headless browser used for automating web page interaction.
- Polymer: библиотека от Google для создания веб-компонентов.
- Promise: специальный объект для работы с результатами выполнения асинхронного кода, получаемыми в неизвестный момент времени.
- Prototype (ООП): to be completed.
- Prototype.js: a JavaScript framework that aims to ease development of dynamic web applications. It offers a familiar class-style OO framework, extensive Ajax support, higher-order programming constructs, and easy DOM manipulation.
Q
- QUnit: a powerful, easy-to-use JavaScript unit testing framework.
- Q: библиотека для работы с промисами.
R
- Ramda: a practical functional library for Javascript programmers.
- React: библиотека для создания пользовательских интерфейсов, разработанная и используемая в Facebook.
- Redux: a predictable state container for apps.
- RxJS: a library for asynchronous programming using observable streams.
- Require.js: a browser based module loader using AMD.
S
- Sails: Node.js MVC-фреймворк для создания приложений, работающих в режиме реального времени.
T
- Three.js: небольшая библиотека для создания и отображения анимированой 3D-графики в браузере.
- TypeScript: надмножество языка JavaScript, добавляющее поддержку использования классов, статического назначения типов.
U
- UMD (от англ. Universal Module Definition): паттерн универсального объявления модулей для JavaScript.
- Underscore: библиотека, предоставляющая набор утилит для работы с объектами, массивами и функциями.
- Universal (рус. универсальный): приложение, которое может выполняться как на сервере, так и на клиенте.
V
- V8: движок JavaScript с открытым исходным кодом, разрабатываемый Google. Это тот движок, который работает в Chrome, но он также используется для других проектов вроде Node.js и MongoDB.
- Vanilla: название для чистого JavaScript, без использования библиотек/фреймворков.
- Virtual DOM (рус. виртуальная DOM): копия DOM, с которой разработчик производит необходимые ему манипуляции. Хранится в оперативной памяти, за счёт чего манипуляции производятся быстрее, чем при прямом обращении к DOM.
- VueJS: библиотека для разработки интерфейсов, основанная на моделях данных.
W
- WebGL (от англ. Web Graphics Library — «графическая библиотека для Web»): JavaScript API для отрисовки интерактивной 3D и 2D графики, работающий в современных браузерах.
- Webpack: менеджер зависимостей с дружественным и быстрым окружением для разработки, упрощающий множество распространённых задач.
X
- XML (от англ. eXtensible Markup Language — «расширяемый язык разметки»): to be completed.
- XMLHttpRequest: API, который предоставляет возможность обмениваться данными между клиентом и сервером.
Y
- Yeoman: инструмент для автоматизации генерации шаблонных частей проекта.
Z
- Zepto: легковесный клон jQuery, не содержащий дополнительного кода для обеспечения браузерной совместимости.
###<a name="patterns"/> Паттерны проектирования
- [Adapter Pattern](/glossary/ADAPTER_PATTERN.md "Паттерн "Адаптер""): to be completed.
- [Builder Pattern](/glossary/BUILDER_PATTERN.md "Паттерн "Строитель""): to be completed.
- [Command Pattern](/glossary/COMMAND_PATTERN.md "Паттерн "Команда""): to be completed.
- [Composite Pattern](/glossary/COMPOSITE_PATTERN.md "Паттерн "Компоновщик""): to be completed.
- [Constructor Pattern](/glossary/CONSTRUCTOR_PATTERN.md "Паттерн "Конструктор""): to be completed.
- [Decorator Pattern](/glossary/DECORATOR_PATTERN.md "Паттерн "Декоратор""): to be completed.
- [Facade Pattern](/glossary/FACADE_PATTERN.md "Паттерн "Фасад""): a software design pattern commonly used with object-oriented programming. The name is by analogy to an architectural facade.
- [Factory Pattern](/glossary/FACTORY_PATTERN.md "Паттерн "Фабрика""): a creational pattern that uses factory methods to deal with the problem of creating objects without having to specify the exact class of the object that will be created.
- [Flyweight Pattern](/glossary/FLYWEIGHT_PATTERN.md "Паттерн "Приспособленец""): to be completed.
- [Iterator Pattern](/glossary/ITERATOR_PATTERN.md "Паттерн "Итератор""): to be completed.
- [Lazy Initialization Pattern](/glossary/LAZY_INITIALIZATION_PATTERN.md "Паттерн "Ленивая инициализация""): to be completed.
- [Mediator Pattern](/glossary/MEDIATOR_PATTERN.md "Паттерн "Медиатор", он же "Приспособленец""): an object that encapsulates how a set of objects interact.
- [Mixin Pattern](/glossary/MIXIN_PATTERN.md "Паттерн "Примесь""): to be completed.
- [Module Pattern](/glossary/MODULE_PATTERN.md "Паттерн "Модуль""): a design pattern used to implement the concept of software modules, defined by modular programming, in a programming language with incomplete direct support for the concept.
- [Observer Pattern](/glossary/OBSERVER_PATTERN.md "Паттерн "Наблюдатель""): a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.
- [Prototype Pattern](/glossary/PROTOTYPE_PATTERN.md "Паттерн "Прототип""): a creational design pattern in software development. It is used when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects.
- [Proxy Pattern](/glossary/PROXY_PATTERN.md "Паттерн "Прокси""): to be completed.
- [Revealing Module Pattern](/glossary/REVEALING_MODULE_PATTERN.md "Паттерн "Открытый модуль""): a design pattern conceptually based on the Module Pattern. The only difference is that the revealing module pattern was engineered as a way to ensure that all methods and variables are kept private until they are explicitly exposed.
- [Revealing Prototype Pattern](/glossary/REVEALING_PROTOTYPE_PATTERN.md "Паттерн "Открытый прототип""): to be completed.
- [Singleton Pattern](/glossary/SINGLETON_PATTERN.md "Паттерн "Синглтон", он же "Одиночка""): a design pattern that restricts the instantiation of a class to one object.
##<a name="exportjson"/> Экспорт терминов в JSON
Этот репозиторий содержит небольшой Node.js-скрипт, экспортирующий все термины в JSON. Для использования скрипта клонируйте репозиторий и выполните следующие команды:
npm install
npm run export -- data.json