Это не совсем классический шаблон, построенный только на HTML и CSS. Основную часть функциональности реализует JavaScript, поскольку именно на нем построена вся внутренняя логика проекта.
Главный акцент сделан на сложной работе с DOM в браузере. Реализовать подобный функционал исключительно средствами CSS практически невозможно, поэтому основная нагрузка ложится на JavaScript.
Также я практически не использую графические элементы. Исключение составляют лишь различные иконки, которые нахожу в открытых источниках. Основная цель проекта , создать функциональный, легкий и максимально гибкий интерфейс без лишней графики.
Во второй версии шаблона личных сообщений основной упор был сделан на оптимизацию JavaScript-кода и повышение его производительности. Главная идея заключалась в том, чтобы сделать обработку данных максимально быстрой и легкой, исключив все лишние операции.
Архитектура шаблона построена по простому принципу: загрузил данные, отобразил их пользователю и освободил ресурсы. Скрипт не выполняет лишних запросов, не загружает ненужные данные и не проводит постоянные проверки, если в этом нет необходимости. Все изменения корректно сохраняются, а дополнительные операции выполняются только тогда, когда они действительно нужны.
Я не вижу смысла в том, чтобы скрипт постоянно анализировал страницы, бесконечно работал с DOM или регулярно отправлял запросы на сервер без причины. Такой подход лишь увеличивает нагрузку на браузер и сервер, расходует ресурсы устройства и может негативно сказаться на производительности. Поэтому во второй версии реализован принцип работы «только по необходимости»: любые вычисления, обновления интерфейса и обращения к серверу выполняются исключительно в момент, когда это действительно требуется.
В информационный блок были добавлены дополнительные сведения о пользователе, такие как количество дней с момента регистрации и страна проживания. В теории этот список можно значительно расширить, однако для этого необходимо реализовать механизм динамической подгрузки данных по мере необходимости.
На данный момент это скорее дополнительная возможность, чем необходимая функция. Она делает интерфейс более информативным и визуально привлекательным, но не влияет на основную работу шаблона. В дальнейшем можно добавить и другие сведения о пользователе, однако это уже планы для следующих версий скрипта если, конечно, не забуду реализовать эту идею.
Также были внесены изменения в лимит сообщений и переработана система визуального отображения пользовательской активности. Добавлена цветовая шкала, напоминающая систему рейтинга, которая когда-то использовалась в социальной сети «ВКонтакте». Чем больше пользователь заполняет информацию о себе и проявляет активность, тем выше становится его условный рейтинг и тем заметнее изменяется цветовая индикация.
Кроме того, был реализован онлайн-статус пользователей в личных сообщениях. Скрипт загружает список пользователей, находящихся в сети, и автоматически определяет их текущий статус. Если пользователь находится онлайн, рядом с его именем отображается зеленый индикатор в виде точки. Это позволяет быстро понять, кто из собеседников сейчас находится на сайте, не открывая его профиль.
Также были исправлены размеры списка сообщений и скорректированы границы элементов интерфейса. На первый взгляд это может показаться незначительным изменением, однако именно такие мелкие доработки делают интерфейс более аккуратным, удобным и приятным в использовании.
Думаю, если хорошо постараться, можно придумать еще множество интересных функций, которые сделают интерфейс более аккуратным, современным и удобным. Многие считают, что платформа uCoz сильно ограничена и реализовать на ней что-то действительно интересное невозможно. На мой взгляд, это заблуждение. Даже в существующих рамках можно создавать достаточно сложные и функциональные решения, если грамотно использовать JavaScript, HTML и CSS.
На мой взгляд, главная проблема uCoz заключается не в технических ограничениях, а в навязчивой рекламе, которая размещается практически на каждой странице. Именно она производит негативное впечатление и отпугивает многих пользователей. Не уверен, что такой подход действительно способствует развитию платформы. Скорее наоборот многие владельцы сайтов предпочитают переходить на другие решения.
Когда-то uCoz была гораздо более живой платформой с большим количеством активных сайтов и сообществ. Сейчас же, заходя на многие проекты, можно увидеть, что они давно не обновляются и фактически заброшены. Это создает ощущение, что значительная часть экосистемы постепенно утратила прежнюю активность.
<!-- Блок информации --> <div class="right-block"> <div class="right-block-header">Информация</div> <div class="right-block-content"> <!-- Сюда можно добавить информацию о пользователе -->
Цветовая шкала вдохновлена системой рейтинга, которая когда-то существовала в социальной сети «ВКонтакте». Многие пользователи наверняка помнят этот элемент интерфейса, отражавший уровень заполненности профиля и общую активность пользователя.
Демонстрацию работы шаблона можно посмотреть в самой первой теме.