What is Flutter and how does it differ from other cross-platform frameworks?
TL;DR: Flutter is Google's open-source UI toolkit that compiles to native ARM code and draws every pixel itself using the Skia/Impeller engine — unlike bridge-based frameworks that translate to native widgets.
Full Answer
Flutter is Google's open-source UI toolkit for building natively compiled applications for mobile, web, desktop, and embedded devices from a single Dart codebase. What makes Flutter fundamentally different is its rendering architecture.
How Flutter renders
Instead of using platform-native widgets (UIKit on iOS, Views on Android), Flutter carries its own rendering engine — Skia (now transitioning to Impeller on iOS/Android). Every pixel on screen is drawn by Flutter itself, which guarantees pixel-perfect consistency across platforms and eliminates the overhead of a JavaScript bridge.
Comparison with other frameworks
| Aspect | Flutter | React Native / Xamarin |
|---|---|---|
| Rendering | Own engine (Skia/Impeller) | Native widgets via bridge |
| Language | Dart (compiled AOT) | JS/C# (interpreted/JIT) |
| Performance | Consistent 60/120fps | Bridge overhead possible |
| UI consistency | Pixel-perfect everywhere | Platform-specific look |
Flutter uses a 3-tree architecture: Widget tree (configuration), Element tree (lifecycle), and RenderObject tree (layout/paint). Understanding this is key to performance optimization.
Code Examples
The simplest possible Flutter app
Displays a centered 'Hello Flutter!' text on a Material white screen.
Common Mistakes
- ✗Confusing Flutter with React Native — Flutter doesn't use native UI components; it draws everything itself.
- ✗Thinking Dart is only for Flutter — Dart runs on servers, CLI tools, and the web independently.
Interview Tip
Mention the rendering pipeline: Flutter uses Skia (now Impeller on iOS/Android) to draw every pixel, which achieves consistent 60/120fps unlike bridge-based frameworks. Also highlight AOT compilation for release builds.