ECMAScript 2015 нам поможет

Будущее уже наступило, дорогой друг! Хватить уже оправдывать свою лень тем, что браузеры что-то там не поддерживают. Пора решать старые задачи по-новому! Пора уже взять и выучить все новые возможности JavaScript из «новой» спецификации ECMAScript 2015 (также известна как ES6). Решил я написать обзорную статью с примерами нововведений. Зачем? Во-первых, хочется вас ещё раз подтолкнуть…

Read more ECMAScript 2015 нам поможет






Знакомство с Webpack

Наверно, уже каждый разработчик хотя бы мало-мальски интересующийся новостями в своей профессиональной сфере слышал про webpack. Что это за зверь, и для чего он нужен, мы с вами разберём сегодня? Начнём с определения. Webpack — это невероятно мощный, гибкий и популярный сборщик модулей JavaScript. Он уже успел не раз удивить JS-сообщество своими возможностями, завоевав сердца…

Read more Знакомство с Webpack






Unit-тестирование AngularJS-приложений

Как легко догадаться из названия, Unit-тестирование — это тестирование отдельных единиц (англ. unit) кода. Под единицей подразумевается небольшая изолированная часть кода, выполняющая конкретную функцию. В сегодняшней статье мы посмотрим о том, как тестировать при помощи Jasmine различные сущности фрэймворка AngularJS. Каждая из них имеет свою специфику, поэтому нужно знать определённые шаблоны, правила и рекомендации, чтобы…

Read more Unit-тестирование AngularJS-приложений






HTML5 Canvas. Рисуй и анимируй!

HTML5 уже давно на дворе, а мы в этом блоге ещё ни разу ничего на холсте (canvas) не нарисовали И чтобы исправить эту несправедливость, я сегодня на достаточно простом примере расскажу и покажу, как рисовать и анимировать с помощью этого интересного элемента web-страницы. Эти знания пригодятся вам, например, при разработке HTML5-игр. Сразу скажу, что сегодня…

Read more HTML5 Canvas. Рисуй и анимируй!






Unit-тесты с асинхронностью в Jasmine

Продолжая тему тестирования, давайте разберёмся, как в Jasmine работать с асинхронностью. При разработке клиентской части — это, на мой взгляд, достаточно редкий случай тестов, но знать всё равно будет полезно! Вообще, в unit-тестах при помощи mock-ов желательно избавляться от асинхронности, чтоб гарантировать один из критериев unit-тестирования — изолированность модуля от другой части приложения и высокая…

Read more Unit-тесты с асинхронностью в Jasmine






Заглушки для HTTP-сервера в AngularJS-приложении

Сегодня мы поговорим про заглушки в AngularJS-приложениях. Именно в приложениях, а не в тестах! Очень часто при разработке клиентской части приложения приходится реализовывать новую функциональность, не имея при этом рабочей функциональности на серверной стороне. А ещё иногда возникает потребность показать заказчику прототип приложения, не реализовывая при этом API для экономии времени. Когда-то я делал для…

Read more Заглушки для HTTP-сервера в AngularJS-приложении






when и expect в сервисе $httpBackend

Сегодня поговорим о unit-тестировании AngularJS-сервисов, которые предоставляют интерфейс для обмена данными с сервером, а если быть точнее, то мы рассмотрим один нюанс — отличие expect’ов от when’ов при работе с $httpBackend‘ом из модуля ngMock. Но давайте будем последовательны и начнём с начала. Встроенный AngularJS-сервис $http делегирует всю работу по обеспечению кроссбраузерности в работе с XMLHttpRequest…

Read more when и expect в сервисе $httpBackend






Проблема с npm

Сегодня я поведую историю одной проблемы с пакетным менеджером npm. В один прекрасный день столкнулся с такой проблемой: часть UI в нашем проекте перестала собираться. Валилось всё на стадии загрузки npm-зависимостей. Ошибка была для меня непонятной, т.к. никогда на такое я ещё не нарывался. Но тем оно и интереснее! Заключалась ошибка в том, что npm…

Read more Проблема с npm






Организация зависимостей RequireJS

При разработке крупных масштабируемых web-приложений с использованием RequireJS иногда даже самые связные модули могут потребовать довольно много других модулей-зависимостей. Как следствие, поддержка порядка этих зависимостей может стать достаточно утомительным занятием. К счастью, RequireJS предоставляет нам средства для упрощения того, как модули могут определять зависимости в таких случаях. Упорядочение зависимостей Если мы посмотрим, как в обычном…

Read more Организация зависимостей RequireJS






Что такое $apply и $digest в AngularJS?

В AngularJS есть два основополагающих понятия, которые многие недопонимают и путают, — $apply и $digest. Чтобы прояснить, как фрэймворк работает, каждый должен понимать, что из себя представляют $apply и $digest, и как они могут помочь AngularJS-разработчику в ежедневной разработке пользовательских интерфейсов. Исследование $apply и $digest Одной из самых полезных возможностей AngularJS из коробки является двустороннее…

Read more Что такое $apply и $digest в AngularJS?