Flutter’s architecture empowers great user experience
Declarative syntax
With Flutter’s declarative syntax you simply describe what your user interface should do. For example, use a Row to layout a Text and Icon widget horizontally. It’s easy to learn and maintain.
Try it in DartPadNative performance
Impeller, Flutter’s rendering engine, talks directly to the Metal graphics API making Flutter apps fast and flexible. No abstractions over system UI components.
Learn more about ImpellerInteroperability with Apple
When you create a Flutter iOS app, your Flutter code is automatically embedded into a native Runner. This allows you to talk directly to Apple’s APIs, integrate with Apple’s developer tooling and features, or add Flutter to an existing iOS app.
Flutter on iOS
Design Tools
With Flutter, design can be involved in every step in the development journey.
- Use hot reload to see design changes instantly.
- Create stunning animations with tools like Rive and Lottie.
- Leverage pre-built components from the Material and Cupertino (iOS-style) libraries, or create your own custom design systems.
- Prototype ideas directly in the browser with drag-and-drop tools like FlutterFlow, or web-based IDEs like Zapp.run.
- Preview UIs in multiple configurations directly in continuous delivery processes with Widgetbook.
Developer stories
See how Flutter is helping iOS developers
Framework
Declarative, easy to use, takes advantage of dart to compile to machine code. View Cupertino Widget to view all of the iOS stylings, and don’t forget to view a simple Flutter Code Sample.
Engine
Impeller, fast performance, talks directly to low level Metal APIs
Platform embedder
Embeds Flutter in a native Runner iOS app, talk directly to Apple’s APIs and integrate with Apple’s developer tooling.