English | Русский | Português (BR)
The project is in active development. It's still far from MVP, but it can already be manually assembled and tested...
A modern desktop application for internet exploration built with Tauri v2 and Svelte 5, featuring native WebViews instead of iframes.
- Full-featured native WebViews instead of iframes for each tab
- High performance thanks to system WebView usage
- Authentic user experience with isolated contexts for each tab
- OS-level security with system WebView sandboxing
- Open/close tabs with automatic WebView management
- Switch between tabs with show/hide of corresponding WebViews
- Loading indicators for each tab
- Smart memory management when closing tabs
- Back/Forward buttons with history for each tab
- Address bar with auto-detection of URL/search
- Page reload functionality
- Navigation history for each WebView
- Local bookmark storage
- Complete visit history with date grouping
- History search functionality
- Visit counter
- Theme options (light/dark/system)
- WebView security settings
- Homepage management
- Search engine selection
// Commands for WebView management
create_tab_webview() // Create new WebView for tab
show_tab_webview() // Show/hide WebView
close_tab_webview() // Close WebView
navigate_webview() // Navigate in WebView
resize_webviews() // Resize WebView- Reactive state management with runes ($state, $derived, $effect)
- WebViewManager - native WebView management
- Asynchronous architecture for Tauri API interaction
- Modern UI with CSS variables for theming
- Tauri v2 - Cross-platform runtime
- Svelte 5 - Reactive frontend framework
- TypeScript - Typed JavaScript
- Rust - Backend programming language
- Native WebView - System WebView (WebView2/WebKit/Blink)
- Node.js 18+
- Rust 1.70+
- System dependencies for Tauri
npm install
cargo tauri devcargo tauri buildnpm run test # Run unit tests
npm run test:run # Run tests once
npm run test:coverage # Run with coverage
npm run test:ui # Run with UIДля тестирования вашего нативного Tauri приложения:
npm run test:e2e:tauri # Тестирует нативное Tauri приложение
npm run test:e2e:tauri:ui # С UI интерфейсом
npm run test:e2e:tauri:headed # В видимом режимеДля тестирования веб-версии в браузерах:
npm run test:e2e # Тестирует в браузерах (chromium, firefox, webkit)
npm run test:e2e:ui # С UI интерфейсом
npm run test:e2e:headed # В видимом режимеnpm run test:e2e:webdriver # Альтернативный способ через WebDriver
npm run test:e2e:webdriver:ui # С UI интерфейсомnpm run test:rust # Run Rust testsnpm run test:all:tauri # Все тесты + Tauri E2E (рекомендуется)
npm run test:all # Все тесты + Browser E2E
npm run test:all:webdriver # Все тесты + WebDriver E2E- Tauri тесты запускают ваше нативное приложение автоматически
- Приложение собирается в release режиме при первом запуске
- Используется remote debugging через WebView2 на порту 9222
- Тесты выполняются последовательно для стабильности
browser/
├── src/ # Frontend (Svelte)
│ ├── lib/
│ │ ├── components/ # Svelte components
│ │ │ ├── WebViewManager.svelte # WebView management
│ │ │ ├── TabBar.svelte # Tab bar
│ │ │ ├── Toolbar.svelte # Toolbar
│ │ │ └── ...
│ │ ├── stores/ # State management
│ │ │ └── browser.svelte.ts
│ │ └── types/ # TypeScript types
│ │ └── browser.ts
│ └── routes/ # SvelteKit routes
├── src-tauri/ # Backend (Rust)
│ ├── src/
│ │ └── lib.rs # WebView commands and logic
│ ├── capabilities/ # Tauri permissions
│ └── tauri.conf.json # Configuration
└── package.json
- Native WebViews for each tab
- Multi-tab navigation
- Asynchronous Tauri API interaction
- Bookmark system
- Visit history
- Application settings
- Address bar with search
- Theme support
- Data synchronization between devices
- Extensions and plugins
- Advanced security settings
- Data import/export
- Keyboard shortcuts
- Context menus
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the Limni Attribution License (LAL). See the LICENSE file for details.
- Tauri Team for the amazing framework — https://tauri.app
- Svelte Team for the reactive frontend framework — https://svelte.dev
- Rust Community for the reliable programming language — https://www.rust-lang.org
- Phosphor Icons for stylish icons — https://phosphoricons.com
Limni - Showcasing the power of native WebViews in modern desktop applications! 🚀
Created by FerrisMind