
Firebase: прощание с иллюзиями

Front-end
Браузеру предстоит пройти много шагов, прежде чем HTML-ответ от сервера будет преобразован в пиксели на экране. Последовательность этих шагов, необходимая для первого отображения страницы, называется «Критический путь рендеринга» (ориг. Critical Rendering Path).
Именно эта цитата Стива Джобса встречает посетителей сайта cs.betlabs.ru, можно считать это попыткой мотивировать студентов работать усерднее над своими домашними и лабораторными заданиями. К сожалению, метрики для количественной оценки влияния мотивации от преподавателя на успеваемость студента у меня пока нет. Более того, я считаю, что конкурентная среда в учебной группе является куда более важным фактором в общем показателе успеваемости. Сейчас это всего лишь гипотеза, а ее проверка не лежит в области моих научных интересов.
Это перевод поста в блоге Гая Бедфорда — основного разработчика таких замечательных инструментов, как JSPM — менеджера пакетов для браузеров и NodeJS, который работает на основе его же детища SystemJS — асинхронного загрузчика JS модулей любых известных форматов, способного расправляться в том числе с циклическими зависимостями, и который, в свою очередь, основан на его же детище под названием es-module-loader, полифиле для загрузки ES модулей. Как я понимаю, автор довольно сильно переписал SystemJS в данном релизе, и об этом будет интересно почитать хабраюзерам.
SystemJS 0.20 только что зарелизился — это полная его переработка, а также коррекция спецификации, в то время как ES модули уже находятся прямо здесь, в браузерах.
SystemJS изначально был разработан ещё в 2013-м году для проекта jspm, в то время когда RequireJS был лидирующим загрузчиком модулей. Параллельно развивался ES6, а модули ES6 всё ещё казались нематериальным сном. Идея SystemJS была простой и убедительной: модули приходят в браузеры, так что нам надо иметь возможность загружать любой модуль в любое время из браузера, что дало бы очень простой процесс разработки.
Изучив комментарии к предыдущему посту о проектной папке, решил перестроить процесс, связанный с версиями файлов и их хранением. Умные люди говорили, что в наше время неправильно дублировать файлики вручную, создавая архив версий, а нужно пользоваться современными технологиями Git, Subversion и подобными. В этом посте напишу о системе к которой пришёл и с удовольствием теперь пользуюсь. Я стал спокойнее, лучше ем и крепче сплю, ведь теперь я совсем не переживаю за рабочие файлы и их сохранность. Осталось стать хорошим дизайнером.