Краткое описание

JavaScript - это это легкий, интерпретируемый, прототипно-ориентированный язык с динамической типизацией и функциями первого класса. Является реализацией стандарта языка ECMAScript. Наиболее широкое применение находит как язык сценариев веб-страниц, но также используется и как язык общего назначения (в том числе для разработки на стороне сервера) на базе программной платформы Node.js.

DOM (от англ. Document Object Model — «объектная модель документа») - это не зависящий от платформы и языка программный интерфейс (API), позволяющий программам и скриптам получить доступ к содержимому HTML-, XHTML- и XML-документов, а также изменять содержимое, структуру и оформление таких документов.

TypeScript - это типизированное надмножество языка JavaScript, которое компилируется в чистый JavaScript. Данный язык является разработкой компании Microsoft.

CoffeeScript - это язык программирования, транслируемый в JavaScript. Добавляет синтаксический сахар в духе Ruby, Python, Haskell и Erlang для того, чтобы улучшить читаемость кода и уменьшить его размер по сравнению с аналогичным кодом на JavaScript.

AJAX (от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML») - это подход к построению интерактивных пользовательских интерфейсов и получению/передаче данных в веб-приложениях, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее.

JSON (от англ. JavaScript Object Notation — «объектная нотация JavaScript») - это текстовый формат обмена данными, основанный на JavaScript. JSON является синтаксисом для сериализации объектов, массивов, чисел, строк логических значений и значения null. Он основывается на синтаксисе JavaScript, однако всё же отличается от него: не каждый код на JavaScript является JSON, и не каждый JSON является кодом на JavaScript.

Менеджер пакетов - набор программного обеспечения, позволяющего управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения. Менеджеры пакетов избавляют от необходимости ручной установки/обновления дополнительных библиотек, их конфигурирования и управления зависимостями между ними. В мире JavaScript-разработки чаще всего используются менеджеры пакетов npm, bower и yarn.

Статические анализаторы кода - программы для анализа исходного кода на соответствие определенным правилам без реального выпоолнения исследуемых программ. Применяются для нахождения синтаксических и стилистических ошибок кода в процессе написания и тестирования приложений. Для JavaScript-разработки применяются JSHint, JSLint, ESLint, JSCS, XO и другие.

Системы сборки - программные инструменты, позволяющие писать и запускать скрипты, которые автоматизируют процессы сборки и развертывания разрабатываемого решения. Обычно эти процессы включают такие задачи как компиляция, конкатенация (склеивание) файлов, минимизация/обфускация кода, проверка стиля и корректности написания кода, сборка кода из исходных файлов и размещение подготовленного решения в указанное место файловой системы, выполнение тестов, развертывание решения и генерация автодокументации. Наиболее популярными инструментами сборки для фронтэнда являются Grunt, gulp.js, Broccoli.js, Brunch.

Тестирование JavaScript-кода - автоматическое тестирование (обычно модульное) клиентского кода. Для тестирования клиентского кода используется комплекс инструментов:

  • Фреймворки для тестирования JavaScript-кода (Test frameworks): qUnit, Mocha, Jasmine, YUI Test и другие.
  • Библиотеки для проверок (Assertion libraries): Assert.js, Chai, should.js, expect.js и другие.
  • Утилиты для запуска тестов (Test runners): Karma, AVA, testem и другие.
  • Mock-библиотеки (Mocking libraries): Sinon.js, MoqJS, testdouble.js, jsmock и другие.
  • Инструменты для тестирования серверного API и AJAX-запросов (API Mocking tools): Sandbox, nock, pretender, jquery-mockjax и другие.
  • “Консольные браузеры” (консольные версии движков WebKit и Gecko, доступные через JavaScript API): PhantomJS, SlimerJS.
  • Серверы непрерывной интеграции и сборки: Travis CI, Bamboo, Jenkins и другие.
  • Платформы для автоматизированного тестирования: Sauce Labs, Ubertesters и другие.

Ссылки на материалы для изучения

Базовые ресурсы

Самоучители и учебники

Интерактивные курсы

Представленные ниже интерактивные курсы включают в себя задания для проверки полученных знаний и навыков.

Справочники

Видеокурсы

Дополнительно

Вместо презентации

Рекомендованные книги

Программное обеспечение

Тесты, лабораторные работы и практические задания

Тесты

Практические задания

Возможности по сертификации

Перейти