กรอบงานเว็บ Pusa ที่ถ่ายโอนตรรกะส่วนหน้าของ JavaScript ไปยังฝั่งเซิร์ฟเวอร์

กรอบงานเว็บ Pusa ได้รับการเผยแพร่ด้วยการใช้แนวคิดที่ถ่ายโอนตรรกะส่วนหน้าซึ่งดำเนินการในเบราว์เซอร์โดยใช้ JavaScript ไปยังฝั่งหลัง - การจัดการเบราว์เซอร์และองค์ประกอบ DOM รวมถึงตรรกะทางธุรกิจที่ดำเนินการ ส่วนหลัง รหัส JavaScript ที่ทำงานบนฝั่งเบราว์เซอร์จะถูกแทนที่ด้วยเลเยอร์สากลที่เรียกตัวจัดการที่อยู่ด้านหลังฝั่ง ไม่จำเป็นต้องพัฒนาโดยใช้ JavaScript สำหรับส่วนหน้า การใช้งานอ้างอิง Pusa เขียนด้วย PHP และได้รับอนุญาตภายใต้ GPLv3 นอกจาก PHP แล้ว เทคโนโลยีดังกล่าวยังสามารถนำไปใช้ในภาษาอื่นได้อีกด้วย รวมถึง JavaScript/Node.js, Java, Python, Go และ Ruby

Pusa กำหนดโปรโตคอลการแลกเปลี่ยนตามชุดคำสั่งที่เรียบง่าย เมื่อโหลดหน้าเว็บ เบราว์เซอร์จะโหลดเนื้อหา DOM พื้นฐานและแกน JavaScript ของ Pusa-Front Pusa-Front ส่งเหตุการณ์เบราว์เซอร์ (เช่น คลิก เบลอ โฟกัส และการกดปุ่ม) และพารามิเตอร์คำขอ (องค์ประกอบที่ทำให้เกิดเหตุการณ์ คุณลักษณะ URL ฯลฯ) ไปยังตัวจัดการเซิร์ฟเวอร์ Pusa-Back โดยใช้คำขอ Ajax จากข้อมูลที่ได้รับ Pusa-Back จะกำหนดคอนโทรลเลอร์ ดำเนินการเพย์โหลด และสร้างชุดคำสั่งตอบสนอง หลังจากได้รับการตอบกลับคำขอแล้ว Pusa-Front จะดำเนินการคำสั่ง โดยเปลี่ยนเนื้อหาของ DOM และสภาพแวดล้อมของเบราว์เซอร์

สถานะของส่วนหน้าจะถูกสร้างขึ้นแต่ไม่ได้ควบคุมโดยส่วนหลัง ซึ่งทำให้การพัฒนาสำหรับ Pusa คล้ายกับโค้ดสำหรับการ์ดแสดงผลหรือ Canvas โดยที่ผลลัพธ์ของการดำเนินการไม่ได้ถูกควบคุมโดยนักพัฒนา หากต้องการสร้างแอปพลิเคชันแบบโต้ตอบโดยใช้ Canvas และ onmousemove สามารถดาวน์โหลดและใช้สคริปต์ JavaScript เพิ่มเติมบนฝั่งไคลเอ็นต์ได้ ข้อเสียของวิธีการนี้ยังมีการถ่ายโอนส่วนหนึ่งของโหลดจากส่วนหน้าไปยังส่วนหลังและการเพิ่มความถี่ในการแลกเปลี่ยนข้อมูลกับเซิร์ฟเวอร์

ข้อดีได้แก่: ขจัดความจำเป็นในการมีส่วนร่วมของนักพัฒนาส่วนหน้า JavaScript, โค้ดไคลเอ็นต์ที่มีความเสถียรและกะทัดรัด (11kb), ไม่สามารถเข้าถึงโค้ดหลักจากส่วนหน้า, ไม่จำเป็นต้องซีเรียลไลซ์ REST และเครื่องมือ เช่น gRPC, กำจัด ปัญหาของการประสานงานการกำหนดเส้นทางคำขอระหว่างส่วนหน้าและส่วนหลัง

ที่มา: opennet.ru

เพิ่มความคิดเห็น