Чи слід обробляти JSON у фронтальному або Backend, що швидше? [зачинено]


11

Я отримую відповідь від API як json відповідь. Я кодую в python для бекенда.

Команді фронтенду потрібна інформація з необробленої відповіді json для заповнення інтерфейсу користувача, тому ми маємо замовити json та полегшити їх отримання інформації.

Тепер я можу замовити json у певному форматі та надіслати команду frontend або можу передати необроблену відповідь json * команді frontend та дозволити їм обробляти замовлення json та подальше використання їх інтерфейсу.

Пам'ятайте, розмір мого файлу json - 15 Мб .

Який швидший і кращий принцип дизайну?

Обробити в бекенді, потім натиснути на фронтменд чи обробити у фронталі?


На мою думку, обробка на сервері краща у вашому випадку через розмір та тривалість даних, оскільки зазвичай сервери дають набагато кращі показники, ніж браузери на ПК.
Умаїр Хан

1
В ідеалі передній кінець просто споживає відповіді API. З огляду на те, що інтерфейс працює на комп'ютерах інших людей (які можуть бути слабкими і повільними), ви не хочете перевантажувати передачу даних на сторону клієнта, оскільки це може призвести до повільного і неприємного досвіду у вашому веб-переглядачі. Відповідь з бекенда повинна бути більш-менш у форматі, необхідному для переднього кінця. В ідеалі передній кінець не повинен робити багато (якщо така є) реальної обробки даних, що слід робити на стороні сервера
Jayce444

2
15 Мб - це дуже багато, я б це робив на бекенді.
Борис

Відповіді:


7

В ідеалі, якщо розмір файлу становить 15 мб, він буде завантажений у пам’ять браузерів, що зробить його повільним, я б запропонував зробити операцію лише в бекенді.

Ви також можете перейти за цим посиланням для довідок. Різниця між python та Javascript та чим користуватися

  1. Важливим аспектом є те, що JavaScript важко налагодити. Ви можете помітити, що незважаючи на те, що ваш код не містить помилок, програма не працюватиме (тихо виходить з ладу).


2

Я б запропонував виконати це на бекенді, і деякі ключові причини, які я б запропонував, це:

  • Обробка на мобільних пристроях призводить до масового розряду акумулятора
  • Якщо ваш інтерфейс в Інтернеті, javascript буде блокуватися під час обробки (що може призвести до поганого досвіду)
  • Відповідь сервера можна кешувати, щоб пришвидшити час відповіді та зменшити обробку дублікатів
  • Ваша мова вхідного сервера може виконати завдання більш оптимально, ніж це може пристрій фронтального зв'язку

0

Як зазначають інші, є досить багато вагомих причин віддати перевагу обробці на зворотному кінці:

  • якщо ви зможете видалити всі непотрібні дані з JSON, що надсилається на передній план, це зменшить навантаження на пристрій кінцевого користувача, як з точки зору передачі, так і за час розбору
  • можливо кешувати віддалений виклик API, тому вам не потрібно робити стільки дзвінків у віддалені API (що, як правило, буде дуже повільним порівняно з пошуком кешу). Ви також можете потенційно кешувати дані після обробки, так що ви можете просто їх повторно виконувати
  • Ви можете виявити помилки, які трапляються при обробці JSON, тоді як вони менш помітні, якщо це відбувається на клієнтському пристрої

Ще одна велика перевага при обробці відповіді API на бек-енді - це те, що ви можете вибрати структуру, яку ви надсилаєте на передню частину. Таким чином, якщо API, який ви вживаєте, зміни з часом (або ви змінюєте службу, яку використовуєте для отримання даних), ви можете впоратися з цією зміною на зворотному боці, не впливаючи ніколи на фронтальний код.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.