Хотелось бы поделиться кое-какими подробностями реализации магазина «Оримэкс» на Yii2 и его дальнейшей оптимизации.
В основе используется фреймворк Bootstrap, .js и .css файлы которого подключены внешние через быстрый CDN (BootstrapCDN), тем-самым автоматически немного освобождаем наш сервер (обычный shared-хостинг) от пары лишних запросов, BootstrapCDN делает всю работу за нас — быстро выдает уже минифицированные и gzip-сжатые скрипты через HTTPS.
С JQuery (куда ж без него) поступаем так же, только используем CDN от гугла — Hosted Libraries.
В итоге самые тяжеловесные библиотеки подключаются через CDN и освобождают ресурсы на нашем shared-хостинге.
Далее самый сложный этап — это отказ от встроенного в Yii2 ассет-менеджера, и конфигурация Grunt.
Читать далее Клиентская оптимизация сайта на Yii2 для Google PageSpeed Insights
Метка: оптимизация
Закончена новая версия магазина orimex-shop.ru на Yii2
К Новому году была запущена новая версия интернет-магазина «Оримэкс».
Первая версия магазина была разработана мною на CMS Joomla 2.5 (последней версией системы на то время) c использованием компонента VirtueMart 2 (тоже последняя и немного сыроватая версия, как выяснилось позже).
Магазин со временем оброс различным функционалом, таким как выбор тонировок и тканей, просмотр товаров в 3D и пр. Для некоторых функций пришлось править ядро компонента VirtueMart, что «не есть хорошо». К сожалению, Joomla и VirtueMart годятся только для шаблонных решений, если мы, к примеру, захотим изменить процедуру оформления заказа, убрать лишние шаги, добавить/удалить какое-то поле и пр., то это зачастую возможно только изменением кода VirtueMart и использованием каких-либо костылей или грязных хаков. Все это привело к тому, что сайт стал производить невероятное число SQL-запросов, и хостер периодически переставал справляться с нагрузкой и сайт тормозил, а иногда и вовсе был недоступен. Немного спасало положение включение кэширования, но это все-равно неверный путь, это затрудняет разработку и отладку сайта.
В 3 версии Joomla многое изменено в лучшую сторону, новая MVC-архитектура, более четкое разделение логики от представления, использование моего любимого фреймворка Bootstrap. Но все же Joomla по-прежнему производит впечатление огромного и неповоротливого кухонного комбайна, шаблонности и топорности. А сделав чистую установку последнего релиза VirtueMart 3 на чистую же Joomla 3, я словил несколько исключений, и кучу посыпавшихся мелких багов, желание разбираться с которыми совершенно не было — это была чистая установка, а что было бы потом при разработке.
Поэтому было принято решение не обновлять все прежнее «хозяйство», а разработать совершенно новый интернет магазин с современным дизайном и адаптацией под мобильные устройства.
Читать далее Закончена новая версия магазина orimex-shop.ru на Yii2