Haruskah saya memproses JSON di frontend atau Backend, mana yang lebih cepat? [Tutup]

11

Saya mendapat respons dari API sebagai respons json. Saya mengkode dalam python untuk backend.

Tim frontend membutuhkan informasi dari respons raw json untuk mengisi UI sehingga kami harus memesan json dan membuatnya lebih mudah bagi mereka untuk mengambil informasi.

Sekarang saya dapat memesan json dalam format tertentu dan mendorong ke tim frontend atau saya dapat meneruskan respons json mentah * ke tim frontend dan membiarkan mereka menangani pemesanan json dan penggunaan lebih lanjut untuk UI mereka.

Ingat ukuran file json saya adalah 15MB .

Mana yang lebih cepat dan prinsip desain yang lebih baik?

Proses di backend lalu dorong ke frontend atau proses di frontend?

Denmark Xavier
sumber
Menurut pendapat saya, pemrosesan pada server lebih baik dalam kasus Anda karena ukuran dan panjang data, karena biasanya server memberikan kinerja yang jauh lebih baik daripada browser di pc.
Umair Khan
1
Idealnya, ujung depan hanya mengkonsumsi respons API. Mengingat UI akan berjalan di komputer orang lain (yang mungkin lemah dan lambat), Anda tidak ingin membongkar data munging ke sisi klien karena dapat menyebabkan pengalaman yang lambat dan tidak menyenangkan di webapp Anda. Respons dari backend harus lebih atau kurang dalam format yang diperlukan untuk ujung depan. Idealnya, front end tidak boleh melakukan banyak (jika ada) pemrosesan data nyata, yang harus dilakukan sisi server
Jayce444
2
15MB agak banyak, saya akan melakukannya di backend.
Boris

Jawaban:

7

Idealnya jika ukuran file 15 mb itu akan dimuat ke memori browser yang akan membuatnya lambat, saya akan menyarankan untuk melakukan operasi di backend saja.

Anda juga dapat membaca tautan ini untuk referensi. Perbedaan Antara python dan Javascript dan apa yang harus digunakan

  1. Salah satu aspek penting adalah JavaScript sulit di-debug. Anda mungkin memperhatikan bahwa meskipun kode Anda bebas dari kesalahan, program tidak akan berfungsi (gagal secara diam-diam).
Rahul Goyal
sumber
3

Itu selalu lebih baik untuk memproses data di backend itu sendiri.

Eswar RDS
sumber
2

Saya akan menyarankan untuk melakukan ini di backend, beberapa alasan utama saya menyarankan ini adalah:

  • Pemrosesan pada perangkat seluler menyebabkan pengurasan baterai yang sangat besar
  • Jika frontend Anda adalah web, javascript akan diblokir saat pemrosesan sedang berlangsung (yang dapat menyebabkan pengalaman buruk)
  • Respons server dapat di-cache untuk mempercepat waktu respons dan menurunkan pemrosesan duplikat
  • Bahasa backend Anda mungkin dapat melakukan tugas lebih optimal daripada perangkat frontend
Neibesh
sumber
0

Seperti yang telah dicatat oleh orang lain, ada beberapa alasan bagus untuk memilih pemrosesan di bagian belakang:

  • jika Anda dapat menghapus semua data yang tidak perlu dari JSON yang dikirim ke front-end, itu akan mengurangi beban pada perangkat pengguna akhir baik dalam hal transfer tetapi juga dalam waktu penguraian
  • dimungkinkan untuk melakukan cache panggilan API jarak jauh, jadi Anda tidak perlu membuat banyak panggilan ke API jarak jauh (yang biasanya akan sangat lambat dibandingkan dengan pengambilan cache). Anda juga dapat berpotensi menyimpan data setelah pemrosesan, sehingga Anda dapat menayangkannya berulang kali
  • Anda dapat mendeteksi kesalahan yang terjadi dalam memproses JSON, sedangkan itu kurang terlihat jika itu terjadi pada perangkat klien

Satu keuntungan besar lainnya untuk memproses respons API di back-end adalah Anda dapat memilih struktur yang Anda kirim ke ujung depan. Dengan begitu, jika API yang Anda gunakan mengalami perubahan dari waktu ke waktu (atau Anda mengubah layanan mana yang Anda gunakan untuk mengambil data), Anda dapat menangani perubahan itu di ujung belakang tanpa pernah memengaruhi kode front-end.

SimeonJM
sumber