Thị trường trình duyệt web vẫn tiếp tục bị thống trị bởi engine Chromium của Google, nhưng một giải pháp thay thế có tên Servo đang âm thầm tiến bộ. Được xây dựng hoàn toàn bằng Rust, engine web thử nghiệm này mang đến cái nhìn về những gì có thể là tương lai của công nghệ duyệt web. Tuy nhiên, các bài kiểm tra gần đây cho thấy cả tiềm năng và những hạn chế hiện tại của nó.
![]() |
---|
Giới thiệu Servo : Một engine web thử nghiệm được xây dựng bằng Rust cho thấy tiềm năng cho tương lai của công nghệ web |
Hiệu Suất Hiện Tại Cho Thấy Kết Quả Trái Chiều
Việc kiểm tra các bản build mới nhất của Servo cho thấy một engine trình duyệt vẫn đang trong quá trình phát triển. Trong khi các trang web đơn giản như Wikipedia và các trang tin tức dạng văn bản hiển thị chính xác, những trang web phức tạp hơn gặp khó khăn với các phần tử chồng chéo và thỉnh thoảng bị crash. Engine này đạt 83 trên 100 điểm trong bài kiểm tra tiêu chuẩn web Acid3 cổ điển, thấp hơn 95 điểm mà các trình duyệt hiện đại như Chrome và Firefox đạt được.
Các benchmark hiệu suất vẽ nên một bức tranh thú vị. Trong các bài kiểm tra tốn nhiều đồ họa, Servo đạt được 60 khung hình trên giây với 400 hình ảnh động, trong khi Safari xử lý được hơn 1.500 hình ảnh ở cùng tốc độ khung hình. Tuy nhiên, những bài kiểm tra này không hoàn toàn công bằng vì Servo đang chạy dưới chế độ giả lập x86 trên phần cứng dựa trên ARM, điều này thường làm giảm hiệu suất.
Điểm chuẩn hiệu suất Servo
- Bài kiểm tra tiêu chuẩn web Acid3: 83/100 (so với 95/100 của các trình duyệt hiện đại)
- Bài kiểm tra đồ họa Dogemania: 60 FPS với tối đa 400 hình ảnh (so với hơn 1.500 hình ảnh của Safari)
- Bài kiểm tra Particle Physics: trung bình ~55 FPS
- Lưu ý: Các bài kiểm tra chạy dưới chế độ mô phỏng x86 trên phần cứng ARM, ảnh hưởng đến hiệu suất
Đổi Mới Kỹ Thuật Thông Qua Thiết Kế Modular
Cộng đồng phát triển đã đón nhận cách tiếp cận của Servo trong việc chia các thành phần engine web thành các thư viện độc lập. Một nhà phát triển đang làm việc trên hỗ trợ CSS Grid giải thích cách triển khai của họ sử dụng một thư viện bên ngoài có tên Taffy, mà các dự án Rust khác như trình soạn thảo văn bản Zed và game engine Bevy cũng sử dụng. Cách tiếp cận modular này có thể giúp các nhà phát triển tương lai dễ dàng hơn trong việc xây dựng các engine web mới mà không cần bắt đầu từ đầu.
Engine này ưu tiên hai lĩnh vực chính: hoạt động đa luồng và an toàn bộ nhớ. Các bộ xử lý hiện đại hoạt động tốt nhất khi các tác vụ có thể được chia ra trên nhiều lõi, và thiết kế của Rust giúp ngăn chặn các lỗi bảo mật liên quan đến bộ nhớ gây ra vấn đề cho các trình duyệt khác. Nhóm Chromium của Google đã lưu ý rằng khoảng 70% các vấn đề bảo mật nghiêm trọng của họ xuất phát từ các vấn đề an toàn bộ nhớ.
Ưu điểm kỹ thuật của Servo
- Được viết hoàn toàn bằng ngôn ngữ lập trình Rust
- Hoạt động đa luồng để tận dụng CPU tốt hơn
- Tính an toàn bộ nhớ giảm thiểu các lỗ hổng bảo mật
- Thiết kế modular với các thành phần có thể tái sử dụng (như thư viện layout Taffy)
- Được quản lý bởi Linux Foundation Europe với mô hình quản trị mở
Sự Thất Vọng Của Cộng Đồng Với Quyết Định Của Mozilla
Những cuộc thảo luận sôi nổi nhất tập trung vào quyết định của Mozilla năm 2020 về việc từ bỏ phát triển Servo. Ban đầu được khởi động như một dự án nghiên cứu của Mozilla vào năm 2012, Servo được dự định cuối cùng sẽ thay thế engine Gecko đã cũ của Firefox. Mozilla thậm chí đã tích hợp thành công CSS engine của Servo vào Firefox, tạo ra bản phát hành Firefox Quantum nhanh hơn vào năm 2017.
Tuy nhiên, việc cắt giảm ngân sách đã khiến Mozilla sa thải 250 nhân viên, bao gồm hầu hết nhóm phát triển Servo. Quyết định này vẫn tiếp tục làm bối rối cộng đồng kỹ thuật, đặc biệt là với mối quan hệ tài chính đang diễn ra giữa Mozilla và Google. Gã khổng lồ tìm kiếm trả cho Mozilla hàng trăm triệu đô la Mỹ hàng năm để duy trì vị trí công cụ tìm kiếm mặc định của Firefox, nhưng Mozilla lại chọn từ bỏ những gì nhiều người coi là tương lai kỹ thuật của họ.
Thật khó hiểu khi một công ty thường xuyên dường như đang chạy theo Google, Mozilla thực sự đã vượt qua Google trong không gian phát triển trình duyệt trong một thời gian, và sau đó quyết định rằng điều đó không đáng để theo đuổi thêm nữa.
Các Engine Thay Thế Xuất Hiện
Trong khi Servo tiếp tục phát triển dưới Linux Foundation, các dự án khác cũng đang thách thức sự thống trị của browser engine. Ladybird, được viết bằng C++ bởi các nhà phát triển WebKit cũ, đã thu hút sự chú ý vì được tài trợ bằng quyên góp mà không có sự hậu thuẫn của công ty. Một số thành viên cộng đồng cho rằng Ladybird đã vượt trội hơn Servo trong các bài kiểm tra hiển thị web, mặc dù cả hai engine vẫn còn xa mới sẵn sàng cho sản xuất.
Cộng đồng kỹ thuật vẫn chia rẽ về cách tiếp cận nào mang lại con đường tốt nhất phía trước. Một số ủng hộ nền tảng Rust an toàn bộ nhớ của Servo, trong khi những người khác đánh giá cao sự độc lập của Ladybird khỏi các công ty công nghệ lớn. Cả hai dự án đều đối mặt với thách thức to lớn là bắt kịp các browser engine được hỗ trợ bởi các nhóm lớn hơn hàng trăm lần.
Bối cảnh các Engine Trình duyệt
- Chromium/Blink: Được sử dụng bởi Chrome , Edge , Opera , Brave , Arc , Vivaldi
- WebKit: Cung cấp sức mạnh cho Safari và một số trình duyệt thay thế khác
- Gecko: Engine hiện tại của Firefox (tích hợp một số thành phần từ Servo )
- Servo: Engine thử nghiệm dựa trên Rust ( Linux Foundation )
- Ladybird: Engine thay thế bằng C++ (được tài trợ qua quyên góp)
Nhìn Về Phía Trước
Lộ trình hiện tại của Servo tập trung vào việc triển khai hỗ trợ Shadow DOM và CSS Grid, điều này sẽ khắc phục nhiều vấn đề hiển thị trên các trang web phổ biến. Dự án tiếp tục nhận được đóng góp từ các nhà phát triển trên toàn thế giới, mặc dù tiến độ vẫn chậm so với tốc độ phát triển nhanh chóng của các tiêu chuẩn web.
Liệu Servo hay bất kỳ engine thay thế nào có thể thách thức một cách có ý nghĩa sự thống trị của Chrome vẫn còn chưa chắc chắn. Web đã trở nên cực kỳ phức tạp, và việc xây dựng một browser engine cạnh tranh đòi hỏi nguồn lực khổng lồ và cam kết bền vững. Tuy nhiên, việc tiếp tục phát triển những giải pháp thay thế này mang lại hy vọng cho một hệ sinh thái trình duyệt đa dạng và cạnh tranh hơn trong tương lai.
Tham khảo: I tried Servo, the undercover web browser engine made with Rust