Grunt

Grunt — это система организации рутинных задач, которые делает веб разработчик. Примеры таких задач — минификация кода, компиляция, запуск unit-тестов, линтинг.

Задачи, которые необходимо автоматизировать прописывается командами в специально файле Gruntfile.js. После чего с помощью команды grunt <имя задачи> можно выполнить любую задачу (последовательность команд). Часто используемую задачу (например сборку всех js и css файлов) можно сделать задачей по-умолчанию и запускать просто командой grunt.

Читать далее

Promise

Promise (промисы) — удобный механизм организации асинхронного кода.

Предположим нам необходимо в JavaScript коде совершить обращение к серверу и с полученными результатами обратиться к серверу еще раз и получить новую информацию, а с этой информацией еще раз. И все эти запросы к серверу мы хотим сделать асинхронными.

Чтобы нам понадобилось при этом. Несколько вложенных двуг в друга callback-функций (обработчиков). Такой код стал бы плохо читаемым. Так же, на бы хотелось иметь обработку ошибок. Для этого пришлось бы добавлять callback-функции и для ошибочных ситуаций. Для решения этой проблемы и существуют промисы.

Читать далее

Npm

Npm — это пакетный менеджер Node.js. Файл package.json содержит в себе информацию о зависимостях вашего приложения в части пакетов Node.js. Множество современных инструментов для разработки веб-приложений устанавливаются через данный менеджер пакетов (webpack, grunt, gulp, bower …).

Читать далее

Node.js

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

Читать далее

Yarn

Yarn — менеджер пакетов, который создавался для решения проблем пришедших с использованием npm. При использовании Yarn задачи по установке пакетов выполняются параллельно, а не последовательно, как в npm. Также гарантии использования указанных в проекте версий пакетов используется специальный файл yarn.lock, который хранит точные номера версий (как composer.lock для Composer). А еще Yarn имеет более лаконичный и удобочитаемый вывод лога в консоль.

Vue.js

Vue.js — это прогрессивный JavaScript фреймворк (на официальном сайте значится именно как фреймворк, а не библиотека) для создания пользовательских интерфейсов. Он довольно легок в освоении (имеет низкий порог вхождения) и не требует при внедрении масштабных изменений сразу. Позволяет начинать его применение (и уходить, к примеру, от jquery-кода) постепенно.

Не смотря на свою небольшую историю и размер Vue так же подходит  для создания сложных одностраничных приложений (SPA, Single-Page Applications), если его использовать с дополнительными библиотеками и инструментами.

Читать далее

Babel

Babel — программа, которая переводит JavaScript код новой версии в старую версию, поддерживаемую большинством браузеров. Язык JavaScript в последнее время бурно развивается и прогрессивные программисты используют новые функции языка для более производительной разработки. Но браузеры не успевают поддерживают все новые возможности языка. Поэтому код, написанный программистами они конвертируют в версию, у которой не будет проблем с работой в различных браузерах. Это так же называется source-to-source compiler, transcompiler и transpiler. К Babel часто применяют последний термин — транспайлер.

Docker

Docker — это демон для запуска процессов в изолированном окружении для разработки, доставки и эксплуатации приложений. Во многом служит тем же целям, что и Vagrant, но в силу своей легковесности и производительности используется не только для развертывания локального окружения разработчика, но и может использоваться на production серверах. Таким образом создавая одинаковое окружение для и для разработки и для эксплуатации программного обеспечения.

Docker не создает целую виртуальную машину, а изолирует лишь нужные процессы, что гораздо более экономичнее. Однако как и у виртуальных машин у Docker есть образы, которые представляют собой просто readonly шаблоны для настройки окружения. Есть среди прочих и Laradock — готовый образ для Laravel-приложений.

Vagrant

Vagrant — специальное ПО для создания и конфигурирования виртуальной среды для разработки. Опирается на средства виртуализации (например VirtualBox) и конфигурирования (как Puppet), являясь по сути оберткой для них.

Читать далее

Laravel Homestead

Laravel Homestead — это инструмент для поднятия на локальной машине всего необходимого для Laravel-проекта. Он представляет собой Vagrant box, создающий образ виртуальной машины, в которой уже настроено необходимое окружение: Nginx, PHP 7, Composer, Node (c Yarn, PM2, Bower, Grunt, and Gulp), MySQL, Postgres, Redis, Memcached, Git и некоторые другие вещи.

Читать далее

Angular Light

Одной из проблем AngularJS называют его сложность. Однако принцип описания поведения веб-приложения через директивы в html коде все же интересен. Поэтому на свет появились такие библиотеки как CornerJs и Angular Light (aLight).

И если первая не развивается уже около года, то вторая продолжает радовать своих последователей новым функционалом. По заявлению автора, некоторых возможностей aLight нет в самом AngularJS.

Читать далее

ReactJs

React.js — фреймворк для создания интерфейсов от Facebook. Он позволяет создавать интерфейсы. В известном паттерне Model-View-Controller наш React ближе всего к пользователю. Он отвечает за представление данных, получение и обработку ввода пользователя. Где и в каком виде вы храните данные, как вы общаетесь с хранилищем, дело ваше. React — это только представление (View) вашего приложения, а не фреймворк на все случаи жизни.

Читать далее