Blog FlutterCook
Bài viết dài, thiên về code — dựng widget, hiểu phần toán, rồi hoàn thiện giao diện.
video_player: primitive video Flutter dựa trên platform
Showcase video_player trong kiến trúc Flutter thực tế: controller, khởi tạo, buffering, subtitle và lifecycle.
🧩 Open SourceVery Good CLI: scaffolding Flutter có opinion
Showcase very_good_cli trong kiến trúc Flutter thực tế: template project, flavor, mặc định testing và quy ước CI.
🧩 Open Sourceurl_launcher: platform intent với hợp đồng fallback
Showcase url_launcher trong kiến trúc Flutter thực tế: canLaunchUrl, launch mode, web URL và handler không khả dụng.
🧩 Open Sourcesupabase_flutter: auth, Postgres, realtime và storage
Showcase supabase_flutter trong kiến trúc Flutter thực tế: khởi tạo client có kiểu, auth event, RLS và lưu session.
🧩 Open Sourceskeletonizer: loading UI từ chính widget tree thật
Showcase skeletonizer trong kiến trúc Flutter thực tế: fake data, annotation skeleton, layout ổn định và accessibility.
🧩 Open Sourceshadcn_flutter: UI primitive có thể ghép cho Flutter
Showcase shadcn_flutter trong kiến trúc Flutter thực tế: primitive ít áp đặt style, phong cách New York, Material interop và theme.
🧩 Open SourceSentry Flutter: lỗi đi kèm context của release
Showcase sentry_flutter trong kiến trúc Flutter thực tế: crash report, trace hiệu năng, breadcrumb và source map.
🧩 Open SourceRiverpod: state bất đồng bộ có thể test mà không dính widget
Showcase riverpod trong kiến trúc Flutter thực tế: provider, trạng thái async, cache và override dependency.
🧩 Open SourceRive: animation vector tương tác bằng state machine
Showcase rive trong kiến trúc Flutter thực tế: artboard, state machine, input và hiệu năng runtime.
🧩 Open SourcePigeon: platform channel có kiểu sinh từ một schema
Showcase pigeon trong kiến trúc Flutter thực tế: codegen Dart/native, contract API, task queue và versioning.
🧩 Open Sourcepermission_handler: luồng xin quyền runtime có thể giải thích
Showcase permission_handler trong kiến trúc Flutter thực tế: status, rationale, mở settings fallback và khai báo platform.
🧩 Open SourcePatrol: integration test có thể đi ra ngoài sandbox Flutter
Showcase patrol trong kiến trúc Flutter thực tế: permission native, notification, deep link và tự động hóa thiết bị.
🧩 Open SourceMocktail: mock Dart dễ đọc mà không cần file generated
Showcase mocktail trong kiến trúc Flutter thực tế: fake, stub, verify, fallback value và ranh giới test.
🧩 Open SourceMelos: biến Flutter monorepo thành ranh giới sản phẩm
Showcase melos trong kiến trúc Flutter thực tế: script workspace, package graph, test chọn lọc và release.
🧩 Open Sourcelocal_auth: biometric là step-up, không phải nơi lưu password
Showcase local_auth trong kiến trúc Flutter thực tế: hỗ trợ thiết bị, prompt biometric, credential fallback và UX lỗi.
🧩 Open Sourcejust_audio: audio có thể điều khiển bằng stream
Showcase just_audio trong kiến trúc Flutter thực tế: queue, stream position, playlist, tốc độ và tích hợp background.
🧩 Open Sourcejson_serializable: JSON nhàm chán nhưng bền qua refactor
Showcase json_serializable trong kiến trúc Flutter thực tế: codec generated, converter, checked mode và boundary API model.
🧩 Open SourceIsar: object database local nhanh với index có thể query
Showcase isar trong kiến trúc Flutter thực tế: collection, index, transaction và watcher reactive.
🧩 Open Sourceintl: format data theo locale một cách có chủ đích
Showcase intl trong kiến trúc Flutter thực tế: date, number, plural, khởi tạo locale và format có thể test.
🧩 Open Sourceimage_picker: API nhỏ cho các nguồn media phức tạp
Showcase image_picker trong kiến trúc Flutter thực tế: intent camera/gallery, khôi phục lost data, nén ảnh và permission.
🧩 Open SourceGolden Toolkit: regression hình ảnh có chủ đích
Showcase golden_toolkit trong kiến trúc Flutter thực tế: ma trận thiết bị, font, biến thể surface và diff golden dễ đọc.
🧩 Open Sourcego_router: Điều hướng Flutter lấy URL làm trung tâm
Showcase go_router trong kiến trúc Flutter thực tế: routing khai báo, deep link, redirect và ShellRoute.
🧩 Open SourceFVM: ghim Flutter version theo từng repository
Showcase fvm trong kiến trúc Flutter thực tế: file version, parity với CI, onboarding team và nhịp migration.
🧩 Open SourceFreezed: model bất biến và union an toàn hơn
Showcase freezed trong kiến trúc Flutter thực tế: data class bất biến, JSON union, copyWith và state UI exhaustive.
🧩 Open SourceForUI: component headless dễ tiếp cận cho Flutter
Showcase forui trong kiến trúc Flutter thực tế: control có thể ghép, theme, keyboard behavior và accessibility.
🧩 Open Sourceflutter_secure_storage: secret nằm sau keychain của platform
Showcase flutter_secure_storage trong kiến trúc Flutter thực tế: Keychain, Keystore, encrypted shared preferences và migration.
🧩 Open Sourceflutter_rust_bridge: Rust có kiểu mà không phải tự viết FFI glue
Showcase flutter_rust_bridge trong kiến trúc Flutter thực tế: code generation, Rust async, stream, error boundary và native build.
🧩 Open Sourceflutter_hooks: tái sử dụng behavior có state bằng hook nhỏ
Showcase flutter_hooks trong kiến trúc Flutter thực tế: lifecycle hook, ownership controller, effect và UI logic ghép được.
🧩 Open Sourceanimations: pattern motion Material có thể tái sử dụng
Showcase animations trong kiến trúc Flutter thực tế: OpenContainer, shared axis, fade-through và chuyển route.
🧩 Open Sourceflutter_bloc: event và state rõ ràng cho ứng dụng lớn
Showcase flutter_bloc trong kiến trúc Flutter thực tế: Cubit, Bloc, BlocListener và chuyển trạng thái dễ dự đoán.
🧩 Open SourceFlexColorScheme: theme design system ít boilerplate
Showcase flex_color_scheme trong kiến trúc Flutter thực tế: scheme sáng/tối, surface blend, seed color và Material 3.
🧩 Open Sourcefile_picker: một user intent trên sáu platform
Showcase file_picker trong kiến trúc Flutter thực tế: filter, chọn nhiều file, bytes và path theo platform.
🧩 Open SourceEquatable: value semantics cho state object Dart
Showcase equatable trong kiến trúc Flutter thực tế: equality, props, sealed state và kiểm tra rebuild dễ đoán.
🧩 Open SourceDrift: SQL có kiểu cho ứng dụng Flutter offline-first
Showcase drift trong kiến trúc Flutter thực tế: table có kiểu, migration, query reactive và transaction.
🧩 Open SourceDio: networking có thể ghép bằng interceptor
Showcase dio trong kiến trúc Flutter thực tế: interceptor, hủy request, retry và ánh xạ lỗi có kiểu.
🧩 Open Sourcedesktop_multi_window: quản lý nhiều cửa sổ desktop có chủ đích
Showcase desktop_multi_window trong kiến trúc Flutter thực tế: lifecycle cửa sổ, arguments, ranh giới isolate và giới hạn platform.
🧩 Open Sourceconnectivity_plus: loại mạng không đồng nghĩa có internet
Showcase connectivity_plus trong kiến trúc Flutter thực tế: stream kết nối, UX offline, kiểm tra reachability và khác biệt platform.
🧩 Open Sourcecamera: pipeline chụp thật, không chỉ là preview
Showcase camera trong kiến trúc Flutter thực tế: lifecycle controller, image stream, permission và orientation.
🧩 Open Sourcebuild_runner: biến code generation thành build step deterministic
Showcase build_runner trong kiến trúc Flutter thực tế: watch mode, delete-conflicting-outputs, CI và ownership file generated.
🧩 Open SourceAppwrite Flutter: backend service với client rõ ràng
Showcase appwrite trong kiến trúc Flutter thực tế: cấu hình endpoint/project, auth, database, storage và function.
🧭 ToolingWidget Previewer is stable: isolate UI without booting the app — hướng dẫn Flutter
Faster startup, PreviewThemeData matrices, and web asset sync in 3.47.
🧭 WebSEO for Flutter web: when to prerender and when not to — hướng dẫn Flutter
Documented limits, hybrid HTML, and marketing page strategies.
🧭 WebEmbedding Flutter into an existing marketing site — hướng dẫn Flutter
Element embedding, lifecycle, and SEO-safe boundaries.
🧭 PlatformWear companions: watchOS and Wear OS with Flutter phones — hướng dẫn Flutter
Sync patterns and tiny UI constraints.
🧭 StrategyShipping mobile apps for the Vietnam market in 2026 — hướng dẫn Flutter
Payments, localization, and store considerations.
🧭 WebWasm deferred loading: split Flutter web for first paint — hướng dẫn Flutter
Opt into --wasm and --enable-wasm-deferred-loading for smaller boot bundles.
🧭 iOSUIScene lifecycle: the iOS 27 launch gate for Flutter apps — hướng dẫn Flutter
Xcode 27 fails launches without UIScene. What Flutter migrates automatically.
🧭 ProcessA weekly mobile crash triage that actually reduces issues — hướng dẫn Flutter
Triage boards, owner assignment, and release health gates.
🧭 SecurityThreat modeling a mobile app in one workshop — hướng dẫn Flutter
Assets, attackers, and mitigations that fit the product.
🧭 TestingGolden tests for design systems — hướng dẫn Flutter
Font loading, surface sizes, and review workflow for visual diffs.
🧭 DeploymentTestFlight internal vs external testing that finds real bugs — hướng dẫn Flutter
Groups, feedback, and build expiry planning.
🧭 ProcessA 2026 skills roadmap for Flutter teams — hướng dẫn Flutter
What to learn next: Impeller, SwiftPM, AI tooling, adaptive UI.
🧭 ProcessA mobile technical debt inventory that leaders fund — hướng dẫn Flutter
Quantify risk, user impact, and paydown capacity.
🧭 AdaptiveKeyboard shortcuts and pointer support for tablets — hướng dẫn Flutter
Shortcuts widget, hover, and trackpad scrolling.
🧭 DartSwitch expressions for cleaner Flutter mapping — hướng dẫn Flutter
Mapping enums and states to widgets without arrow soup.
🧭 PlatformStylus pressure and tilt input in Flutter — hướng dẫn Flutter
Apple Pencil, S-Pen, and Windows pen APIs.
🧭 PlatformSwift Package Manager plugin migration checklist for Flutter — hướng dẫn Flutter
What iOS/macOS plugin authors must ship after SwiftPM became the default.
🧭 AIStructured output and tool calling in Flutter AI apps — hướng dẫn Flutter
JSON schema, validation, and UI for tool confirmation.
🧭 AIStreaming LLM responses into Flutter UIs token by token — hướng dẫn Flutter
Partial JSON, interruptibility, and scroll locking.
🧭 ProductReplying to store reviews without sounding like a bot — hướng dẫn Flutter
Tone, escalation paths, and version-specific answers.
🧭 ProductSKStoreReview and in-app review prompts that do not annoy — hướng dẫn Flutter
Timing, frequency caps, and happy-path triggers.
🧭 PolicyMapping App Store guidelines to common Flutter features — hướng dẫn Flutter
UGC, payments, health, and kids categories.
🧭 ProductASO for Flutter apps: screenshots, keywords, and ratings — hướng dẫn Flutter
Store listing experiments that move install conversion.
🧭 PerformanceCold start budgets for Flutter apps — hướng dẫn Flutter
What actually shows up first and how to shave hundreds of milliseconds.
🧭 Deep DiveMigrating to standalone material_ui and cupertino_ui in Flutter 3.47 — hướng dẫn Flutter
How to move off SDK-bundled Material/Cupertino with dart fix and the compatibility bridge.
🧭 LayoutSlivers that scroll without jank — hướng dẫn Flutter
CustomScrollView, SliverList.builder, and avoiding layout thrash.
🧭 BackendServerpod: one language from SQL to Flutter widgets — hướng dẫn Flutter
Generated clients, auth, and why Flutter-first teams pick Dart backends.
🧭 AuthMobile session management: refresh tokens done right — hướng dẫn Flutter
Rotation, reuse detection, and logout everywhere.
🧭 SecuritySecure storage and biometrics for Flutter tokens — hướng dẫn Flutter
Keychain/Keystore, biometric gates, and token rotation.
🧭 SecurityStoring tokens with Secure Enclave / StrongBox — hướng dẫn Flutter
Key generation, access control, and fallbacks.
🧭 StrategySEA market expansion checklist for mobile products — hướng dẫn Flutter
Languages, payments, and device profiles by country.
🧭 SecurityRedacting secrets from mobile logs and crash reports — hướng dẫn Flutter
What to scrub before the device leaves the pocket.
🧭 ProductBuilding store screenshots that convert — hướng dẫn Flutter
Narrative order, captions, and device frames for 2026 stores.
🧭 Platformflutter_rust_bridge for heavy compute in Flutter — hướng dẫn Flutter
Porting hot paths to Rust without rewriting the UI.
🧭 i18nRTL layouts that do not look broken in Flutter — hướng dẫn Flutter
Directionality, icons, and mirrored gestures.
🧭 ProcessCommunicating mobile roadmaps without over-promising — hướng dẫn Flutter
Betas, kill criteria, and store review buffers.
🧭 StateRiverpod patterns that survive production scale — hướng dẫn Flutter
Family, auto-dispose, and testing without pumping the whole app.
🧭 EnterpriseRetail POS companions and handheld workflows — hướng dẫn Flutter
Barcode, battery, and rugged device testing.
🧭 ProcessRunning a remote mobile team across timezones — hướng dẫn Flutter
Release ownership, design pairing, and incident follow-the-sun.
🧭 ProcessPublic release windows: when your Flutter PR ships — hướng dẫn Flutter
Branch cutoffs for 3.41/3.44/3.47/3.50 so teams can plan upgrades.
🧭 DeploymentMobile rollback playbooks when stores are slow — hướng dẫn Flutter
Remote kill, staged rollout, and server-side disable.
🧭 ProcessA mobile release checklist that prevents Friday fires — hướng dẫn Flutter
Store assets, crash-free gates, and rollback plans.
🧭 MonetizationRefund handling that protects ratings — hướng dẫn Flutter
Proactive credits, store flows, and support macros.
🧭 A11yprefers-reduced-motion and Flutter animations — hướng dẫn Flutter
MediaQuery disableAnimations and designing calm alternatives.
🧭 AIRAG on mobile: what belongs on-device vs server — hướng dẫn Flutter
Embeddings, sync, and battery-aware retrieval.
🧭 UXNotification permission primers that earn the grant — hướng dẫn Flutter
Timing, copy, and pre-permission education screens.
🧭 ToolingFlutter Property Editor: inspect widgets without print debugging — hướng dẫn Flutter
Edit properties live from DevTools while iterating on a screen.
🧭 AIPrompt caching on mobile AI calls — hướng dẫn Flutter
Prefix stability, cost cuts, and cache invalidation.
🧭 iOSPrivacy manifests and required reason APIs for Flutter plugins — hướng dẫn Flutter
What App Store privacy nutrition labels mean for plugin authors.
🧭 AndroidPredictive back animations in Flutter Android apps — hướng dẫn Flutter
What users expect on gesture navigation and how to adopt it.
🧭 ProcessBlameless mobile incident postmortems — hướng dẫn Flutter
Timeline, user impact, and action items that get done.
🧭 CareerPortfolio Flutter projects that get interviews in 2026 — hướng dẫn Flutter
Show offline, a11y, performance, and CI — not just UI.
🧭 PolicyGoogle Play policy changes mobile teams should track — hướng dẫn Flutter
Data safety, target API, and account deletion.
🧭 PlatformPlatform channels vs FFI in 2026: pick the right bridge — hướng dẫn Flutter
Throughput, types, and when to reach for flutter_rust_bridge.
🧭 PerformanceShip only the assets each platform needs — hướng dẫn Flutter
pubspec platforms: keys keep desktop files out of mobile APKs.
🧭 PlatformPigeon: typed platform channels that scale — hướng dẫn Flutter
Generate Kotlin/Swift codecs and stop hand-writing MethodChannel maps.
🧭 PrivacyPhoto library access: limited libraries and privacy labels — hướng dẫn Flutter
PHPicker, partial access, and Android photo picker.
🧭 PerformanceSetting a frame budget your product team understands — hướng dẫn Flutter
16ms is engineering language. Translate it to UX outcomes.
🧭 MonetizationMobile payment fraud signals worth watching — hướng dẫn Flutter
Refund spikes, device farms, and promo abuse.
🧭 SecurityPasskeys and passwordless login in mobile apps — hướng dẫn Flutter
ASAuthorization, Credential Manager, and account recovery UX.
🧭 UIPagination and infinite scroll without layout jank — hướng dẫn Flutter
Cursor APIs, item extents, and loading states that do not thrash.
🧭 ToolingHow to pick a Flutter package in 2026 — hướng dẫn Flutter
Maintenance signals, platform coverage, and pub scores that matter.
🧭 AIProduct patterns for on-device LLMs in mobile apps — hướng dẫn Flutter
Download UX, thermal limits, and privacy marketing that is true.
🧭 LearningHow to study open-source Flutter apps without drowning — hướng dẫn Flutter
Repo maps, architecture notes, and stealable patterns.
🧭 ProcessMobile on-call runbooks that juniors can execute — hướng dẫn Flutter
Dashboards, first checks, and escalation trees.
🧭 ProductMobile OKRs that engineering can influence — hướng dẫn Flutter
Session quality, task success, and crash-free as shared goals.
🧭 DataSync conflict resolution patterns for mobile apps — hướng dẫn Flutter
Last-write-wins, CRDTs, and when to ask the user.
🧭 AIGraceful degradation when AI is unavailable — hướng dẫn Flutter
Feature flags, local heuristics, and honest empty states.
🧭 QualityMobile observability: Sentry, Crashlytics, and custom traces — hướng dẫn Flutter
Correlate crashes with performance and releases.
🧭 QualityMobile observability cost control — hướng dẫn Flutter
Sampling, cardinality, and what to keep forever.
🧭 DeploymentObfuscation, symbols, and secrets in Flutter release builds — hướng dẫn Flutter
Split-debug-info, tree-shake icons, and never ship API keys in Dart.
🧭 NavigationState restoration across process death — hướng dẫn Flutter
RestorationMixin, restorationIds, and why scroll position matters.
🧭 Add-to-AppMultiple Flutter instances in one host app — hướng dẫn Flutter
Memory cost, engines, and when a single engine is enough.
🧭 AIMultimodal AI: camera to structured data in Flutter — hướng dẫn Flutter
Image sizing, privacy, and latency budgets for vision tasks.
🧭 DesktopDesktop multi-window: popups, dialogs, and windowHandle — hướng dẫn Flutter
Experimental windowing APIs accelerate with Canonical as desktop steward.
🧭 AuthMulti-account apps without token soup — hướng dẫn Flutter
Account switchers, scoped storage, and push routing.
🧭 AIModel routing and cascades for mobile AI — hướng dẫn Flutter
Cheap first, escalate on uncertainty, measure quality.
🧭 QAA 20-minute mobile smoke checklist before every release — hướng dẫn Flutter
Login, pay, push, offline, and deep link golden paths.
🧭 StrategyMoving Android XML / UIKit apps to Flutter gradually — hướng dẫn Flutter
Add-to-app first screens and shared navigation contracts.
🧭 StrategyMigrating from React Native to Flutter in 2026 — hướng dẫn Flutter
Strangler patterns, design system mapping, and risk.
🧭 MigrationMigrating large apps to Material 3 Expressive — hướng dẫn Flutter
Component themes, regression goldens, and staged rollout.
🧭 PerformanceWhy your device lab needs a mid-tier Android — hướng dẫn Flutter
The phone most users have is not the phone engineers carry.
🧭 PrivacyCamera and microphone permissions with honest UX — hướng dẫn Flutter
When to request, indicators, and background rules.
🧭 UXHaptics and microinteractions that feel native — hướng dẫn Flutter
HapticFeedback, spring curves, and when less is more.
🧭 ToolingMelos monorepos for Flutter apps and packages — hướng dẫn Flutter
Local path overrides, versioning, and CI scripts that scale.
🧭 MediaBackground audio with media_kit and platform media sessions — hướng dẫn Flutter
Lock-screen controls, Bluetooth, and queue persistence.
🧭 DesignMaterial 3 Expressive theming without fighting Flutter — hướng dẫn Flutter
ColorScheme.fromSeed, component themes, and dynamic color on Android.
🧭 PlatformMaps, location, and permission UX in Flutter apps — hướng dẫn Flutter
Foreground vs background location and privacy nutrition labels.
🧭 DesignDesigning for Liquid Glass and Material without dual UIs — hướng dẫn Flutter
Adaptive chrome, materials, and platform-adaptive widgets.
🧭 EnterpriseLogistics tracking UX under poor connectivity — hướng dẫn Flutter
Location batching, offline maps, and ETA honesty.
🧭 i18nPseudolocales and expansion testing before translators — hướng dẫn Flutter
Finding truncation bugs without a full translation set.
🧭 PlatformLocal notifications that do not spam or break on Android 13+ — hướng dẫn Flutter
Channels, permissions, and scheduled reliability.
🧭 AIMarketing on-device AI without lying — hướng dẫn Flutter
What "on-device" must mean for privacy claims.
🧭 PerformanceIsolates and compute() without the myths — hướng dẫn Flutter
What actually leaves the UI thread and what does not.
🧭 CareerMobile performance interview questions that matter — hướng dẫn Flutter
How strong candidates reason about jank and memory.
🧭 TestingIntegration tests that survive real devices — hướng dẫn Flutter
patrol, native automation, and CI device farms for Flutter.
🧭 ProcessUser communication during mobile incidents — hướng dẫn Flutter
In-app banners, status pages, and store replies.
🧭 MonetizationSubscription groups, upgrades, and proration explained — hướng dẫn Flutter
How to structure tiers so users do not double-pay.
🧭 PerformanceImpeller on desktop: SDF text and Metal/Vulkan defaults — hướng dẫn Flutter
Flutter 3.47 makes Impeller the default desktop renderer — what changes for text and jank.
🧭 MonetizationIn-app purchases with StoreKit 2 and Play Billing in Flutter — hướng dẫn Flutter
Subscription groups, offers, and restore flows that pass review.
🧭 PerformanceImage caching and decode budgets in Flutter lists — hướng dẫn Flutter
precache, ResizeImage, and avoiding 12MP avatars in chat lists.
🧭 i18nFlutter localization with ARB and gen_l10n that translators like — hướng dẫn Flutter
Untranslated messages, plurals, and gender-aware copy.
🧭 NetworkingHTTP in Flutter: timeouts, retries, and cancellation — hướng dẫn Flutter
dio interceptors that do not hang the UI forever.
🧭 PlatformHome screen widgets with Flutter shells — hướng dẫn Flutter
WidgetKit + Glance patterns and shared storage with Flutter.
🧭 ProcessHiring mobile engineers in a Flutter+native world — hướng dẫn Flutter
Signals that predict ramp time and code quality.
🧭 AnimationHero animations without the glitches — hướng dẫn Flutter
FlightShuttleBuilder, tags that do not collide, and photo galleries.
🧭 EnterpriseHealthcare mobile basics: beyond the buzzword checklist — hướng dẫn Flutter
Minimum security, audit logs, and BAAs.
🧭 PolicyHealth and wellness apps: regulations that bite — hướng dẫn Flutter
Medical device status, HIPAA-ish duties, and store labels.
🧭 AndroidHybrid Composition++: Vulkan-composited platform views — hướng dẫn Flutter
Enable HCPP for WebView and maps without Virtual Display tearing.
🧭 AIPrompt injection defenses for mobile AI features — hướng dẫn Flutter
Input isolation, tool allowlists, and user-visible scopes.
🧭 EnterpriseAccessibility procurement for public-sector mobile apps — hướng dẫn Flutter
VPAT-style docs, WCAG mapping, and audits.
🧭 Navigationgo_router deep links and URL strategies that scale — hướng dẫn Flutter
Path parameters, redirects, and web URL strategies in one router.
🧭 AIGenUI: when agents compose widgets instead of markdown — hướng dẫn Flutter
A2UI and the Flutter GenUI SDK build live UI from structured agent output.
🧭 AIGenkit Dart: full-stack AI flows in one language — hướng dẫn Flutter
Model-agnostic tools, structured output, and observability for Flutter and servers.
🧭 AIOn-device Gemma with flutter_gemma and LiteRT-LM — hướng dẫn Flutter
Local inference across six Flutter platforms with GPU/NPU acceleration.
🧭 GamesShipping a 2D mini-game inside a Flutter product — hướng dẫn Flutter
Flame overlays, monetization surfaces, and thermal budgets.
🧭 MonetizationPaywall UX that converts without dark patterns — hướng dẫn Flutter
Value framing, trials, and regional pricing.
🧭 GraphicsFragment shaders: bind uniforms by name in Flutter — hướng dẫn Flutter
getUniformFloat, toImageSync, and high-bit textures for LUTs.
🧭 FormsForm validation that users finish — hướng dẫn Flutter
Field-level UX, async validators, and keyboard actions.
🧭 DesignShipping custom fonts without license landmines — hướng dẫn Flutter
OFL, embedding rights, and fallback stacks.
🧭 AdaptiveFlutter on foldables and large screens in 2026 — hướng dẫn Flutter
Two-pane layouts, hinge awareness, and Material adaptive components.
🧭 GamesParallax backgrounds and camera work in Flame — hướng dẫn Flutter
Layers, velocity ratios, and mobile GPU cost.
🧭 CIFirebase App Distribution for Android/iOS betas — hướng dẫn Flutter
Tester groups, CI upload, and release notes automation.
🧭 AIFirebase AI Logic: Gemini from Flutter without a custom backend — hướng dẫn Flutter
Client-side Gemini calls with App Check, Auth, and Server Prompt Templates.
🧭 EnterpriseFintech mobile compliance realities — hướng dẫn Flutter
KYC flows, audit trails, and regional licensing.
🧭 ProductFeature flags and remote config without a mess — hướng dẫn Flutter
Kill switches, gradual rollout, and default-safe flags.
🧭 ProductFeature flag cleanup sprints that actually happen — hướng dẫn Flutter
Kill dates, owners, and metrics that prove the flag is done.
🧭 AnalyticsReading mobile experiment results without fooling yourself — hướng dẫn Flutter
SRM checks, guardrails, and multi-metric decisions.
🧭 AIEval harnesses for mobile AI features — hướng dẫn Flutter
Golden prompts, regression sets, and release gates.
🧭 MonetizationEU alternative payments and what Flutter teams must change — hướng dẫn Flutter
Core Technology Commission, storefront web distribution, and compliance.
🧭 EnterpriseMDM, managed configuration, and enterprise Flutter apps — hướng dẫn Flutter
App config, kiosk modes, and BYOD realities.
🧭 StrategyDevice profiles that define 2026 mobile UX — hướng dẫn Flutter
Low RAM, high refresh, foldables, and automotive.
🧭 EnterpriseK-12 education apps and student privacy — hướng dẫn Flutter
FERPA-ish duties, parental consent, and ad bans.
🧭 StrategyWhen Flutter is wrong: choosing native iOS or Android — hướng dẫn Flutter
A decision framework for teams that feel FOMO from both ecosystems.
🧭 DataOffline-first Flutter with Drift and background sync — hướng dẫn Flutter
Local source of truth, conflict rules, and WorkManager handoff.
🧭 LanguageDot shorthands in Flutter: cleaner enum and const syntax — hướng dẫn Flutter
Why the new Dart syntax makes Flutter UI code less noisy.
🧭 ProcessMobile docs that stay accurate after ship — hướng dẫn Flutter
ADRs, runbooks, and README ownership.
🧭 ToolingDevTools Network and Memory views you should actually use — hướng dẫn Flutter
Finding leaked images and chatty APIs in ten minutes.
🧭 DesktopWindow management APIs for Flutter desktop apps — hướng dẫn Flutter
Multi-window state, focus fixes, and native handle access.
🧭 DesktopProduct flavors on Windows and Linux for CI matrices — hướng dẫn Flutter
Per-flavor assets and --flavor builds join Android/iOS on desktop.
🧭 DesignDesign tokens across Flutter, iOS, and Android — hướng dẫn Flutter
One source of truth for color, type, and spacing.
🧭 DesignGoverning a multi-platform design system — hướng dẫn Flutter
Contribution model, versioning, and deprecation.
🧭 ProcessDesign reviews that catch mobile-specific failures — hướng dẫn Flutter
Keyboard, safe areas, small screens, and offline states.
🧭 ProcessA dependency update rhythm that avoids upgrade hell — hướng dẫn Flutter
Monthly bumps, changelog triage, and CI bots.
🧭 NavigationUniversal Links and App Links that open the right screen — hướng dẫn Flutter
Host association files, verification, and Flutter routing.
🧭 PrivacyGDPR/CCPA data deletion flows in mobile apps — hướng dẫn Flutter
Account deletion, export, and backend hard-delete SLAs.
🧭 DartDart primary constructors in Flutter model code — hướng dẫn Flutter
Less boilerplate for immutable UI models and DTOs.
🧭 DesignDark mode that does not look inverted — hướng dẫn Flutter
Elevation overlays, contrast ratios, and image treatment.
🧭 UICupertinoMenuAnchor and RawMenuAnchor menus — hướng dẫn Flutter
Native-feeling iOS menus without a plugin stack.
🧭 QualityError boundaries and Crashlytics for Flutter production apps — hướng dẫn Flutter
Zone errors, FlutterError.onError, and meaningful breadcrumbs.
🧭 QualitySymbolication done right for iOS and Android crashes — hướng dẫn Flutter
dSYM, mapping.txt, and CI upload steps that do not skip.
🧭 QualityCrash-free session SLOs for mobile teams — hướng dẫn Flutter
Setting targets by platform and release channel.
🧭 StrategyTrue cost of cross-platform in 2026 — hướng dẫn Flutter
When Flutter wins, when native wins, and the hybrid middle.
🧭 Add-to-AppContent-sized Flutter views inside native scrollables — hướng dẫn Flutter
isAutoResizable and content_wrap embed Flutter without fixed heights.
🧭 PolicyUGC moderation stacks for mobile apps — hướng dẫn Flutter
Report flows, block lists, and human review SLAs.
🧭 Performanceconst constructors: the cheapest Flutter performance win — hướng dẫn Flutter
How const rebuilds become free and where teams forget them.
🧭 AndroidHosting Jetpack Compose inside Flutter (and the reverse) — hướng dẫn Flutter
When to embed Compose views and how Hybrid Composition modes affect them.
🧭 DesignWhat a mature Flutter component library includes — hướng dẫn Flutter
A11y, dark mode, goldens, and docs site.
🧭 ProcessRunning a healthy app community on Discord/GitHub — hướng dẫn Flutter
Moderation, issue triage, and feedback loops.
🧭 DartCodegen that pays for itself: freezed and json_serializable — hướng dẫn Flutter
Immutable models, unions, and less hand-written parse code.
🧭 DeploymentCode push, hotfix, and what Apple/Google actually allow — hướng dẫn Flutter
OTAs, feature flags, and server-driven UI as safer alternatives.
🧭 ArchitectureClean architecture in Flutter without ceremony — hướng dẫn Flutter
When layers help and when they are cargo cult.
🧭 CIGitHub Actions for Flutter with sane caches — hướng dẫn Flutter
Faster builds via pub, gradle, and derived data caches.
🧭 PolicyKids apps: COPPA, age gates, and store questionnaires — hướng dẫn Flutter
What changes when your audience includes children.
🧭 ProcessRelease notes users actually read — hướng dẫn Flutter
Changelog tone, forced-upgrade messaging, and store copy.
🧭 SecurityCertificate Transparency and mobile network trust — hướng dẫn Flutter
Why CT matters for API domains and how to monitor.
🧭 ProcessCapacity planning for mobile platform teams — hướng dẫn Flutter
Shared services, review load, and upgrade debt.
🧭 MLOn-device vision with Camera and ML Kit in Flutter — hướng dẫn Flutter
Live barcode scan, face detect, and frame throttling.
🧭 FundamentalsDebug, profile, and release: stop optimizing the wrong mode — hướng dẫn Flutter
Why jank you see in debug may not exist in release.
🧭 ProcessA bug report template that gets mobile issues fixed — hướng dẫn Flutter
Device matrix, build number, and repro videos.
🧭 PolicyAlternative marketplaces: EU DMA and Brazil CADE rules — hướng dẫn Flutter
What changes for distribution and payments.
🧭 SafetyUser safety features: block, mute, and restrict — hướng dẫn Flutter
Graph-level enforcement and push suppression.
🧭 DesignBrand refreshes without breaking mobile users — hướng dẫn Flutter
Token stages, co-existing themes, and migration UX.
🧭 SecurityStep-up authentication with biometrics for sensitive actions — hướng dẫn Flutter
Re-auth for payments, exports, and settings changes.
🧭 PlatformBackground work limits on iOS and Android in 2026 — hướng dẫn Flutter
WorkManager, BGTask, and realistic sync intervals.
🧭 EnterpriseSSO for enterprise mobile: OIDC and SAML realities — hướng dẫn Flutter
Browser auth sessions, MDM certs, and logout.
🧭 EnterpriseField-service apps: offline-first B2B patterns — hướng dẫn Flutter
Sync windows, media capture, and battery.
🧭 ArchitectureEscaping setState spaghetti with clear ownership — hướng dẫn Flutter
Local UI state vs app state and where Bloc/Riverpod fit.
🧭 SecurityCertificate pinning and network security on mobile — hướng dẫn Flutter
When pinning helps and when it breaks you.
🧭 PlatformCarPlay and Android Auto with mobile companion apps — hướng dẫn Flutter
What belongs on the car screen and what does not.
🧭 ProcessADRs for mobile architecture decisions — hướng dẫn Flutter
One page per irreversible choice, with context.
🧭 EmergingAR and visionOS companions for mobile products — hướng dẫn Flutter
Where AR belongs and how to keep scope honest.
🧭 DeploymentThe April 2027 SDK deadline for App Store uploads — hướng dẫn Flutter
Why you should upgrade Xcode and Flutter toolchains now.
🧭 DesignApp icon design that survives 2026 store grids — hướng dẫn Flutter
Safe zones, dark mode, and platform templates.
🧭 iOSFlutter and iOS app extensions without a second UI stack — hướng dẫn Flutter
Share extensions, widgets, and shared app groups.
🧭 iOSApp Clips and Instant Apps with Flutter modules — hướng dẫn Flutter
Size limits, invocation URLs, and handoff to full apps.
🧭 SecurityDevice integrity checks without ruining UX — hướng dẫn Flutter
App Attest, Play Integrity, and graceful degradation.
🧭 BackendAPI versioning strategies for mobile clients — hướng dẫn Flutter
Deprecation windows, feature negotiation, and forced upgrades.
🧭 DeploymentAndroid App Bundles, ABI splits, and download size — hướng dẫn Flutter
What Play optimizes for you and what you must still do.
🧭 AndroidPreparing Flutter apps for Android 17 — hướng dẫn Flutter
Local network protections, dynamic code loading, and AGP matrix.
🧭 AnalyticsA mobile analytics event schema that survives redesigns — hướng dẫn Flutter
Naming, required properties, and versioning.
🧭 AIFlutter AI Toolkit: production chat UX patterns — hướng dẫn Flutter
Streaming, tool calls, and provider-agnostic chat clients.
🧭 AITracing LLM calls inside mobile apps — hướng dẫn Flutter
Spans, token metrics, and privacy-safe logging.
🧭 AIUnit economics of AI features in mobile apps — hướng dẫn Flutter
Cost per request, free tiers, and routing cheap models first.
🧭 AI ToolingAgentic Hot Reload: closing the prompt-to-pixels loop — hướng dẫn Flutter
MCP-aware coding agents discover your running Flutter app and hot reload after edits.
🧭 AuthAccount recovery UX that reduces support tickets — hướng dẫn Flutter
Email, device transfer, and identity proofing tradeoffs.
🧭 AI ToolingPackage skills and Agent Skills for Flutter teams — hướng dẫn Flutter
Ship domain expertise to coding agents without a giant system prompt.
🧭 PolicyAge assurance requirements affecting mobile apps in 2026 — hướng dẫn Flutter
Declared Age Range, Time Allowances, and store questionnaires.
🧭 A11yAccessibility semantics checklist for Flutter forms — hướng dẫn Flutter
Labels, focus order, and contrast that pass audits.
🧭 A11yA practical mobile accessibility audit in one day — hướng dẫn Flutter
TalkBack/VoiceOver, contrast, and touch targets.
🧭 ProductA/B testing mobile UI without wrecking performance — hướng dẫn Flutter
Assignment stability, offline fallback, and metric hygiene.
📚 Deep DiveVenera: layout reader tùy chỉnh trong Flutter
App đọc comic/manga đòi layout engine tùy chỉnh, cache và UX thư viện.
🎵 Deep DiveSpotube: client nhạc Flutter ưu tiên privacy
Riverpod, drift, media_kit và story release đa store — Spotube ship nhạc không backend riêng ra sao.
🎛️ Deep Diveshadcn-flutter: port design system, không chỉ theme
Token, primitive và composite — port design system sao cho maintain được.
🛠️ Deep DiveServerpod: full-stack Dart phía sau Flutter
Client sinh tự động, database và auth — một ngôn ngữ từ SQL tới widget.
✍️ Deep DiveSaber: ghi chú viết tay và file local-first
Input canvas, composite highlighter và sync tùy chọn — stack ghi chú Flutter.
🖥️ Deep DiveRustDesk: lõi Rust, vỏ Flutter
Một sản phẩm remote desktop tách Rust hiệu năng cao khỏi UI Flutter ra sao.
📔 Deep DiveLotti: journal với audio, habit và local DB nghiêm túc
Model data local phức tạp trong Flutter — vượt tutorial todo-app.
📡 Deep DiveLocalSend: truyền file kiểu AirDrop không cần cloud
Protocol LAN Flutter + Rust trên cổng 53317 — bài học mạng local-first.
🌐 Deep DiveJaspr: Dart server-driven cho web
Mental model Flutter trên server — gồm framework dựng docs site chính thức.
📸 Deep DiveImmich: bài học kiến trúc từ stack ảnh Flutter 100k sao
Immich ghép client Flutter, API NestJS và pipeline ML thế nào — và pattern nào bạn học được.
🔐 Deep DiveHiddify Next: UI Flutter trên lõi tunnel
Client proxy đa nền tảng cho thấy cách ghép Flutter với lõi kiểu Go/Sing-box.
🎧 Deep DiveHarmony Music: pattern player offline-first
Quét thư viện, hàng đợi và tách audio service trong app nhạc Flutter.
🧩 Deep DiveForui: hệ thống UI Flutter có chủ kiến
Widget ưu tiên cấu trúc và theming — lựa chọn thay Material đáng đánh giá.
🦌 Deep DiveFlutter Deer: dự án luyện tập dáng production
Template shop đa flavor từng dạy layering sạch và kỷ luật test.
💬 Deep DiveFluffyChat: chat Matrix trên Flutter với E2EE thật
Một client Matrix xử lý room, mã hóa và đa nền tảng từ Flutter ra sao.
🎮 Deep DiveFlame: vòng lặp game bên trong Flutter
Cây component, vòng game và package cầu nối — vị trí Flame trong sản phẩm Flutter.
🔐 Deep DiveEnte: ảnh mã hóa đầu-cuối trên Flutter
UX crypto là vấn đề thiết kế. Ente cho thấy gallery mã hóa vẫn dùng được.
💸 Deep DiveCashew: UI tài chính giữ dữ liệu local
Chart, ngân sách và pattern lưu local cho app tài chính Flutter.
🧱 Deep DiveBloc: kiến trúc nhàm chán nhưng scale được
Event vào, state ra — vì sao bloc vẫn là mặc định của team Flutter lớn.
🔑 Deep DiveApp authenticator Flutter an toàn cần đúng gì
App TOTP coi trọng secret — bài học dù codebase của bạn không phải Aegis.
🔍 Deep DiveWidget Previews đã stable: sửa UI không cần chạy cả app
Flutter 3.47 đưa Widget Previewer lên stable: khởi động nhanh, ma trận theme, đồng bộ asset web.
🕸️ Deep DiveFlutter web Wasm: deferred loading để first paint nhẹ hơn
Flutter đang tiến tới Wasm mặc định. Deferred loading cho phép tách module và bootstrap nhỏ hơn.
🍎 Deep DiveUIScene lifecycle: yêu cầu khởi động iOS 27 mà app Flutter phải đạt
Xcode 27 / iOS 27 bắt buộc UIScene. Flutter migrate tự động đa số app; AppDelegate tùy chỉnh cần migrate tay.
📦 Deep DiveSwift Package Manager là mặc định iOS/macOS — rời CocoaPods
Từ Flutter 3.44, SwiftPM thay CocoaPods cho build iOS/macOS mới. CLI migrate thế nào, plugin author cần ship gì, và cách opt-out tạm.
🧱 Deep Divematerial_ui và cupertino_ui độc lập: thay đổi gì ở bản 1.0
Flutter 3.47 tung package design độc lập dạng opt-in. Vì sao cần tách, cách migrate bằng dart fix, và compatibility bridge giữ dependency cũ build được.
🗓️ Deep DivePublic release windows: PR Flutter của bạn lên stable khi nào
Flutter 3.41 công bố branch cutoff để contributor biết stable nào chứa change của mình.
📁 Deep DiveChỉ ship asset mà từng nền tảng cần
Flutter 3.41 cho phép pubspec khai báo platforms theo asset — APK nhỏ hơn khi loại file chỉ dành desktop.
🪟 Deep DiveAPI multi-window desktop: popup, dialog và windowHandle
API windowing experimental của Flutter lớn dần cùng Canonical: popup trên Linux/Windows, cửa sổ theo nội dung, truy cập native handle.
🎨 Deep DiveImpeller thành renderer desktop mặc định — thực sự đổi gì
Flutter 3.47 bật Impeller mặc định trên macOS, Windows, Linux. Jank shader biến mất; chữ SDF sắc hơn; opt-out Skia chỉ là tạm thời.
🖼️ Deep DiveHybrid Composition++: sửa platform view Android hết jank
Flutter 3.44 giới thiệu HCPP — compositing cấp OS qua Vulkan SurfaceControl cho WebView, map và native view Android.
✨ Deep DiveGenUI và A2UI: agent ghép widget, không chỉ markdown
GenUI SDK và giao thức A2UI cho agent dựng UI Flutter sống — khác hẳn tường chữ chat.
🧠 Deep DiveGenkit Dart: app AI full-stack không rời Dart
Genkit Dart mang flow AI model-agnostic, tool và structured output lên cả server lẫn client Flutter.
📱 Deep DiveGemma on-device trong Flutter: flutter_gemma và LiteRT-LM
Chạy model Gemma on-device trên cả sáu nền tảng Flutter với tăng tốc GPU/NPU qua LiteRT-LM.
🧬 Deep DiveFragment shader trong Flutter: uniform theo tên và texture đồng bộ
API shader 3.41–3.44 tiện hơn: getUniformFloat theo tên, decodeImageFromPixelsSync, texture high-bit cho LUT.
🔥 Deep DiveFirebase AI Logic trong Flutter: Gemini không cần backend riêng
Gọi Gemini từ Flutter qua firebase_ai, giữ prompt trên server, học pattern production như MacroFactor.
🍨 Deep DiveProduct flavor trên Windows và Linux trong Flutter 3.47
Desktop bắt kịp Android/iOS với flavor thật — gồm asset theo flavor trong pubspec và cờ build --flavor.
📋 Deep DiveCupertinoMenuAnchor và menu Flutter hiện đại
RawMenuAnchor cấp nguồn cho CupertinoMenuAnchor và MenuAnchor Material có animation — menu tự nhiên không cần plugin.
📐 Deep DiveFlutter view co theo nội dung trong native parent
Flutter 3.41 cho view nhúng size theo nội dung — then chốt khi Flutter nằm trong scrollable native.
🤖 Deep DiveAgentic Hot Reload: khi coding agent tự reload app đang chạy
Flutter 3.44 cho agent biết MCP tìm app đang chạy và trigger hot reload — khép kín vòng từ prompt tới pixel.
🧰 Deep DiveAgent Skills cho Dart và Flutter: workflow agent rẻ và chuẩn hơn
Skill chính thức cung cấp bước production-grade cho agent: localization, integration test… kèm MCP tools gọn hơn.
🪟 Chuyên sâuHiểu đúng về sliver: giao thức đứng sau mọi hiệu ứng cuộn trong Flutter
Sliver không phải một widget có cái tên lạ — nó là một giao thức layout với constraint và geometry riêng. Hiểu SliverConstraints và SliverGeometry rồi thì header co lại, header dính theo section hay toolbar ghim cứng đều thôi kỳ bí.
🔑 Chuyên sâuKey trong Flutter: một quy tắc duy nhất giải thích mọi trường hợp
Key không phải tối ưu hóa, cũng không phải đồ trang trí. Chúng tồn tại vì việc tái dùng element được quyết định bằng vị trí và kiểu runtime — và quyết định đó sai đúng vào lúc danh sách con của bạn có thể đổi thứ tự, chèn thêm hay bị xóa.
🔗 Hướng dẫngo_router và deep link: những phần mà bài quickstart bỏ qua
Khai báo route mới là nửa dễ. Redirect không lặp vô hạn, shell lồng nhau với stack điều hướng riêng, route có kiểu, và mấy tệp cấu hình nền tảng khiến một link https:// thật sự mở app — đó mới là nửa còn lại.
🧭 Chuyên sâuBuildContext chính là element: đọc hiểu những thông báo lỗi có nhắc tới nó
"No Scaffold widget found", "called before initState", "do not use BuildContext across async gaps" — ba lỗi nổi tiếng chung một gốc. BuildContext là tay cầm chỉ vị trí của bạn trong cây element, và mọi quy tắc về nó đều suy ra từ đó.
🎨 Hướng dẫnTheming Material 3 trong Flutter: vai trò màu, không phải giá trị màu
ColorScheme.fromSeed cho bạn cả bảng màu trong một dòng, rồi mọi người lập tức ghi đè lại bằng mã hex cứng. Đây là ý nghĩa của từng vai trò, khi nào seed là công cụ sai, và cách ThemeExtension mang những token mà Material không có.
📝 Hướng dẫnForm trong Flutter vượt khỏi ví dụ mẫu: validate bất đồng bộ, focus và autofill
Form và TextFormField đủ cho bài hướng dẫn. Form thật cần validate nói chuyện được với server, lỗi hiện đúng lúc, focus di chuyển theo đúng quy ước nền tảng, và bàn phím không che mất ô đang gõ.
♿ Hướng dẫnTrợ năng trong Flutter: cây semantics thật sự báo cáo những gì
Flutter vẽ pixel, nên trình đọc màn hình không thể soi widget của bạn. Nó đọc một cây semantics riêng mà Flutter dựng rồi gửi sang nền tảng. Biết cái gì rơi vào cây đó — và cái gì lặng lẽ không rơi vào — chính là toàn bộ công việc.
🌍 Hướng dẫnĐa ngôn ngữ trong Flutter với file ARB: số nhiều, giống, và những chỗ cắn người
Thêm ngôn ngữ thứ hai thì dễ. Thêm ngôn ngữ thứ năm, với số nhiều đúng trong tiếng Ba Lan và định dạng ngày đúng trong tiếng Việt, mới là lúc định dạng ARB và gói intl bắt đầu có ý nghĩa.
📦 Hướng dẫnThu nhỏ ứng dụng Flutter: megabyte thật sự nằm ở đâu
Không ứng dụng Flutter nào nặng 40 MB vì code Dart cả. Đó là sàn kích thước của engine, là những asset chẳng ai soát, những font chẳng ai cắt bớt, và những ABI bạn đóng gói cho những thiết bị không thể chạy chúng.
🚀 Chuyên sâuKhởi động nguội trong Flutter: đo khoảng thời gian trước frame đầu tiên
Khởi động bị cảm thấy chậm từ rất lâu trước khi có ai đó đo đạc. Cách sửa bắt đầu bằng việc biết bạn đang ở giai đoạn nào trong bốn giai đoạn — khởi tạo tiến trình, khởi tạo engine, hàm main của Dart, hay frame đầu tiên — vì mỗi giai đoạn có một cần gạt khác nhau.
🧠 Chuyên sâuTìm rò rỉ bộ nhớ trong Flutter: năm loại đối tượng không bao giờ được dispose
Rò rỉ bộ nhớ trong Flutter rất nhàm chán, và đó là lý do chúng sống dai. Gần như tất cả đều thuộc một trong năm mô-típ, và DevTools chỉ đúng đường tham chiếu giữ lại nếu bạn biết bấm hai nút nào.
🖼️ Chuyên sâuĐường ống ảnh trong Flutter: từ một URL tới pixel trên màn hình
Image.network giấu năm giai đoạn riêng biệt — khoá, tải, giải mã, cache, vẽ. Mọi lỗi ảnh bạn gặp (nháy khi rebuild, trắng khi cuộn ngược, bộ nhớ vọt lên) đều là một giai đoạn cụ thể đang hoạt động sai.
📜 Chuyên sâuVì sao ListView của bạn chậm, và bốn cách sửa thật sự có tác dụng
Một danh sách giật gần như không bao giờ là lỗi của widget danh sách. Nó là một trong bốn thứ: bạn dựng tất cả cùng lúc, mỗi mục quá đắt, chiều dài cuộn chưa biết, hoặc bạn đang giải mã ảnh nguyên cỡ cho từng dòng.
👆 Chuyên sâuVì sao cú chạm của bạn không ăn: hit testing và đấu trường cử chỉ
Một GestureDetector phớt lờ cú chạm không phải là bị hỏng. Hoặc nó chưa từng được hit-test, hoặc nó đã thua một đấu trường mà nó không biết mình đã bước vào. Cả hai đều nhìn thấy được khi bạn biết nhìn vào đâu.
🎢 Chuyên sâuScroll physics tự viết: khiến danh sách dừng đúng chỗ bạn muốn
ScrollPhysics là interface nhỏ nhất trong Flutter nhưng điều khiển thứ người dùng cảm nhận rõ nhất. Bốn phương thức quyết định danh sách sẽ snap, nảy, kháng lực hay từ chối fling — và bạn hiếm khi cần override nhiều hơn một.
🌈 Chuyên sâuFragment shader trong Flutter: cửa thoát xuống GPU và cái giá của nó
Flutter có thể nạp fragment shader GLSL và chạy trên GPU. Điều đó mở ra những hiệu ứng mà tầng widget không diễn đạt nổi — kèm theo chi phí biên dịch, việc đi dây uniform thủ công, và vài lưu ý nền tảng cần biết trước khi cam kết.
⚙️ Hướng dẫnMột pipeline CI cho Flutter thật sự bắt được lỗi
Phần lớn cấu hình CI cho Flutter chạy flutter test rồi dừng. Đây là pipeline bắt thêm cả lệch định dạng, phụ thuộc mục ruỗng, hồi quy golden, và những lỗi build chỉ xuất hiện trên máy sạch — kèm cách cache để giữ nó dưới năm phút.
🍦 Hướng dẫnFlavor trong Flutter: một codebase, ba ứng dụng, không copy-paste cấu hình
Dev, staging và production nên là ba ứng dụng cài được với icon, bundle id và endpoint khác nhau — build từ cùng một mã nguồn, không có câu lệnh if lúc chạy quyết định gọi backend nào. Đây là toàn bộ cách nối dây trên cả hai nền tảng.
🎯 Hướng dẫnRetrieval không nói dối: dựng eval trước khi dựng RAG
Phần lớn lỗi RAG là lỗi retrieval khoác áo generation. Đây là cách tách hai phần đó ra: một golden set 50 câu tự tay gán nhãn, recall@k và MRR, cùng một bộ regression chạy trong CI.
📐 Chuyên sâuĐừng parse văn xuôi nữa: schema, tool calling và output type-check được
Hành trình từ regex bóc chữ trong câu trả lời của model, sang xin JSON trong prompt, rồi tới schema được ép ngay ở tầng API. Mỗi bước xóa sổ một nhóm bug — và bước cuối cùng vẫn không nói được câu trả lời có đúng hay không.
🚦 Hướng dẫnĐưa một tính năng LLM lên production: bản demo chỉ là 20% công việc
Khoảng cách giữa một prompt chạy ngon trong terminal và một thứ bạn dám để chạy cho người dùng thật, theo đúng thứ tự bạn nên xây: eval, guardrail, timeout, kill switch, log an toàn, rollout theo giai đoạn.
🧊 Chuyên sâuPrompt caching thực chiến: thắng thua nằm ở thứ tự prompt, không nằm ở cái flag
Bật prompt caching chỉ mất một dòng. Nhưng để thật sự có cache hit thì đó là quyết định kiến trúc: phần bất biến phải nằm trước, phần thay đổi theo từng request phải nằm sau cùng. Bài này nói về cách sắp thứ tự prompt, và cách chứng minh cache đã trúng.
🌐 Phân tíchFlutter web biên dịch sang WebAssembly: được gì, mất gì
flutter build web --wasm không phải một cờ tối ưu — nó đổi dart2js lấy dart2wasm, đòi trình duyệt hỗ trợ WasmGC, và rút dart:html ra khỏi cây dependency của bạn. Đây là cơ chế bên dưới, một ví dụ interop thật với package:web và @JS, cùng những giới hạn mà không cờ biên dịch nào xoá được.
🖥️ Phân tíchChạy model ngay trên máy mình: bốn trường hợp local thật sự thắng API
Local LLM không phải thứ thay thế API frontier, cũng không phải đồ chơi. Có đúng bốn loại workload mà tự chạy weight là câu trả lời kỹ thuật đúng — và rất nhiều phép tính bạn làm được trước khi tải bất cứ thứ gì.
🧪 Hướng dẫnTest Flutter đỏ vì đúng lý do: widget, golden và integration
Kim tự tháp test áp vào Flutter một cách sòng phẳng: unit, widget, golden và integration mỗi lớp chứng minh được gì, vì sao pumpAndSettle là mặc định sai, vì sao golden lệch giữa máy Mac của bạn và Linux CI, và bốn nguồn gây flaky trong một bộ test Flutter.
🧩 Hướng dẫnRiverpod, Bloc, signals hay setState: chọn cách quản lý state Flutter và sống chung với nó
Một màn hình danh sách với loading, error, data và pull-to-refresh, viết bốn lần — setState, ValueNotifier, Riverpod và Bloc — để bạn so sánh code thật thay vì so sánh tính từ. Kèm mốc mà setState thật sự hết đủ dùng.
🔐 Hướng dẫnBí mật trong ứng dụng Flutter: cái gì lưu được, cái gì thì không
Mọi chuỗi được biên dịch vào ứng dụng đều đọc được bởi bất kỳ ai tải nó về. Chỉ một sự thật đó quyết định bí mật nào thuộc về thiết bị, bí mật nào thuộc về máy chủ, và flutter_secure_storage thật sự dùng để làm gì.
🔌 Chuyên sâuGọi code native từ Dart: platform channel, Pigeon hay FFI
Ba công cụ cho ba bài toán khác nhau. MethodChannel và EventChannel nói chuyện với dịch vụ của hệ điều hành. Pigeon làm đúng việc đó nhưng sinh code tự động, hết gõ nhầm chuỗi. dart:ffi gọi thẳng thư viện C — đồng bộ, vừa là điểm mạnh vừa là cái bẫy.
⏱️ Hướng dẫnNgân sách 16.6 ms cho mỗi frame Flutter — thay cho câu "để sau tối ưu"
Performance không phải một buổi debug bạn xếp lịch sau khi feature lên. Nó là một ngân sách có từng khoản mục: 16.6 ms mỗi frame ở 60 Hz, 8.3 ms ở 120 Hz, chia cho UI thread và raster thread. Sáu quy tắc, code thực thi từng quy tắc, và cách đo để bạn kiểm chứng thay vì tin suông.
🗄️ Chuyên sâuFlutter offline-first: database dưới máy mới là nguồn sự thật, không phải API
Cú lật kiến trúc giúp app chạy được trên tàu điện ngầm: UI chỉ đọc từ SQLite, còn network trở thành một tiến trình nền đi đối soát. Kèm schema Drift cụ thể với bảng outbox, idempotency key, vòng lặp sync thật, và một góc nhìn thẳng thắn về việc vì sao xử lý conflict là quyết định sản phẩm chứ không phải tính năng của thư viện.
🧵 Chuyên sâuIsolate trong Flutter: cái gì thật sự rời khỏi UI thread, cái gì thì không
async/await không đẩy việc sang thread khác — nó chỉ tạo ra điểm tạm dừng. Bài này giải thích điều đó gây jank ra sao, và compute, Isolate.run, worker sống lâu, TransferableTypedData cùng BackgroundIsolateBinaryMessenger ghép vào nhau thế nào.
🧩 Chuyên sâuImpeller và một frame bị giật: tìm xem 16ms đã trôi đi đâu
Impeller đã là renderer mặc định, xoá sổ luôn nhóm jank do biên dịch shader và làm phần lớn lời khuyên warmup cũ trở nên vô nghĩa. Bài này nói về phần còn lại: profile mode, sự khác nhau giữa UI thread và raster thread, và năm nguyên nhân thật sự làm vỡ frame budget — mỗi cái kèm một cách sửa.
🧩 Chuyên sâuKhi ghép widget không còn đủ: tự viết RenderObject
Thang leo từ Row/Column tới CustomPaint, CustomMultiChildLayout rồi tới RenderBox thật — kèm một layout staggered flow hoàn chỉnh đã test, với performLayout, computeDryLayout, paint, hit test và ParentData.
🎬 Hướng dẫnBa kiểu animation trong Flutter và cách chọn đúng kiểu
Animation implicit, explicit và physics-based trong Flutter, qua cùng một tấm card dựng ba cách — kèm tham số child của AnimatedBuilder, kỷ luật dispose, và lý do animate layout không hề miễn phí.
🎛️ Phân tíchFine-tune, RAG hay chỉ cần prompt tốt hơn: một quyết định bạn bảo vệ được
Ba thứ này hay bị đem so sánh như thể chúng giải cùng một bài toán. Không phải. Prompt đổi chỉ dẫn, retrieval đổi kiến thức, fine-tuning đổi hành vi — ánh xạ triệu chứng đúng tầng là hết tranh cãi.
🧮 Phân tíchChi phí mỗi request: con số mà hầu hết feature AI không bao giờ tính
Bạn biết hóa đơn API hàng tháng. Nhưng gần như chắc chắn bạn không biết một request tốn bao nhiêu — nghĩa là bạn không phân biệt được vấn đề nằm ở giá hay ở mức sử dụng. Đây là mô hình đầy đủ, kèm những hệ số biến một cú gọi nửa xu thành một hành động người dùng bốn xu.
🪟 Hướng dẫnContext engineering: window to không có nghĩa là được phép nhét đầy
Model hiện đại nhận cả triệu token đầu vào. Điều đó thay đổi cái gì khả thi, chứ không thay đổi cái gì nên làm. Một cách làm cụ thể để quyết định đưa gì vào context, theo thứ tự nào, và cắt gì trước khi tràn.
🔍 Hướng dẫnAI code review không ai muốn tắt: vấn đề là độ chính xác, không phải năng lực
Một con bot review để lại ba mươi comment trên một pull request sẽ bị tắt trong vòng một tuần, và ba phát hiện thật chết chung với hai mươi bảy cái vụn vặt. Cách thiết kế cho precision: convention của chính repo thay vì best practice chung chung, giới hạn cứng số comment, mỗi finding phải bác bỏ được, một lượt phản biện đối kháng, và một chỉ số duy nhất để tinh chỉnh tất cả.
🗃️ Phân tíchBộ nhớ cho AI agent: file phẳng, vector store, hay chỉ cần context window to hơn
"Bộ nhớ" thật ra là ba bài toán khác nhau dùng chung một cái tên — nhớ một sự thật, nhớ một quyết định, nhớ một quy trình. Mỗi cái cần một cơ chế riêng, và chọn nhầm là lý do agent tự tin lặp lại đúng cái sai hồi tháng Ba.
🌐 Hướng dẫnDùng công nghệ web để làm app mobile: bản đồ kỹ thuật 2026
Bốn con đường đưa HTML/CSS/JS lên điện thoại — PWA thuần, vỏ WebView, vỏ server-rendered, và loại không dùng WebView. Kèm số liệu đã kiểm chứng, hạn chót của cửa hàng, giới hạn cứng, và một danh sách những case study nổi tiếng đã chết mà ai cũng còn trích.
🚚 Phân tíchLovable rời Next.js sau 6 tháng: những con số và phần bạn thật sự dùng lại được
Lovable chuyển toàn bộ sản phẩm từ Next.js trên Vercel sang TanStack Start trên Cloudflare workerd trong 6 tháng. TTFB giảm 49%, dev server nhẹ đi hơn 5 lần — và một sự cố OOM 11 phút. Phân tích cái gì đáng học, cái gì đừng bắt chước.
🔔 Hướng dẫnPush notification trong Flutter: bốn trạng thái ứng dụng có thể đang ở
Chạy nổi, chạy nền, đã tắt hẳn, và 'người dùng chạm vào thông báo để mở ứng dụng' — mỗi trạng thái đưa tin nhắn đi theo một đường mã khác nhau. Phần lớn lỗi thông báo là một trong bốn trường hợp đó chưa được xử lý.
🐦 Hướng dẫnFlutter là gì: đọc một game 3D dựng trong 15 phút để hiểu cả framework
Một PM của Google dựng game tic-tac-toe 3D bằng Flutter rồi công khai toàn bộ prompt. Tôi đối chiếu timestamp với lịch sử commit — và dùng chính repo đó làm bài giới thiệu Flutter: widget, Dart, hot reload, Impeller, và bốn cái bug cho thấy vì sao vẫn phải hiểu framework.
🔬 Chuyên sâuNghiên cứu thật sự nói gì về prompt engineering — kiểm chứng 5 tuyên bố đang lan truyền
Năm tuyên bố về prompt engineering đang được chia sẻ khắp nơi, đem đối chiếu với chính các paper được viện dẫn. Hai cái đúng, ba cái không — và sự thật còn hữu ích hơn lời đồn.
🆓 Hướng dẫnAI coding agent miễn phí: dùng model free của OpenCode sao cho khỏi hối hận
OpenCode cho dùng model hosted miễn phí, không cần API key. Bài này nói rõ cái giá thật của tier free, việc nào nên để nó làm, và bậc thang nâng cấp hợp lý.
💳 Hướng dẫnMua hàng trong ứng dụng Flutter: những phần không nằm ở cái nút
Nối dây in_app_purchase mất một buổi chiều. Xử lý khôi phục, giao dịch bị gián đoạn, hoàn tiền, và việc xác thực biên nhận để một client bị sửa không mở khoá được mọi thứ thì mất lâu hơn nhiều — và đó mới là phần quan trọng.
💸 Hướng dẫnDùng AI mà không đốt tiền: free tier, caching và định tuyến model
Ba đòn bẩy quyết định hóa đơn AI của bạn: đừng trả tiền cho thứ đang miễn phí, đừng trả tiền hai lần cho cùng một mớ token, và đừng trả giá frontier cho việc của thực tập sinh. Kèm số liệu thật.
🧑✈️ Hướng dẫnMô hình Chief of Staff: biến đống chat AI rời rạc thành một đội ngũ agent
Chín thói quen biến một mớ hội thoại AI dùng một lần thành hệ thống có cửa ngõ duy nhất, bộ nhớ phân tầng, công việc được ghi lại và routine chạy cả khi bạn đang ngủ.
🖼️ Hướng dẫnHai hệ bố cục khiến poster AI nhìn như được thiết kế, không phải được sinh ra
Bố cục split-level và kiểu ảnh-chuyển-trừu-tượng: hai khung bố cục dùng lại được, kèm prompt điền chỗ trống và các tỷ lệ vùng khiến chúng hiệu quả.
⏱️ Chuyên sâuChạy nền trong Flutter: hệ điều hành thật sự cho phép bạn chạy gì
Android và iOS có quan điểm khác nhau, và cứng rắn như nhau, về việc chạy mã khi ứng dụng của bạn không ở phía trước. Hiểu những giới hạn đó trước khi chọn gói sẽ cứu bạn khỏi việc xây một tính năng mà nền tảng sẽ lặng lẽ từ chối thực thi.
🖥️ Hướng dẫnFlutter trên desktop: cửa sổ giờ là một phần của ứng dụng bạn
Trên di động, hệ điều hành sở hữu cửa sổ. Trên desktop, bạn sở hữu nó — kích thước, vị trí, giới hạn nhỏ nhất, nhiều cửa sổ, và cái nút đóng không được phép đóng. Đây là những gì thay đổi khi ứng dụng Flutter của bạn mọc ra thanh tiêu đề.
🧩 Hướng dẫnTiêm phụ thuộc trong Flutter mà không cần nghi thức rườm rà
get_it, Provider, Riverpod và constructor thuần đều giải cùng một bài toán: khiến một lớp nói ra thứ nó cần thay vì tự đi lấy. Đây là thứ mỗi cách thật sự cho bạn, và quy tắc quyết định chọn cái nào.
🚨 Chuyên sâuXử lý lỗi trong Flutter: bắt được thứ thật sự tới tay người dùng
Flutter có bốn chỗ riêng biệt để một lỗi thoát ra: framework, zone hiện tại, platform dispatcher, và isolate. Nối đủ bốn, giải mã stack trace, và ngừng phát hành những cú sập mà bạn không bao giờ nhìn thấy.
🎯 Chuyên sâuRecord và pattern trong Dart: chúng thay thế những gì
Record cho bạn nhiều giá trị trả về mà không cần class. Pattern cho bạn phá cấu trúc và switch vét cạn. Kết hợp lại, chúng xoá bỏ cả một nhóm mã lặp — và hình thành vài thói quen nên rèn sớm.
🧬 Chuyên sâuExtension type trong Dart: một cái tên mới cho giá trị cũ
Extension type cho một kiểu nguyên thuỷ một kiểu tĩnh riêng biệt mà không cấp phát lúc chạy. Đó là công cụ thật sự hữu ích cho lỗi nhầm ID và nhầm đơn vị — và là cái bẫy nếu bạn mong chúng hành xử như class.
🌊 Chuyên sâuStream trong Dart chuyên sâu: backpressure, broadcast và những rò rỉ ở giữa
Hầu hết lỗi stream đều rơi vào bốn loại: một subscription không bao giờ được huỷ, một stream đơn-đăng-ký bị nghe hai lần, một lỗi giết chết stream, và một nguồn phát phớt lờ pause. Đây là cách từng loại vận hành.
⚙️ Hướng dẫnSinh mã trong Dart: build_runner mà không bực mình
build_runner chậm, khó hiểu và thỉnh thoảng sai — cho tới khi bạn hiểu nó cache cái gì, vì sao nó xung đột, và bộ sinh mã nào thật sự xứng đáng với thời gian build. Hướng dẫn thực tế cho toàn bộ đường ống.
🔍 Hướng dẫnViết một lint tuỳ chỉnh cho codebase Dart của bạn
Quy ước của nhóm nằm trong wiki thì sẽ bị phá vỡ. Quy ước nằm trong bộ phân tích thì được sửa trước cả khi pull request mở ra. Đây là cách đường ống phân tích tĩnh của Dart hoạt động và một luật tuỳ chỉnh nằm ở đâu trong đó.
🛠️ Phân tíchThiết kế công cụ mà AI agent thật sự dùng được
Một agent dùng sai công cụ của bạn thường không phải lỗi mô hình. Đó là lỗi đặt tên, lỗi schema, hoặc lỗi thông báo lỗi — và cả ba đều thuộc về bạn.
🧭 Phân tíchChọn mô hình embedding: những câu hỏi thật sự quan trọng
Thứ hạng trên bảng xếp hạng là tín hiệu ít hữu ích nhất. Số chiều, độ dài ngữ cảnh, khả năng đa ngôn ngữ, chi phí ở quy mô của bạn và nỗi đau khi đổi ý mới là những thứ quan trọng hơn nhiều.
✂️ Phân tíchChia nhỏ tài liệu cho truy hồi: quyết định âm thầm chặn trần chất lượng RAG
Kích thước đoạn không phải cái núm bạn vặn tới khi con số đẹp. Nó mã hoá một giả định về việc câu hỏi là gì, và mọi vấn đề phía sau trong hệ thống RAG của bạn đều truy ngược về nó.
🔭 Hướng dẫnQuan sát ứng dụng LLM: truy vết một hệ thống không tất định
Bạn không tái hiện được một câu trả lời tệ bằng cách chạy lại yêu cầu. Điều bạn làm được là ghi lại đủ về lần chạy đó để không bao giờ cần chạy lại. Đây là những gì cần ghi, cần lấy mẫu, và cần bỏ qua.
🛡️ Phân tíchPrompt injection: cái gì thật sự phòng thủ được
Không có prompt nào khiến mô hình miễn nhiễm với chỉ dẫn nằm trong đầu vào của nó. Những phòng thủ có tác dụng đều thuộc về kiến trúc: đặc quyền tối thiểu, con người phê duyệt việc không thể hoàn tác, và coi mọi byte truy hồi được là không đáng tin.
👁️ Hướng dẫnMô hình thị giác trong sản phẩm thật: những phần bản demo bỏ qua
Đưa một ảnh cho mô hình chỉ tốn một dòng mã. Quyết định gửi độ phân giải nào, xử lý một PDF quét 40 trang ra sao, làm gì khi câu trả lời sai một cách đầy tự tin, và tất cả tốn bao nhiêu — đó mới là dự án thật.
🧪 Hướng dẫnDữ liệu tổng hợp cho eval: xây bộ kiểm thử mà bạn tin được
Sinh test case bằng model thì nhanh, rẻ và âm thầm luẩn quẩn. Làm cẩn thận, bạn có bộ đánh giá trước cả khi có traffic; làm ẩu, bạn chỉ chứng nhận hệ thống bằng chính giả định của nó.
🌊 Hướng dẫnTrải nghiệm streaming: thiết kế cho token đến từng cái một
Streaming khiến một model chậm cảm giác nhanh, và kéo theo một loạt vấn đề giao diện mà phản hồi trọn gói không hề có: layout nhảy, markdown dở dang, huỷ giữa chừng, và lỗi đến sau khi bạn đã hiển thị nội dung.
🔀 Chuyên sâuĐịnh tuyến mô hình và thác bậc: chỉ trả tiền cho mức thông minh bạn cần
Gửi mọi yêu cầu tới model lớn nhất là kiến trúc đơn giản nhất và thường là sai. Định tuyến và thác bậc cắt giảm đáng kể chi phí lẫn độ trễ — nếu bạn nhận ra được yêu cầu nào khó trước khi trả lời.
📱 Chuyên sâuAI chạy trên thiết bị trong Flutter: cái gì vừa với một chiếc điện thoại
Chạy mô hình ngôn ngữ cục bộ xoá bỏ hoá đơn API, phụ thuộc mạng và câu hỏi riêng tư, đổi lại là dung lượng tải về, trần bộ nhớ và ngân sách nhiệt. Đây là cách nhận ra bạn đang đánh đổi cái gì.
🎨 Hướng dẫnTạo progress indicator tùy chỉnh trong Flutter với CustomPaint
Dựng vòng tròn tiến trình từ đầu bằng Container, Stack và CustomPaint — kèm phần lượng giác đứng sau startAngle và sweepAngle.