ฉันควรประมวลผล JSON ในส่วนหน้าหรือส่วนหลังซึ่งเร็วกว่ากัน [ปิด]


11

ฉันได้รับการตอบสนองจาก API เป็นการตอบสนอง json ฉันกำลังเขียนโปรแกรมในหลามสำหรับแบ็กเอนด์

ทีมส่วนหน้าต้องการข้อมูลจากการตอบกลับแบบ json แบบ raw สำหรับการเติม UI ดังนั้นเราจึงต้องสั่ง json และทำให้ง่ายขึ้นสำหรับพวกเขาในการดึงข้อมูล

ตอนนี้ฉันสามารถสั่งซื้อ json ในรูปแบบเฉพาะและผลักดันไปยังทีมส่วนหน้าหรือฉันสามารถส่งคำตอบ json ดิบ * ไปยังทีมส่วนหน้าและให้พวกเขาจัดการสั่งซื้อ json และใช้ UI ของพวกเขาต่อไป

โปรดจำไว้ว่าไฟล์ JSON ของฉันมีขนาด15MB

ข้อใดเร็วกว่าและหลักการออกแบบที่ดีกว่า

ดำเนินการในส่วนแบ็คเอนด์แล้วกดไปที่ส่วนหน้าหรือดำเนินการในส่วนหน้าหรือไม่


ในความคิดของฉันการประมวลผลบนเซิร์ฟเวอร์ดีกว่าในกรณีของคุณเนื่องจากขนาดและความยาวของข้อมูลเนื่องจากเซิร์ฟเวอร์มักให้ประสิทธิภาพที่ดีกว่าเบราว์เซอร์ในพีซี
Umair Khan

1
แนวความคิดส่วนหน้าใช้การตอบสนองของ API เพียงอย่างเดียว เนื่องจาก UI จะทำงานบนคอมพิวเตอร์ของผู้อื่น (ซึ่งอาจจะช้าและช้า) คุณไม่ต้องการที่จะถ่ายโอนข้อมูลไปยังฝั่งไคลเอ็นต์เพราะมันจะนำไปสู่ประสบการณ์ที่ช้าและไม่พึงประสงค์ในเว็บแอปของคุณ การตอบสนองจากแบ็กเอนด์ควรมากหรือน้อยในรูปแบบที่จำเป็นสำหรับส่วนหน้า แนวความคิดส่วนหน้าไม่ควรทำการประมวลผลข้อมูลจริงมาก (ถ้ามี) ที่ควรทำฝั่งเซิร์ฟเวอร์
Jayce444

2
15MB เป็นจำนวนมากฉันจะทำมันในแบ็กเอนด์
บอริส

คำตอบ:


7

เป็นการดีถ้าขนาดไฟล์ 15 mb มันจะถูกโหลดไปยังหน่วยความจำของเบราว์เซอร์ซึ่งจะทำให้มันช้าฉันจะแนะนำให้ดำเนินการในแบ็กเอนด์เท่านั้น

คุณสามารถไปที่ลิงค์นี้เพื่ออ้างอิงได้ ความแตกต่างระหว่าง python และ Javascript กับสิ่งที่จะใช้

  1. สิ่งสำคัญอย่างหนึ่งคือ JavaScript ยากต่อการตรวจแก้จุดบกพร่อง คุณอาจสังเกตเห็นว่าแม้รหัสของคุณจะปราศจากข้อผิดพลาด แต่โปรแกรมก็ไม่ทำงาน (ล้มเหลวอย่างเงียบ ๆ )


2

ฉันขอแนะนำให้ทำสิ่งนี้ในแบ็กเอนด์เหตุผลสำคัญที่ฉันขอแนะนำคือ:

  • การประมวลผลบนอุปกรณ์พกพานำไปสู่การระบายแบตเตอรี่ขนาดใหญ่
  • หากส่วนหน้าของคุณคือเว็บจาวาสคริปต์จะบล็อกในขณะที่กำลังประมวลผล (ซึ่งอาจนำไปสู่ประสบการณ์ที่ไม่ดี)
  • การตอบสนองของเซิร์ฟเวอร์สามารถแคชเพื่อเร่งเวลาตอบสนองและลดการประมวลผลซ้ำ
  • ภาษาแบ็คเอนด์ของคุณอาจทำงานได้อย่างเหมาะสมที่สุดจากนั้นอุปกรณ์ส่วนหน้าสามารถ

0

ดังที่คนอื่น ๆ ระบุไว้มีเหตุผลที่ดีพอสมควรที่จะชอบการประมวลผลที่ส่วนท้าย:

  • หากคุณสามารถลบข้อมูลที่ไม่จำเป็นทั้งหมดออกจาก JSON ที่ถูกส่งไปยังส่วนหน้ามันจะลดภาระในอุปกรณ์ของผู้ใช้ทั้งในแง่ของการถ่ายโอน แต่ยังอยู่ในเวลาในการแยก
  • อาจเป็นไปได้ที่จะแคชการเรียก API ระยะไกลดังนั้นคุณไม่จำเป็นต้องทำการโทรออกไปยัง API ระยะไกลจำนวนมาก (ซึ่งโดยทั่วไปจะช้ามากเมื่อเทียบกับการดึงข้อมูลแคช) คุณยังสามารถแคชข้อมูลหลังการประมวลผลได้ดังนั้นคุณจึงสามารถให้บริการได้ซ้ำ ๆ
  • คุณสามารถตรวจพบข้อผิดพลาดที่เกิดขึ้นในการประมวลผล JSON ในขณะที่จะมองเห็นได้น้อยลงหากเกิดขึ้นบนอุปกรณ์ไคลเอนต์

ข้อดีอีกข้อหนึ่งที่สำคัญในการประมวลผลการตอบสนอง API ที่ส่วนท้ายคือคุณสามารถเลือกโครงสร้างที่คุณส่งไปยังส่วนหน้า ด้วยวิธีนี้หาก API ที่คุณใช้มีการเปลี่ยนแปลงตลอดเวลา (หรือคุณเปลี่ยนบริการที่คุณใช้เพื่อดึงข้อมูล) คุณสามารถจัดการกับการเปลี่ยนแปลงนั้นในส่วนหลังโดยไม่ส่งผลกระทบต่อรหัสส่วนหน้า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.