Доброго времени суток!
Возник конфликт с одним разработчиком по поводу связи фронта и бэка.
Хочу узнать ваше мнение.
Отпустим подробности)
На бэке висит парсер сайта, а клиент - мобильное приложение, которое получает данные с парсера и удобненько их выводит.
Естественно данных много и на клиенте есть возможность создания "фильтров". Пользователь создает новый фильтр, (удаляет, редактирует) и любое действие отправляется в облако. где и сохраняется.
Когда приложение запрашивает данные бэк отдает распарсенные данные, которые соотвествуют выбранному фильтру.
Короче обычный клиент сайта с облачной синхронизаций фильтров поиска.
Но если пользователь заходит с другого телефона под своим аккаунтом, то мы отдаем ему все его настройки!
Следовательно фильтры - это данные для парсера + модели для ui
А мне очень удобно использовать статику такого вида (по ней гененрируется шаблон)
(есть не только такие)
$scope.metroStation = {
'Арбатско-Покровская линия': {
color: '#072889'
arr: [
'Пятницкое шоссе'
'Митино'
'Волоколамская'
'Мякинино'
'Строгино'
'Крылатское'
'Молодежная'
'Кунцевская'
'Славянски бульвар'
'Парк победы'
'Киевская'
'Смоленская'
'Арбатская'
'Площадь революции'
'Курская'
'Бауманская'
'Электрозаводская'
'Семеновская'
'Партизанская'
'Измайловская'
'Первомайская'
'Щелковская'
]
}, ...
А модели в таком виде:
'Арбатско-Покровская линия': [ 'Электрозаводская', 'Семеновская', 'Щелковская']
Тобишь человеку гененрируется (например) список станций метро с сущностью гномика но в виде чекбокса он кликает по одному из них, и тот сразу же попадает в модель.
Все удобно читаемо и тд, но бэкенедер настаивает чтобы я отправлял ему не такую модель
['Электрозаводская', 'Семеновская', 'Щелковская']
// а такую
[2, 4, 3]
Только я не понимаю почему!
Мне приводят в аргумент что это все фреймворки так делают и вообще это знаменитый паттерн программирования, и никто не шлет юникодовые строчки на серв и тд
При этом ему нужны еще были два файлика чтобы не наебаться с этими числовыми индексами (поменял строчку на фронте и все, пзд)
А мне бы пришлось делать декораторы для правильной выборки
Еще был аргумент с локализацией, но тут мой способ опять лучше. Я создам просто две статики, из одной буду генерировать шаблон а из другой модель. ПРОФИТ!
Я не понимаю почему он не может связать юникодовую ссылку с методом парсера вернуть то что нужно.
Короче странно, обьясните если чего то не понимаю.
Его плюсы:
цифорки, меньше трафика
Мои плюсы:
Меньше кода, он читабельнее
Никаких декораторв, я ему отправил, он связал, все, работает!
Если он мне вернул, то я в модель пихаю, все, работает
Опять же локализация удобнее
Не нужно хранить 2 статичных файла чтобы делать выборку (и дай бох не наепаца с циферкой)
Может показаться что дело тут в экономии трафика (строки заметно больше), но фильтры пользователь делает крайне редко, но пуш уведомления, уведомления по вебсокетам и огромное кол-во трафика будет сжираться картинками и прешедшими обьявами (тут без 4г или вифи никак)