A modern, cross-platform web browser built using Kotlin Multiplatform (KMP) and Jetpack Compose Multiplatform. It supports Android, iOS, and Desktop (JVM) using a shared UI and logic codebase.
- Multi-platform Support: Runs on Android, iOS, and Desktop (Windows/macOS/Linux).
- Multi-localization & RTL Support: Support for multiple languages (English, Bengali, Hindi, Arabic, French) with automatic Right-to-Left (RTL) layout adjustment.
- Tab Management: Efficiently handle multiple browsing tabs with persistent state powered by Room DB.
- Bookmarks & History: Persistent storage for your favorite sites and browsing history using Room DB.
- Persistent Storage: Uses androidx.datastore for cross-platform settings and theme preferences.
- Dependency Injection: Powered by Koin for clean and scalable architecture.
- Material 3 UI: Modern and responsive design using Compose Multiplatform.
- Web Engine: Powered by Compose WebView Multiplatform for high-performance web rendering across all platforms.
- Theme Support: Light, Dark, and System theme synchronization.
- Kotlin Multiplatform
- Compose Multiplatform
- Koin - Dependency Injection
- Room - Multiplatform Persistent Database
- DataStore - Multiplatform Preferences
- Compose WebView Multiplatform
- Android Studio Ladybug or later.
- Xcode (for iOS development).
- JDK 17 or higher.
- Open the project in Android Studio.
- Select the
composeApprun configuration. - Choose an emulator or physical device and click Run.
Run the following Gradle task:
./gradlew :composeApp:run- Open the
iosApp/iosApp.xcworkspacein Xcode. - Select your target device/simulator and click Run. (Or use the Android Studio KMP plugin run configuration)
composeApp/src/commonMain: Shared UI and business logic.composeApp/src/androidMain: Android-specific implementations.composeApp/src/iosMain: iOS-specific implementations.composeApp/src/jvmMain: Desktop-specific implementations (utilizing KCEF).iosApp: Native iOS project wrapper.
Note: This is a learning project. You can find the older version of this project at TheHasnatBD/browserApp. The legacy Android-only project has been moved to the legacy-android branch.
This project is licensed under the MIT License - see the LICENSE file for details.





