ขณะนี้ฉันกำลังทำงานกับโครงการRuby on Railsซึ่งแสดงรายการรูปภาพ
สิ่งที่ต้องมีสำหรับโครงการนี้คือมันแสดงโพสต์ใหม่แบบเรียลไทม์โดยไม่จำเป็นต้องรีเฟรชหน้าเว็บ หลังจากค้นหาไประยะหนึ่งฉันได้พบกับโซลูชันและบริการ JavaScript บางอย่างเช่น PubNub; อย่างไรก็ตามไม่มีวิธีการแก้ปัญหาใด ๆ ที่ให้มา
ในโซลูชัน JavaScript ( การทำโพล ) จะเกิดสิ่งต่อไปนี้:
- ผู้ใช้ 1 ดูรายการภาพถ่าย
- ในพื้นหลังรหัส JavaScript จะทำการสำรวจจุดสิ้นสุดทุกวินาทีเพื่อดูว่ามีการโพสต์ใหม่หรือไม่
- ผู้ใช้ 2 เพิ่มรูปภาพใหม่
- มีความล่าช้า 50 วินาทีก่อนที่จะมีการเรียกใช้รอบใหม่และดึงข้อมูลใหม่
- เนื้อหาใหม่จะถูกโหลดในDOM
ดูเหมือนแปลกเมื่อแปลเป็นตัวอย่างในโลกแห่งความจริง:
- ผู้ใช้ 1 ถือกองรูปภาพไว้บนโต๊ะของเขา / เธอ
- เขา / เธอเดินไปที่ช่างภาพทุกวินาทีและถามว่าเขามีใหม่หรือไม่
- ช่างภาพสร้างภาพใหม่
- วินาทีนี้เมื่อเขา / เธอเดินเข้ามาเธอสามารถถ่ายรูปและวางลงบนกอง
ในความคิดของฉันทางออกควรเป็นดังนี้:
- ผู้ใช้ 1 ถือกองรูปภาพไว้บนโต๊ะของเขา / เธอ
- ช่างภาพจะถ่ายรูปใหม่
- ช่างภาพเดินไปที่กองและวางไว้กับส่วนที่เหลือ
วิธีการ PubNub นั้นเหมือนกัน แต่คราวนี้มีการฝึกงานระหว่างฝ่ายต่าง ๆ เพื่อแบ่งปันข้อมูล
จำเป็นต้องพูดโซลูชั่นทั้งสองใช้พลังงานอย่างมากเนื่องจากถูกทริกเกอร์แม้ว่าจะไม่มีข้อมูลที่จะโหลด
เท่าที่ความรู้ของฉันไปไม่มีคำอธิบาย (ตรรกะ) ทำไมการใช้วิธีนี้ในเกือบทุกแอปพลิเคชันเรียลไทม์