- Ladybird là một dự án mã nguồn mở hướng tới xây dựng một trình duyệt web độc lập, không dựa trên Chrome.
- Được viết bằng C++ và sử dụng giấy phép 2-Clause BSD.
- Ban đầu là một phần của dự án SerenityOS, nhưng sau đó được nhà phát triển Andreas Kling tách ra thành dự án độc lập.
Bối cảnh dự án
- Andreas Kling bắt đầu SerenityOS vào năm 2018, sau đó rời SerenityOS để tập trung vào trình duyệt Ladybird.
- SerenityOS là dự án mà Kling khởi động sau khi hoàn thành chương trình cai nghiện; ông từng có kinh nghiệm làm việc trên các trình duyệt dựa trên WebKit tại Apple và Nokia.
Tiến độ dự án
- Ladybird hiện vẫn đang ở giai đoạn phát triển ban đầu (pre-alpha).
- Hiện có thể chạy trên Linux, macOS và các hệ điều hành họ UNIX khác.
- Trên Windows, có thể chạy thông qua WSL2, nhưng hiện vẫn chưa có hỗ trợ Windows độc lập.
- Dự án hiện chưa cung cấp bản nhị phân trên bất kỳ nền tảng nào; người dùng phải tự build từ mã nguồn.
Tính năng và hiệu năng
- Tính năng cơ bản: có thanh URL/tìm kiếm, làm mới, tab, phóng to/thu nhỏ nội dung, chụp màn hình và điều hướng tiến/lùi.
- Tính năng còn thiếu: chưa có dấu trang, lịch sử, tiện ích mở rộng, quản lý mật khẩu, in ấn và lưu hình ảnh.
- Hỗ trợ CSS: trong bài kiểm tra CSS Selectors, đạt 100% ở cấp độ 1-3 và 53% ở cấp độ 4.
- Hỗ trợ JavaScript: hoạt động được nhưng chậm.
- Công cụ cho nhà phát triển: có trình kiểm tra cây DOM và cây trợ năng, các chức năng tạo dump khác nhau và khả năng giả mạo User-Agent.
Kế hoạch sắp tới
- Sử dụng thư viện có sẵn: dự định dùng các thư viện hiện có thay vì các thư viện tự phát triển trong SerenityOS.
- Sự tham gia của nhà phát triển: dự án thảo luận phát triển trên máy chủ Discord, và maintainer được lựa chọn theo hình thức mời.
Ý kiến của GN⁺
- Thách thức kỹ thuật: Ladybird hướng tới một trình duyệt web độc lập, nhưng tính năng và hiệu năng hiện tại vẫn khó so sánh với các trình duyệt chủ lưu. Đặc biệt, vẫn cần nhiều cải thiện về bảo mật và hiệu năng.
- Cộng đồng phát triển: để dự án thành công, cần một cộng đồng nhà phát triển năng động và những đóng góp liên tục. Kênh YouTube và máy chủ Discord của Kling có thể là điểm khởi đầu tốt cho điều này.
- Cạnh tranh với các trình duyệt hiện có: có lẽ sẽ cần nhiều thời gian để cạnh tranh với các trình duyệt hiện có như Firefox hay Chrome. Đặc biệt, việc tuân thủ tiêu chuẩn web và hỗ trợ đa dạng tính năng là rất quan trọng.
- Lựa chọn công nghệ: được viết bằng C++, Ladybird có thể có lợi thế về hiệu năng, nhưng cũng đáng để cân nhắc sử dụng các ngôn ngữ hiện đại như Rust. Rust mang lại nhiều ưu điểm về an toàn bộ nhớ và hiệu năng.
- Trải nghiệm người dùng: hiện tại Ladybird chưa phù hợp với người dùng phổ thông. Việc cải thiện trải nghiệm người dùng và bổ sung thêm nhiều tính năng là rất quan trọng.
1 bình luận
Ý kiến trên Hacker News