Servo Browser Engine Đạt Mốc Phát Hành 0.0.1 Sau Một Thập Kỷ Phát Triển

Nhóm Cộng đồng BigGo
Servo Browser Engine Đạt Mốc Phát Hành 0.0.1 Sau Một Thập Kỷ Phát Triển

Sau hơn một thập kỷ phát triển và 50.000 lần commit, dự án trình duyệt Servo đã đạt được một cột mốc quan trọng với bản phát hành chính thức đầu tiên. Engine trình duyệt được xây dựng bằng Rust, ban đầu được phát triển bởi Mozilla Research, hiện đã được gắn nhãn phiên bản 0.0.1, đánh dấu một giai đoạn mới cho công nghệ trình duyệt thử nghiệm nhằm thách thức sự độc quyền song phương của các engine web hiện tại.

Nền tảng kỹ thuật của Servo:

  • Được viết bằng ngôn ngữ lập trình Rust
  • Thiết kế theo module với các thành phần có thể tái sử dụng
  • CSS engine (Stylo) được chia sẻ với Firefox
  • Hỗ trợ macOS, Linux, Windows, Android, OpenHarmony
  • Sử dụng WebRender cho việc render đồ họa
  • Hơn 50.000 commit trong suốt một thập kỷ phát triển

Quy Trình Phát Hành Được Chờ Đợi Từ Lâu Bắt Đầu

Nhóm phát triển Servo đã khởi động một quy trình phát hành chính thức, lên kế hoạch công bố các bản phát hành được gắn thẻ hàng tháng dựa trên các bản build hàng đêm gần đây đã trải qua thêm quá trình kiểm tra thủ công. Điều này đại diện cho một sự thay đổi so với cách tiếp cận phát triển trước đây của dự án, nơi các bản build có sẵn nhưng không được định phiên bản chính thức. Thông báo phát hành giải thích rằng các tệp nhị phân này về cơ bản giống với các bản build hàng đêm vốn đã có sẵn từ trang tải xuống, nhưng được kiểm tra thủ công bổ sung để xác định các sự cố và lỗi hồi quy trước khi gắn thẻ. Hiện tại, nhóm đang áp dụng một quy trình phát hành đơn giản mà không có kế hoạch xuất bản trên crates.io hoặc các cửa hàng ứng dụng dành riêng cho nền tảng, thay vào đó tập trung vào các bản phát hành GitHub để tham khảo trong tương lai.

Từ blog: Hôm nay, nhóm Servo đã phát hành các phiên bản mới của các tệp nhị phân servoshell cho tất cả các nền tảng được hỗ trợ, được gắn thẻ v0.0.1.

Kiểm Tra Cộng Đồng Cho Thấy Kết Quả Hỗn Hợp Nhưng Đầy Hứa Hẹn

Việc kiểm tra người dùng ban đầu cho thấy Servo xử lý tốt nội dung web cơ bản trong khi gặp khó khăn với các trang web phức tạp hơn. Người dùng báo cáo rằng các trang web nặng về văn bản hiển thị nhanh chóng và hiệu quả, nhưng các trang có nhiều tùy chỉnh thường hiển thị lỗi rendering với các phần tử xuất hiện lung tung. Việc sử dụng bộ nhớ có vẻ cao hơn một chút so với Firefox với cùng các tab, mặc dù không quá mức. Một người dùng lưu ý rằng việc tìm kiếm hình ảnh Google mất hơn 10 giây để hiển thị và trải qua các trạng thái rất lỗi, cho thấy engine vẫn còn nhiều công việc tối ưu hóa hiệu suất phía trước. Tuy nhiên, nhiều người thử nghiệm bày tỏ sự ngạc nhiên về mức độ chức năng mà trình duyệt đã có được với tình trạng thử nghiệm của nó.

Nhận xét từ Kiểm thử Người dùng:

  • Điểm mạnh: Render nhanh các trang web nhiều văn bản, hỗ trợ CSS tốt
  • Điểm yếu: Vấn đề render các trang web phức tạp, cuộn giật lag, sử dụng bộ nhớ cao
  • Hiệu năng: Tìm kiếm hình ảnh Google mất hơn 10 giây để render
  • Kích thước Binary: Hơn 100MB trên Mac, tương tự như Electron

Bối Cảnh Rộng Lớn Hơn Của Các Engine Trình Duyệt

Việc phát hành của Servo diễn ra trong bối cảnh sự quan tâm ngày càng tăng đối với các engine trình duyệt thay thế, với các so sánh thường được rút ra với Ladybird, một dự án engine trình duyệt mới nổi khác. Thảo luận trong cộng đồng làm nổi bật các cách tiếp cận triết học khác nhau - Servo được hưởng lợi từ di sản Mozilla và nền tảng Rust, trong khi Ladybird, được tạo bởi cựu nhà phát triển WebKit Andreas Kling, đã cho thấy tiến độ ấn tượng mặc dù được viết bằng C++. Cả hai dự án đều phải đối mặt với thách thức khổng lồ là theo kịp sự tiến hóa của các tiêu chuẩn web bị chi phối bởi các tập đoàn lớn. Cuộc thảo luận tiết lộ rằng nhiều người trong cộng đồng công nghệ đang mong muốn có những lựa chọn thay thế khả thi để phá vỡ thứ mà họ coi là sự độc quyền song phương Chrome/Safari trong các engine hiển thị web.

Bối cảnh công cụ trình duyệt hiện tại:

  • Blink (Chromium/Chrome): Do Google dẫn dắt, thống trị nhất
  • WebKit (Safari): Do Apple dẫn dắt, bắt buộc trên iOS
  • Gecko (Firefox): Mozilla, thị phần đang giảm
  • Servo: Thử nghiệm, dựa trên Rust, kiến trúc modular
  • Ladybird: Công cụ C++ mới do cựu nhà phát triển WebKit tạo ra

Kiến Trúc Mô-đun Mang Lại Hy Vọng Về Tính Bền Vững

Một lợi thế chính cho tính khả thi lâu dài của Servo nằm ở thiết kế mô-đun của nó. Các thành phần như engine CSS Stylo đã được chia sẻ với Firefox, và các dự án khác đang xây dựng dựa trên cơ sở hạ tầng của Servo. Engine trình duyệt Blitz, chẳng hạn, tận dụng engine CSS và trình phân tích cú pháp HTML của Servo trong khi triển khai hệ thống bố cục riêng của nó. Cách tiếp cận mô-đun này có thể làm cho việc phát triển engine trình duyệt trở nên dễ tiếp cận hơn bằng cách cho phép các dự án trong tương lai tái sử dụng các thành phần đã được chứng minh thay vì xây dựng mọi thứ từ đầu. Một số nhà phát triển đang khám phá các thành phần này cho các trường hợp sử dụng nhúng, từ giao diện người dùng trò chơi đến các khung ứng dụng thay thế, mặc dù API WebView ổn định để nhúng chung vẫn chưa sẵn sàng.

Hướng Tới Tương Lai

Hành trình của dự án Servo phản ánh cả thách thức to lớn của việc phát triển engine trình duyệt lẫn nhu cầu bền bỉ về sự đa dạng trong công nghệ web. Mặc dù bản phát hành 0.0.1 đại diện cho các giai đoạn đầu của sự trưởng thành, việc thiết lập một nhịp độ phát hành thường xuyên cho thấy dự án đang chuyển đổi từ nghiên cứu thuần túy sang phát triển tập trung vào sản phẩm hơn. Phản hồi từ cộng đồng cho thấy sự quan tâm đáng kể trong việc chứng kiến Servo phát triển thành một lựa chọn thứ ba khả thi bên cạnh Blink và WebKit, mặc dù chặng đường phía trước vẫn còn dài và đòi hỏi nỗ lực phát triển bền vững để theo kịp các nguồn lực đằng sau các engine đã thành lập.

Tham khảo: The Servo Parallel Browser Engine Project