High Performance · Cross-Platform · Modern Design
Screenshots • Features • Tech Stack • Core Functionality • Getting Started
RBook is a modern EPUB eBook reader built with the Tauri framework, combining the frontend advantages of Vue3 with the high-performance backend of Rust to provide a smooth, efficient, and cross-platform reading experience.
- 📚 Local EPUB file management and rendering
- 🔖 Smart bookmark management with navigation
- 📋 Complete table of contents navigation
- 🔄 Sort by recently opened or filename
- 🎨 Modern UI with smooth transition animations
- 🚀 High-performance EPUB rendering engine
- 💻 Cross-platform support (Windows, macOS, Linux)
- Vue 3: Modern reactive framework
- TypeScript: Type-safe programming
- Element Plus: UI component library
- EPubJS: EPUB rendering engine
- Vue Router: Page routing management
- Vite: Fast build tool
- Rust: High-performance systems programming language
- Tauri: Lightweight, secure desktop application framework
- Serde: Efficient serialization/deserialization library
- Tokio: Asynchronous runtime
Direct EPUB file parsing through the Rust backend without relying on external APIs, ensuring loading speed and offline availability. Compared to the br-beta branch that uses external APIs to convert to HTML, this approach significantly improves performance and stability.
- Time-based Sorting: Tracks and records the last read time for each book
- Alphabetical Sorting: Sorts by filename
- One-click Toggle: Easily switch between sorting methods via toolbar button
Implementation Highlights:
- Rust backend stores timestamp information
- Tauri command API for frontend-backend communication
- Vue computed properties for dynamic sorting
- Bookmark Functionality: Add, edit, delete, and navigate to bookmarks
- TOC Navigation: Support for multi-level table of contents
- Smooth Animations: Using Vue's
<Transition>component for smooth panel transitions
Technical Highlights:
- Vue Transition components for animation handling
- CSS transition effects to enhance user experience
- Smart CFI (Content Fragment Identifier) positioning for precise navigation
To address navigation challenges in EPUB files, a multi-layered navigation strategy was implemented:
- Direct navigation attempt
- Filename-based matching
- Path correction strategy
- Anchor handling mechanism
- Smart fallback approach
- Modern design language
- Responsive layout that adapts to different screen sizes
- Smooth transition animations for enhanced user experience
- Custom scrollbar styling
Compared to earlier versions, this project achieves the following performance improvements:
| 🚀 Parsing Speed | EPUB parsing speed increased by 300%+ |
| 🔌 Offline Availability | No external API dependency ensures offline usability |
| 💾 Storage Optimization | Reduced local storage usage |
| ⚡ Resource Efficiency | Optimized memory usage with lower resource consumption |
- Stable Version:
br-gammabranch - Recommended for production use - Development Version:
devbranch - Latest features and experimental changes
- Node.js & pnpm
- Rust environment
- Tauri CLI
# Install dependencies
pnpm install
# Run in development mode
pnpm run tauri dev
# Build production version
pnpm run tauri build- Layout improvements
- Header beautification
- Added control buttons
- Multi-file upload
- Home library page
- TOC page navigation function
- Settings window
- Home page sorting by read time/alphabet
- Bookmark style beautification and animation
- TOC panel animation effects
- Load EPUB files from default folder
- Save EPUB files
- Upload multiple files simultaneously
- Position marking (bookmarks)
- Save last read time
- Integrate online eBook search functionality from Site 1 and Site 2
This project was developed by sophomore students from the School of Software Engineering at Sun Yat-sen University, dedicated to providing an efficient, modern EPUB reading experience.

