[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обработка данных на клиенте: какие есть недостатки
staircaseMaker
Здравствуйте, коллеги!
Сейчас разрабатываем простенькое веб-приложение для учета заказов производственной компании. Функционал несложный: список заказов, задачи по заказам, история взаимодействия по каждому заказу, статистика.
В силу наличия опыта разработки клиентской части и практически полного отсутствия опыта разработки серверной, была выбрана архитектура с толстым клиентом. То есть вся работа по отображению и обработке данных делается на клиенте через js. На сервере происходит по-сути, только работа с базой и форматирование данных в том виде, чтобы было с ними удобно работать на клиенте. Большая часть обработки данных при взаимодействии с пользователем (сортировка, фильтры и т.п.) тоже реализованы на клиенте.
Почитал про аналогичные приложения, там почему-то все делают на сервере, включая сортировку html таблиц.
Почему это делается на сервере: так удобнее разработчику, или есть какие-то объективные причины?
Напишите, пожалуйста, какие могут быть проблемы если большую чать приложения сделать на клиентской стороне?
Valick
staircaseMaker, есть только одна причина, данным клиентам никогда нельзя верить, поэтому на сервере надо всё проверять, а зачастую что бы проверить надо сначала обработать.
Что значит сортировка и фильтры на клиенте? Вы выгружаете всю БД клиенту целиком???


_____________
Стимулятор ~yoomoney - 41001303250491
staircaseMaker
Цитата (Valick @ 26.08.2018 - 17:08)
Вы выгружаете всю БД клиенту целиком

Ну не совсем целиком. Базовые фильтры, конечно, сделаны на сервере. Например, заказы есть в работе и есть закрытые. По умолчанию тянутся только заказы в работе (их в районе 100шт), а закрытые заказы тянутся по специальному запросу (разумеется, тоже с фильтром по дате закрытия). А все остальное делается на клиенте при помощи js плагина tablesotrer
staircaseMaker
Цитата (Valick @ 26.08.2018 - 17:08)
данным клиентам никогда нельзя верить

Расскажите, пожалуйста, поподробнее об этом. Что именно надо проверять на сервере? У меня базовая валидация сделана на клиенте. Система пишется исключительно для внутреннего пользования, поэтому злонамеренность пользователей считаем маловероятной.
Игорь_Vasinsky
Цитата
Что именно надо проверять на сервере?

все, что идет от клиента - тем более.

Цитата
У меня базовая валидация сделана на клиенте

эта валидация по большей мере направлена на юзабилити и чтобы иметь возможность не отправлять данные на сервер если они заведомо кривые, НО - на сервере их проверять обязательно.

Цитата
Система пишется исключительно для внутреннего пользования, поэтому злонамеренность пользователей считаем маловероятной.

считай "защита от дурака"

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Эли4ка
Цитата
Система пишется исключительно для внутреннего пользования, поэтому злонамеренность пользователей считаем маловероятной.

Самая большая ошибка. Люди, которых вы случайно обидите и которые знают всю внутрянку наделают вам делов. Поблажку никому не стоит делать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.