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 и некоторые другие вещи.

Читать далее

Todomvc на Ember2 без контроллеров

Изучая документацию EmberJs и различные примеры становится понятно, что существующее в данный момент приложение todomvc (ember реализация), на данный момент, сильно устарело. В процессе развития Ember его разработчики непрерывно переосмысливают опыт и используют все новые подходы для построения приложения. Поэтому от версии к версии многое меняется. Под вторую версию EmberJs пока что нет официальной реализации todomvc.

Читать далее

KnockoutJs. Разбор кода todomvc

И вот мы подобрались к следующему фреймворку, который пройдет через разбор кода приложения todomvc. Используемая версия KnockoutJs — 3.2.0.

Как обычно, код примера в github-репозитори. Рассматривается самая свежая версия примера на момент создания статьи. И всегда можно код todomvc на KnockoutJs скачать отсюда.

Читать далее

EmberJs. Разбор кода todomvc

Продолжаю свое сравнение JS фреймворков на примере проекта todomvc. Для emberjs есть реализация todomvc, но, правда для версии 1.10 (в то время как уже имеется Ember 2.1). Но, наверное, то не должно сильно влиять на понимание принципов построения приложения на Ember. Надеюсь проверить  это предположение позже.

Читать далее

ReactJs. Разбор кода todomvc

Для того, чтобы лучше понять как выглядит реальное приложение на React я решил разобрать код todomvc. Рассматриваю самую свежую версию кода, которая доступна на момент написания статьи. Если ссылка не работает, то можно скачать архив отсюда. Для чтения статьи очень желательно ознакомится хотя бы с базовой информацией и примерами с данной страницы официального сайта.  Ну и лично мне сильно помог кусок данной книги. Надеюсь у нее будет продолжение (пытался найти оригинал — не нашел).

Читать далее

Angular Light

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

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

Читать далее

ReactJs

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

Читать далее

KnockoutJs

Сегодня решил покрутить в руках следующий js-фреймворк — Knockout.JS и отметить его различия с другими. Он, как выяснилось, реализует Model-View-ViewModel шаблон проектирования. В данном шаблоне есть следующие составляющие:

  • Модель. Сущность (данные), как и в MVC
  • Представление. Это графический интерфейс
  • Модель представления (ViewModel). Связующее звено между Представлением и Моделью. Представление подписано на события ViewModel, а сама ViewModel содержит методы, с помощью, которых Представление может влиять на Модель.

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

Читать далее