Sự ra mắt gần đây của ElectroBun, một framework ứng dụng desktop mới hứa hẹn khả năng siêu nhanh, nhẹ và đa nền tảng, đã làm dấy lên những cuộc thảo luận trong cộng đồng lập trình viên về những thách thức và đánh đổi của các chiến lược phát triển đa nền tảng.
Những lo ngại về tính tương thích nền tảng
Mặc dù được quảng cáo là một giải pháp đa nền tảng, hiện tại ElectroBun chỉ hỗ trợ phát triển trên hệ thống macOS ARM, dẫn đến nhiều tranh cãi trong cộng đồng lập trình viên. Mặc dù dự án này hướng tới việc hỗ trợ Windows và Linux cho việc triển khai ứng dụng, quy trình phát triển vẫn chỉ tập trung vào Mac. Giới hạn này đã làm dấy lên những câu hỏi về việc framework này có thực sự xứng đáng được gọi là đa nền tảng hay không, với một số lập trình viên tỏ ra hoài nghi về quyết định chiến lược này.
Tôi là người đầu tiên đồng ý với việc giảm phạm vi, nhưng thực tế của việc phát triển đa nền tảng là những chi tiết nhỏ ảnh hưởng đến API, và khi bạn thêm nhiều nền tảng, bạn có thể nhận ra vấn đề quá muộn. Ví dụ đơn giản, MacOS có khái niệm hiển thị/kích hoạt ứng dụng trong khi Windows thì... chỉ có các cửa sổ riêng lẻ.
Hỗ trợ dự kiến trong tương lai:
- Hỗ trợ chạy trên Windows
- Hỗ trợ chạy trên Linux
- Hỗ trợ cho máy Mac dùng chip Intel
- Tích hợp tùy chọn Chromium
Kiến trúc kỹ thuật và hiệu năng
ElectroBun tách biệt với Electron bằng cách sử dụng Bun thay vì Node.js và tận dụng WebView có sẵn của hệ thống thay vì đóng gói Chromium. Cách tiếp cận này tạo ra kích thước ứng dụng nhỏ hơn đáng kể, với các gói ứng dụng tự giải nén khoảng 12MB và các bản cập nhật chỉ nhỏ 4KB. Framework này sử dụng các ràng buộc gốc được viết bằng Zig và C/Objective-C, với cải tiến gần đây triển khai RPC socket mã hóa đã cải thiện đáng kể hiệu suất cho các thao tác tệp tin lớn.
Thông số kỹ thuật hiện tại:
- Nền tảng phát triển: Chỉ hỗ trợ macOS (ARM)
- Môi trường thực thi: Bun
- Công cụ giao diện người dùng: System WebView
- Tích hợp Native: Zig, C/Objective-C
- Kích thước gói ứng dụng: Khoảng 12MB
- Kích thước cập nhật: Nhỏ nhất 4KB
Tranh luận về triển khai WebView
Một điểm thảo luận quan trọng xoay quanh việc ElectroBun sử dụng WebView hệ thống thay vì đóng gói Chromium. Mặc dù lựa chọn này giúp giảm kích thước ứng dụng và loại bỏ nhu cầu cập nhật bảo mật thường xuyên, nó lại tạo ra những thách thức về tính tương thích đa trình duyệt. Nhà phát triển đã lưu ý rằng yêu cầu phổ biến nhất là tùy chọn đóng gói Chromium, đặc biệt là từ các startup muốn nhanh chóng chuyển các ứng dụng web được tối ưu hóa cho Chrome sang desktop.
Trọng tâm phát triển và kế hoạch tương lai
Người sáng tạo dự án đã thừa nhận phạm vi công việc phía trước còn rất lớn, cho biết cách tiếp cận chỉ dành cho Mac hiện tại là tạm thời. Lộ trình cho thấy việc tập trung vào đạt được sự ổn định và khả năng triển khai mạnh mẽ cho Windows và Linux trước khi mở rộng hỗ trợ nền tảng phát triển, với kế hoạch hỗ trợ nền tảng rộng rãi hơn sau phiên bản 1.0.0.
Cuộc thảo luận xung quanh ElectroBun nhấn mạnh những thách thức đang diễn ra trong phát triển đa nền tảng hiện đại, đặc biệt là sự cân bằng giữa chức năng ngay lập tức và các quyết định kiến trúc dài hạn sẽ ảnh hưởng đến khả năng tương thích đa nền tảng.
Nguồn tham khảo: ElectroBun: Một giải pháp hoàn chỉnh để xây dựng ứng dụng desktop siêu nhanh, nhẹ và đa nền tảng