This project is a visual and structural comparison between two implementations of the same UI: one using Flutter, and the other using SwiftUI.
The goal is to explore how each framework handles common UI components, layout logic, and code organization when building a screen inspired by the Airbnb mobile app.
Below you'll find visual comparisons between the two versions.
| Flutter | SwiftUI |
|---|---|
![]() |
![]() |
The following parts of the UI were implemented in both versions:
- Bottom Navigation
- Listing Tabs (TabBar)
- Floating Action Button
- Listing Card
- General layout
| Flutter | SwiftUI |
|---|---|
| Widget tree with nested components | Modifier-based syntax |
| More boilerplate overall | More concise and readable code |
| Large set of built-in components | Fewer built-in components |
| Highly customizable widgets | Custom UIs often built from scratch |
| UI aligns closely with native platforms | Native Apple look and feel by default |
- Flutter: Flutter 3.32.x, Dart 3.8.x
- Swift: SwiftUI, Xcode 15+
ββ flutter/ #Flutter implementation
ββ swift/ #SwiftUI implementation
Each folder contains its own self-contained implementation of the Airbnb UI screen.
Made with care by Gabriel Peres Bernes
Feel free to open issues or discussions if you have feedback or questions.

