โปรเจกต์ LightSpeed: พัฒนาแอป Facebook Messenger ใหม่ให้เล็กลงและเร็วขึ้น
(engineering.fb.com)-
เริ่มปล่อยแอป Messenger บน iOS ที่มีขนาดเหลือ 1/4 และเร็วขึ้น 2 เท่า
-
ใช้สิ่งที่มีอยู่ใน Native OS ให้มากที่สุดเท่าที่เป็นไปได้
-
เปลี่ยนเป็นรูปแบบที่เก็บทุกอย่างไว้ใน SQLite การทำงานทั้งหมดเกิดขึ้นใน DB และ UI มีหน้าที่เพียงแสดงผลเท่านั้น
-
แทนที่แอปกับเซิร์ฟเวอร์จะสื่อสารกันแยกตามฟีเจอร์ ให้ DB กับเซิร์ฟเวอร์โบรกเกอร์สื่อสารกันเพื่อทำให้ลอจิกเรียบง่ายขึ้น
1 ความคิดเห็น
ตอนแรกนึกว่าจะเป็นแค่บทความประมาณว่า เมสเซนเจอร์เร็วขึ้นแล้ว! แต่กลับให้ข้อมูลเชิงลึกเยอะมาก
แม้จะมี UI framework ออกมาหลากหลาย แต่เพื่อประสบการณ์ผู้ใช้ที่ดีที่สุด คำตอบก็ยังเป็น Native
เลือกใช้ SQLite DB เพื่อการนำ UI กลับมาใช้ซ้ำ
ยิ่งไปกว่านั้น ยังขยายแนวคิดนี้ต่อโดยใช้ SQLite เป็นระบบสากลที่รองรับทุกฟีเจอร์ ทุกอย่างเกิดขึ้นใน DB และ UI มีหน้าที่แค่แสดงผล
สร้าง unified schema ที่รองรับทุกฟีเจอร์ และพัฒนาแพลตฟอร์มแยกต่างหาก (MSYS) ที่สามารถสร้าง business logic ด้วย stored procedure ได้
วิธีที่แอปสื่อสารกับเซิร์ฟเวอร์ก็เปลี่ยนจากโปรโตคอลแยกกันรายตัวไปเป็นวิธีแบบรวมศูนย์
server broker สื่อสารกับแต่ละความสามารถของเซิร์ฟเวอร์ผ่าน gateway และทำให้ server broker กับ DB ของแอปซิงก์กัน เพื่อลดความซับซ้อนของ logic การสื่อสาร