Dự án LightSpeed: Tái phát triển ứng dụng Facebook Messenger nhỏ gọn và nhanh hơn
(engineering.fb.com)-
Bắt đầu triển khai ứng dụng Messenger trên iOS có kích thước chỉ bằng 1/4 và tốc độ nhanh gấp đôi
-
Sử dụng tối đa các thành phần có sẵn của Native OS
-
Chuyển sang cách lưu trữ mọi thứ trong SQLite. Mọi tác vụ diễn ra trong DB, còn UI chỉ có vai trò hiển thị
-
Thay vì để ứng dụng và máy chủ giao tiếp theo từng chức năng, cho DB và server broker giao tiếp với nhau để đơn giản hóa logic
1 bình luận
Tôi cứ nghĩ đây sẽ chỉ là một bài kiểu “Messenger đã nhanh hơn thôi!” nhưng lại cho rất nhiều insight.
Dù có nhiều UI framework khác nhau xuất hiện, để có trải nghiệm người dùng tốt nhất thì Native vẫn là đáp án
Chọn cơ sở dữ liệu SQLite để tái sử dụng UI
Thậm chí còn mở rộng hơn nữa, dùng SQLite như một hệ thống phổ quát hỗ trợ mọi tính năng. Mọi chức năng đều diễn ra trong DB và UI chỉ đảm nhiệm việc hiển thị
Tạo một schema hợp nhất hỗ trợ mọi chức năng, đồng thời phát triển riêng một nền tảng cho phép xây dựng business logic bằng stored procedure (MSYS)
Cách ứng dụng giao tiếp với máy chủ cũng được chuyển từ các giao thức riêng lẻ sang phương thức hợp nhất
Server broker giao tiếp với từng chức năng của máy chủ qua gateway, đồng thời đồng bộ DB của server broker với ứng dụng để đơn giản hóa logic giao tiếp