Flutter
Google's cross-platform UI framework for building native iOS, Android, web, and desktop apps from a single Dart codebase.
Flutter is Google's open-source UI toolkit that compiles to native code for iOS, Android, web, and desktop from a single codebase written in Dart. Unlike React Native (which bridges to native components), Flutter renders its own pixels using the Skia/Impeller engine, giving it highly consistent UI across platforms and smooth performance. Flutter has seen rapid adoption — it is now the most popular cross-platform mobile framework by GitHub stars and developer survey — and is used by Google Pay, BMW, Alibaba, and eBay. Mobile engineer roles increasingly list Flutter alongside or instead of platform-specific Swift/Kotlin experience.
Typical time to job-readiness: ~3 months.
Learning Flutter
Beginner
Learn Dart syntax (it feels like a mix of Java and JavaScript) and Flutter's widget model — everything is a widget. Follow Flutter's official codelabs to build a simple app. Understand Stateless vs Stateful widgets and the build method lifecycle.
Intermediate
State management with Provider, Riverpod, or BLoC (the three dominant approaches), navigation with GoRouter, HTTP requests with Dio, and local storage with Hive or SharedPreferences. Learn how to read and implement Figma designs accurately with Flutter's layout system.
Advanced
Platform channels for accessing native iOS/Android APIs, Flutter's rendering pipeline and how to optimize for 60/120fps, custom painters for complex visuals, and CI/CD with Fastlane and Codemagic. Flutter interviews include a coding challenge plus architecture discussion — have a portfolio app ready to walk through.
Key concepts
- Everything is a widget: UI components, layout, padding, gestures — all expressed as nested widgets
- Stateless vs Stateful widgets: stateless never change; stateful hold mutable state that triggers rebuilds
- Dart language: typed, compiled, garbage-collected; feels like TypeScript + Java but simpler
- Hot reload: code changes appear in the simulator instantly without losing state — a major productivity advantage
- State management: Provider, Riverpod, and BLoC are the three dominant approaches
- Flutter renders its own pixels — consistent appearance across iOS, Android, web, and desktop
Common interview topics
- Explain the difference between StatelessWidget and StatefulWidget
- What state management solution do you use and why
- How do you make an HTTP request in Flutter
- How does Flutter achieve consistent UI across platforms when native frameworks differ
- Walk me through a Flutter app you've built — what was the architecture