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. Рисуй и анимируй!






Заглушки для 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






Разработка лэндингов

Недавно сделал своей супруге лэндинг-страницу по теме логопед во Всеволожске. Поскольку мой блог — технический, я опишу то, как и чем я это делал. В процессе разработки помимо само собой подразумевающегося (HTML, CSS, JS) я выбрал следующий арсенал: Less, AngularJS, Grunt, RequireJS. Многие спросят: «Зачем для лэндинга AngularJS»? Ответ тут простой. Во-первых, конкретно для этого…

Read more Разработка лэндингов






Порядок HTML-атрибутов

Очень часто при написании разметки у элементов встречается несколько (если не много) HTML-атрибутов. Чтобы как-то навести порядок среди них, можно воспользоваться простой хорошей практикой — указывать атрибут в соответствии с его приоритетом из следующего списка: class id name data-* src, for, type, href, value title alt role, aria-* Классы указывают для повторно используемых компонентов, поэтому…

Read more Порядок HTML-атрибутов






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

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

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