Вот еще один проект запустил на этом движке: http://pivkarta.ru/ Этот проект уже гораздо сложнее и объемней, чем городские бани. Яндекс в результаты выдает 83 000 страниц. Сущностей на сайте: - 1 500 видов пива. - 555 + 175 записей в блоги и событий. - 3 300+ комментариев. - 3 500+ заведений. - 8 300+ фотографий. - 26 500 пользователей (не вычищал фейков, пока не знаю долю реальных пользователей, но их большая часть). В общем, сайт предъявил серьезные требования к разработке и оптимизации. Когда запустил первичную версию, нода на запуске съедала больше 2 Гб оперативки (затем в стабильном режиме 700+ метров), получение всех API-данных занимало более 40 сек, и страницу отдавало за 1-10 сек. Сейчас штатный режим менее 500 метров требует (на запуске пик чуть более гига), страницу отдает 0.4-1 сек (на паре страниц до 1,5 сек, но это поправлю).

ОК, возьму на заметку, но сейчас для меня это пока рановато. Я развиваю самую логику, и только когда она будет окончена, можно будет заниматься оптимизацией. Сейчас в таком случае это будет Разработка-Оптимизация-Тестирование-Разработка и так далее в цикле. Лишнее звено, при чем весьма ресурсоемкое.

Да и на счет... >>> Раз правило в документе есть, значит есть какой-то элемент, для которого это правило нужно. jscss слышал? material-ui@alpha/beta Про jscss нет, не слышал... Я особо в React не лазал... Пока что в сторону Polymer буду курс держать... Там уж точно: >>> Раз ... в документе есть, значит есть какой-то элемент, для которого это ... нужно :-)

На счет "схалтурил", ты вообще погорячился Это была шутка :-) Я прекрасно понимаю, что было что-то из серии: >>> аватарки 150 на 150, там, где они реально меньше нужны. >> Основное, на что ругается гугл, так это на объем HTML-кода "Для показа верхней части страницы понадобилось 156,8 КБ данных с сервера" и долгий ответ сервера - +-1 секунда. Это-то понятно... В будущем Google видит Progressive WebApp, а у них как раз по ним и приколы главные. Вот, к примеру результаты прогона сайта бань в LightHouse: https://yadi.sk/i/ohsPgjQQ3QHJXd Но тут уже из другой оперы, конечно, тестирование. Особенно меня радует кэширование на стороне клиента и за счет этого работа даже без интернета: https://developers.google.com/web/tools/lighthouse/audits/http-200-when-offline Если мало-ли вдруг понадобится, то вот чеклист: https://developers.google.com/web/progressive-web-apps/checklist

Картинок там только две, на которых он ругается - аватарки 150 на 150, там, где они реально меньше нужны. На счет "схалтурил", ты вообще погорячился. С картинками как раз у меня там все вполне нормально. В модели прописаны сразу несколько вариаций картинок. Для топиков еще больше вариаций. Основное, на что ругается гугл, так это на объем HTML-кода "Для показа верхней части страницы понадобилось 156,8 КБ данных с сервера" и долгий ответ сервера - +-1 секунда. Но я не планирую в угоду этого архитектуру менять. С мобильника я пробовал, уже через 2 секунды я могу взаимодействовать со страницей, до того, как 15% контента подгрузилось (имеется ввиду со скриптами и т.п.), я считаю, что это вполне нормально. Я без 100/100 вполне переживу :) С советами этими чуть опоздал. 1. Галп, ИМХО - прошлый век. От него аж корежит. Отладка в нем - вообще Адовый АДъ. Пока webpack. Позже может на фейсбуковый сборщик пересяду, если станет стандартом. 2. Стили - вообще не актуально. Глянь CSS. Там fontawesome и бутстрап. От одного и второго откажусь скоро, они просто прилетели наследием, просто потому что мне было лень переделывать шапку. А основные стили в теле документа ищи. Ты их не зачистишь сторонними решениями, там все уникальное. Фишка в том, что это динамические стили. Раз правило в документе есть, значит есть какой-то элемент, для которого это правило нужно. jscss слышал? material-ui@alpha/beta

По поводу рейтинга бань могу дать пару советов: 1) Gulp - для сборки фронта - это наше все. Глянь модули gulp-critical-css (Крит. CSS думаю знаешь, что такое) + gulp-uncss ( анализирует HTML код и находит все неиспользуемые и продублированные стили). 2) На счет кэша браузера, если не путаю, то вроде как, если в редакторе счетчика метрика на Яндексе выбрать "Альтернативный CDN", то проблема уходит. 3) На счет картинок не думаю, что смогу что-то новое для тебя сказать... Мне почему-то кажется, что скорее всего ты тут банально схалтурил :-) P.S. Когда узнал про gulp-uncss и то, что он "анализирует HTML код и находит все неиспользуемые и продублированные стили и удаляет их", то ,в отличии от тебя, не просто " В тот момент немного приуныл"... Я конкретно о&$%ел. Я несколько лет назад понял, что наступает новая глава в истории программирования, когда сидел за очень слабым офисным компьютером и играл в Quake 3 прямо в браузере... Ну а далее зайдя в Google Experiments я окончательно сформулировал для себя, что пришла эра JavaScript... UPD: Глянул сайт и еще добавлю gulp-autoprefixer... т.к. нет "-webkit-" , "-moz-" и т.п. для поддержки старых браузеров... Работал как-то раньше с банькой одной и могу сказать со 100% уверенностью: публика там и на 8 Internet Explorer может сидеть :-)))))

Реакта здесь будет много. Я сейчас заканчиваю перенос довольно крупного тематического портала на свой движок (готовых комплексных решений под себя так и не нашел, поэтому пилю свое сам. С учетом того, что на базе того, на чем работают городские бани, у меня еще один крупные проект создается, и за эти выходные, за два дня, я почти полностью переписал 10-ти летный проект, который крутился на самописке, на эту новую платформу, думаю, могу уже называть это движком). В начале года будет очередное масштабное обновление сайта Клуба на этот движок, так что все это будет неотъемлемой частью MODX-Клуба, и будет довольно подробно освещаться. Я не рассматриваю MODX и Javascript как конкурирующие взаимозаменяемые технологии. Они вполне могут существовать совместно. MODX более проще и более предсказуемый, и вполне годится для бэкэнда. А Javascript можно использовать для обновления проекта, создания более современного фронта. Собственно, так же как ангулар и все остальное используется в связке с ларавелем. Далеко же не все, кто использует их в связке, говорит "Так, от ларки отказываемся, теперь только кашерный javascript!". Про полифил читал, но пока не вижу для себя необходимости его использовать. Мне достаточно того, что реакт позволяет очень быстро менять свойства выводимого компонента, и нагромождать технологии - это скорее всего лишнее будет. VR всерьез заинтересовался после вот это статьи: Немного поигрался как пользователь, показалось очень занятным направлением. Математики и геометрики за нас уже все сделали. К слову, после того. как это чуть изучил, открыл для себя, что в ютубе очень много 3D-контента. В тот момент немного приуныл, ощутил, как будущее проходит мимо меня. То есть сидишь, делаешь такой что знаешь, а тут уже вокруг много того появляется, чего ты просто не заметил. P.S. >> бешеная скорость загрузки/работы за счет асинхронности у всех элементов сайта... Бани - довольно тяжеловесный проект получился. Там полно мест еще, где надо оптимизировать. Но даже при этом гугл-спид показывает для компьютеров 97/100 Для мобильников результат похуже, но тоже не плохой, 75-85.

Обана... Не уж то существует в интернете место, где есть что-то интересное на счет совместной работы nodeJS и MODX... У меня сейчас мало времени, чтобы успеть нормально пробежаться по всем статьям, по поводу них, но 100% уже завтра вечером сяду и все прочитаю. Сам сейчас просто в неописуемом восторге от JavaScript. Все началось с ознакомления с Google'овским Progressive WebApp (https://developers.google.com/web/progressive-web-apps/ ), а в частности ServiceWorker и его возможностями для работы сайтов из оффлайна + бешеная скорость загрузки/работы за счет асинхронности у всех элементов сайта... И с тех пор пошло-поехало... Но все это время меня удивляла одна простая вещь: если взять тот же самый Gulp, то на самом деле сборка шаблонов на нем не такая уж и сложная задача... Но при этом на том же modx.pro ни слова на эту тему... А тут на тебе, аж целый React :-) Если где-то еще будет информация про Polyfill, то жизнь уж совсем станет сказкой :-) P.S. ReactVR - это реализация виртуальной реальности... И это не просто "очень широкий и объемный спектр технологий" , но так же и ОЧЕНЬ не слабых знаний геометрии, как всей остальной математики.

Сергей, добрый день. С ангулар в бою так и не столкнулся, и нет особого желания. Это готовый фреймворк, а мне больше нравится низкоуровневость. К тому же помимо реакта, фейсбук предлагает целый спектр попутных технологий: react, draft-js, graphql, flux, immutable, react-native, а теперь еще и react-vr. Это очень широкий и объемный спектр технологий. На мой взгляд это направление перспективно, не вижу сейчас смысла дергаться еще куда-то.

Николай приветствую! Очень обрадовала твоя статья! В целом динамика твоих изысканий все круче и все выше! Познавательно и реально интересно! Такой вот вопрос, я взялся изучать Angular 4, как ты смотришь на возможности этого фреймворка, в том числе в свете твоих работ? Может смысл есть его функционал задействовать?