flutter-handling-concurrency 是做什麼的?
在背景 isolate 中執行長時間運行的任務,以保持 UI 的響應性。適用於執行繁重運算或解析大型資料集時。
在背景 isolate 中執行長時間運行的任務,以保持 UI 的響應性。適用於執行繁重運算或解析大型資料集時。
此技能專注於 Flutter 中的並發處理,特別是利用 Dart 的 isolate 機制將耗時任務移至背景執行,從而避免阻塞主 UI 執行緒。其核心價值在於保持應用程式的流暢響應,避免因繁重運算(如數據解析、加密解密、圖像處理等)導致畫面凍結。此技能適用於所有 Flutter 開發平台,包含 Android、iOS、Web 與 Desktop。透過 `Isolate.run()` 或 `compute()` 函數,開發者可以輕鬆地將一個獨立的函數傳遞給新的 isolate 執行,並在完成後透過 Future 接收結果。該技能通常會包含錯誤處理與 isolate 生命週期管理的最佳實踐,例如在 isolate 完成後如何正確關閉通道以避免資源洩漏。
npx skills add https://github.com/flutter/skills/tree/main/skills/flutter-handling-concurrency在背景 isolate 中執行長時間運行的任務,以保持 UI 的響應性。適用於執行繁重運算或解析大型資料集時。
This repo contains 20 individual skills — each has its own dedicated page.
Configure your Flutter app to support assistive technologies like Screen Readers
Triggers an accessibility scan through the widget_inspector and automatically adds Semantics widgets or missing labels to the source code.
Adds home screen widgets to a Flutter app for Android and iOS. Use when providing glanceable app information or quick actions on the device home screen.
Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests. Use when adding integration testing to a project, exploring UI components via MCP, or automating user flows with the integration_test package.
Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing.
Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected.
Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations.
Add animated effects to your Flutter app
Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.
Measure and reduce the size of the Flutter app bundle, APK, or IPA
Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.
Use the Flutter team's recommended app architecture
Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.
Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application.
Builds Flutter plugins that provide native interop for other apps to use. Use when creating reusable packages that bridge Flutter with platform-specific functionality.
Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. Use when you need the UI to look good on both mobile and tablet/desktop form factors.
Cache data in a Flutter app
Implements caching strategies for Flutter apps to improve performance and offline support. Use when retaining app data locally to reduce network requests or speed up startup.
Execute long-running tasks in a background thread in Flutter
Work with databases in a Flutter app
ElevenLabs text-to-speech with mac-style say UX.
Oracle CLI second-model review/debug/refactor/design with selected files, dry-run token checks, API or browser engine.
Capture and automate macOS UI with the Peekaboo CLI.
Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".
Build a throwaway prototype to flesh out a design — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".