Home

Awesome

SaBA: Sample Browser Application

Actions Status License

Sample Browser Application (SaBA) on a single thread/process. The browser runs on Mac/Linux as a CUI application or on Wasabi OS as a GUI application.

<img src="./test.png" alt="test page on SaBA on Wasabi OS" width="600"/>

The book is published on Nov 9, 2024!

『[作って学ぶ]ブラウザのしくみ──HTTP、HTML、CSS、JavaScriptの裏側』 is written in Japanese. The book describes how to make your own browser from scratch in Rust. The code used in the book is based on this repository.

<img src="https://m.media-amazon.com/images/I/81fO73On7jL._SL1500_.jpg" alt="[作って学ぶ]ブラウザのしくみ──HTTP、HTML、CSS、JavaScriptの裏側" width="300"/>

Supported Features

It supports sending/receiving HTTP GET request/response, basic HTML tags, basic CSS syntax and basic JavaScript syntax.

Upcoming features:

How to Run

GUI Application on Wasabi OS

You may not be able to run via cargo run because the target architecture is different from your environment. So use a helper script to run the code,

$ ./run_on_wasabi.sh

CUI Application on Mac/Linux

For CUI browser on your host computer,

$ cargo run --features=cui --bin=saba_cui --no-default-features

GUI Application on Mac/Linux

GUI on Mac/Linux is not supported yet.

For GUI browser on your host computer,

$ cargo run --features=gui --bin=saba_gui --no-default-features