Lexbor - thư viện renderer HTML mã nguồn mở
(github.com/lexbor)- Một dự án phát triển engine trình duyệt mới
- Các engine trình duyệt hiện có được phát triển bằng C++, nên có những vấn đề như cồng kềnh, chậm và thiếu linh hoạt
- Lexbor được phát triển bằng C, hướng tới tính di động, mô-đun hóa, tốc độ, tính độc lập và tuân thủ tiêu chuẩn
- Các đặc điểm chính của Lexbor:
- Gồm nhiều mô-đun như HTML, CSS, Encoding, URL, Punycode, Unicode
- Có thể sử dụng từng mô-đun như các thư viện độc lập
- Không có phụ thuộc bên ngoài
- Dễ dàng port sang nhiều nền tảng khác nhau
- Hỗ trợ C99 và có tốc độ rất nhanh
- Đặc điểm của mô-đun HTML:
- Tuân thủ hoàn toàn đặc tả HTML5
- Cung cấp khả năng thao tác với phần tử và thuộc tính
- Hỗ trợ phân tích HTML phân mảnh (
innerHTML) - Hỗ trợ phân tích theo từng chunk
- Đã được kiểm thử với hơn 200 triệu trang HTML thực tế
- Cung cấp hai phương thức phân tích là
DocumentvàParser - Tự động nhận diện encoding
- Hỗ trợ phân tích kiểu CSS trong thuộc tính thẻ và bên trong thẻ
<style>
- Đặc điểm của mô-đun CSS:
- Tuân thủ hoàn toàn mô-đun CSS Syntax
- Hỗ trợ selector và cây stylesheet (CSSOM)
- Lexbor cung cấp các gói nhị phân cho nhiều hệ điều hành như CentOS, Debian, Fedora, RHEL, Ubuntu
- Trên macOS có thể cài đặt qua Homebrew và MacPorts
- Mã nguồn có thể được build bằng CMake
liblexborlà thư viện đơn bao gồm tất cả mô-đun, và mỗi mô-đun cũng có thư việnliblexbor-{module}riêng- Có binding và wrapper cho nhiều ngôn ngữ như Elixir, Crystal, Python, D, Ruby
4 bình luận
Vì C++ chậm nên c...
Wow... mình chưa từng nghĩ C++ là chậm, đúng là trên đời này lại có một thế giới khác như vậy.
Thật đáng kinh ngạc
Trên màn hình chính chỉ hiện đến đoạn "các engine trình duyệt hiện có được phát triển bằng C++ nên có vấn đề là lớn, chậm và thiếu linh hoạt..." nên tôi mới nghĩ...
Gì đây, lại là Rust à? nhưng rồi.... là C đấy... run run run
Đây là ngôn ngữ chính của tôi nên thấy vui ghê...
Có vẻ C++ đúng là chậm hơn C thật..
Không, tôi đang tự hỏi rốt cuộc họ triển khai bằng cái gì mà lại bảo là viết bằng C++ nên chậm, hóa ra là C nhỉ .....