Skip to content
tezvyn:

Flutter & Dart

Flutter framework, Dart language, packages, Impeller

155 bites

Test yourself: Top 30 intermediate Flutter & Dart interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Intermediate everything in Flutter & Dart, page 6

intermediate1 min read

Flutter Desktop App Packaging: From Code to Executable

Flutter desktop packaging bundles your Dart code into a native executable for users. Instead of just running flutter run, you use platform-specific build commands to create a distributable file, like a .app on macOS or an .exe on Windows.

intermediate2 min read

Flutter Web Renderers: HTML vs. CanvasKit

Flutter on the web draws your UI using one of two engines: HTML or CanvasKit. The HTML renderer uses standard web elements for compatibility, while CanvasKit uses a high-performance canvas for graphical fidelity.

intermediate2 min read

CI/CD for Flutter: Automate Your Builds and Releases

CI/CD for Flutter is a safety net that automatically builds, tests, and deploys your app. Use it to catch bugs early and ship updates to app stores without manual steps.

Flutter Flavors: One Codebase, Multiple App Versions
intermediate2 min read

Flutter Flavors: One Codebase, Multiple App Versions

Flutter Flavors let you build multiple app versions from one codebase, like a kitchen making different dishes from the same ingredients. Use them to manage separate API endpoints and branding for dev, staging, and prod.

intermediate2 min read

iOS Code Signing: Apple's Digital Notary for Apps

iOS code signing is like a digital notary stamp for your app. It proves to Apple you're a trusted developer and the code hasn't been tampered with. It's mandatory for running on physical devices or submitting to the App Store.

intermediate2 min read

Android App Signing: Your App's Digital Seal

Think of app signing as a digital seal for your Android app. It proves you are the author and the code hasn't been tampered with, a mandatory step for Google Play release. The biggest footgun is losing your private key, which locks you out of.

intermediate2 min read

Golden File Testing: Visual Regression for Widgets

Golden file testing is a 'spot the difference' game for your UI, catching visual regressions by comparing a widget's rendering to a master image. Use it to lock down critical widget appearances.

intermediate2 min read

WidgetTester: Programmatically Drive Your Flutter UI

WidgetTester is a robot user for your app, programmatically tapping, dragging, and entering text. Use it in testWidgets to simulate user flows and verify UI state. The footgun is forgetting tester.pump() after an action; you'll assert against a stale UI.

intermediate1 min read

Finding Widgets with Flutter's Finder Class

Finder is your magnifying glass for widget tests, letting you locate specific widgets in the tree. It describes what to find, while the WidgetTester does the actual finding. The footgun is assuming a finder returns only one widget when it might match several.

intermediate2 min read

Pigeon: Type-Safe Platform Channels in Flutter

Pigeon acts like a contract for your app's native code, generating type-safe platform channels from a single definition. This replaces manual, error-prone MethodChannel code. The footgun: Swift types default to structs; use @SwiftClass for class features.

intermediate2 min read

Platform Views: Embedding Native UI in Flutter

Platform Views cut a hole in your Flutter UI to show a native component. Use them to embed UI that can't be rebuilt in Dart, like Google Maps or a native WebView. Be warned: they are resource-heavy and can hurt performance if overused.

intermediate2 min read

Flutter Platform Channels: Talking to Native Code

Platform Channels are a telephone line between your Dart code and native device APIs. Use them to access features like battery level or integrate a native SDK not available in Dart.

intermediate2 min read

ClipPath: Clip Widgets to Custom Shapes

ClipPath is a stencil for your widgets. It cuts a child widget to a custom-defined shape, hiding anything outside the lines. Use it for complex shapes like waves or stars, but avoid it for simple rectangles or circles—it's expensive.

intermediate2 min read

CustomPaint: Drawing Your Own Widgets in Flutter

CustomPaint is your blank canvas widget; CustomPainter is the artist that draws on it. Use them for custom charts or unique UI. The footgun: shared canvases can cause blend modes to erase other widgets, so use saveLayer sparingly.

intermediate2 min read

AnimatedBuilder: Isolate Animation Rebuilds for Performance

Flutter's AnimatedBuilder rebuilds only the widgets that change during an animation, not the entire screen. Use it to embed a moving part within a larger static widget, like a spinning icon on a button, to maximize performance.

intermediate2 min read

Flutter's Tween: The Recipe for Animation

A Tween is a recipe for animation, not the animation itself. It maps a 0.0-1.0 progress value to a concrete value, like a color or position. Use it with an AnimationController to smoothly transition a widget's properties.

intermediate2 min read

AnimationController: The Conductor of Your Animation

An AnimationController is the conductor for your animation's timing. It produces values from 0.0 to 1.0 over a duration, letting you play, reverse, or stop animations. Use it to drive widgets like SlideTransition.

intermediate2 min read

Drift Schema Migrations: Evolving Your Database Safely

Think of schema migrations as a recipe for upgrading your app's database from an old version to a new one. You'll use them whenever you add a table or column in Drift. The footgun is forgetting to bump schemaVersion; your migration won't run.

intermediate2 min read

flutter_secure_storage: Secure Key-Value Pairs

flutter_secure_storage is your go-to for saving sensitive data like API tokens. Think of it as an encrypted, cross-platform key-value store that uses native Keychain on iOS and strong ciphers on Android. The footgun: it's slower and meant only for secrets.

intermediate2 min read

Hive: A Fast, Local Key-Value Store for Dart

Hive is a lightweight key-value database for Dart, acting like a persistent, super-fast Map. Use it to store simple data like user settings or cache API responses locally.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles