Flutter

Flutter Localization: l10n Setup and Translation Workflow

I recently worked on adding localization to a Flutter app, so I wanted to write this down as a practical memo for myself...
Uncategorized

Flutter Performance Guide: Fixing Jank and Keeping 60fps

Flutter performance problems usually show up as “jank”: dropped frames, stutters during scrolling, slow screen transitio...
Flutter

Flutter Logging in Production: Moving Beyond debugPrint

Flutter logging is easy to start (just call debugPrint()) and surprisingly hard to scale. In production, you need log le...
Flutter

Flutter Flavors in Practice: dev/stg/prod with dart-define and CI

Flutter flavors let you run the same app in multiple environments—like dev, staging, and production—without risky manual...
Flutter

QLite in Flutter: When to Use It and How to Do It Right

SQLite in Flutter is the go-to relational database for apps that need structured queries, constraints, and transactions....
Flutter

flutter_secure_storage in Flutter: Keeping Secrets Safe

flutter_secure_storage in Flutter is the go-to way to store small secrets like access tokens, refresh tokens, and encryp...
Flutter

shared_preferences in Flutter: Simple Settings Done Right

shared_preferences in Flutter is the simplest way to store small pieces of non-sensitive data—things like theme mode, on...
Flutter

Hive in Flutter: Local Database and Offline Caching

Hive in Flutter is a lightweight, fast key–value database that runs purely in Dart. It’s ideal for local data such as of...
Flutter

Choosing Hive, shared_preferences, or flutter_secure_storage in Flutter

Hive, shared_preferences, and flutter_secure_storage cover three different needs in Flutter: fast key–value storage, sim...
Flutter

Flutter Error Handling Playbook: UX-Friendly Failures

Flutter error handling is about more than catching exceptions. It’s about turning failures into clear, calm user experie...