Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Нужна помощь в реализации сложной модели и ее отображения (https://javascript.ru/forum/dom-window/73705-nuzhna-pomoshh-v-realizacii-slozhnojj-modeli-i-ee-otobrazheniya.html)

handler 08.05.2018 12:49

Нужна помощь в реализации сложной модели и ее отображения
 
Ситуация такая
Есть страница в которой может быть 30 div
Каждый div может иметь свой класс(css) (в зависимости от некоторых параметров)
Класс состоит из двух частей
1. Тип
2. Параметр
Пример
<class = "my_class_... type parametr">

parametr это число от 1 до 10
А вот type это еще примерно 30 подклассов
Ну и еще my_class может быть разным, ну суть понятна думаю

Сервер отправляет эти параметры, и в зависимости от них нужно сгенерировать страницу. Т.е. страница постоянная разная получается, статикой не сделаешь

Пробовал обрабатывать каждый параметр отдельно
switch/case, но лапша получается очень ужасная =)

Кто имел опыт с такой штукой
может какие фрэймворки поюзать, или эти данные пусть сервер присылает прям как параметр class всеравно на сервере эта примерная лапша уже есть, но такой вариант тоже может принести думаю проблем, как минимум трафик

handler 08.05.2018 15:25

Если вдруг не понятно описал, хорошим примером может стать браузерная игра

Есть 20 мест где можно построить здания, зданий может быть много, каждое здание описывается стилем(css class), вот у меня примерно тоже самое

handler 08.05.2018 15:55

Цитата:

Сообщение от Rise (Сообщение 484874)
В каком виде эти параметры?

Сейчас определенным протоколам отправляются в виде бинарных данных, но можно как json

handler 08.05.2018 16:21

Цитата:

Сообщение от Rise (Сообщение 484879)
А чем размер параметров "как json" отличается от "сервер присылает прям как параметр class" в плане трафика?

не вы не так поняли, я могу присылать еще и отдельный параметр class, который буду прям вставлять в div class="class"
отличаться конечно будет, но не хочется, чтоб пользователи видели реализацию, как это работает, ну и трафик всеравно увеличится, для каждого div будет строка содержащая class

handler 08.05.2018 16:42

Цитата:

Сообщение от Rise (Сообщение 484881)
Формировать строку, содержащую class, из параметров json, и вставлять в div class.

Чет мне кажется плохая практика это
не видал такого, Генерировать часть фронта на сервере)

handler 08.05.2018 17:22

Цитата:

Сообщение от Rise (Сообщение 484883)
На клиенте, формировать строку из json.

ну это да, но клиент может смотреть, что сервер шлет, и там будет видно что шлются css классы

handler 10.05.2018 06:58

Цитата:

Сообщение от Rise (Сообщение 484896)
div class="class" будет видно в любом случае и старый и новый без разницы.

Да, но будет виден конечный результат, а не реализация, и к тому-же каждый раз будет пересылаться 50 строчек с текстом, по 15-20 символов

handler 10.05.2018 11:38

Цитата:

Сообщение от Rise (Сообщение 484966)
Невозможно скрыть реализацию js, невозможно скрыть пересылаемые данные, не понимаю что вы имеете в виду.

Можно же смотреть что сервер прислал, и там будет видно, что шлются имена классов=)

Ну да ладно, можно и так, только вот боюсь за трафик

handler 11.05.2018 05:53

Цитата:

Сообщение от Rise (Сообщение 484972)
Ну шлите индекс класса:
var names = ['class1', 'class2', 'class3'];
var classN = names[indexN];

Кстати, да, почему бы и нет, трафика меньше, на клиенте выдумывать не надо ничего, js можно подшифровать от лишних глаз =) Спс


Часовой пояс GMT +3, время: 11:11.