Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.1

easy_isolate_mixin

Um mixin simplificado para lançar isolados Dart no Flutter, funcionando perfeitamente com plugins do Flutter

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
981
Curtidas
34
Pontos Pub
160

Instalar pacote

flutter pub add easy_isolate_mixin

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

EasyIsolateMixin é um pacote Flutter/Dart que simplifica a criação e gestão de isolados, permitindo processamento eficiente em segundo plano sem bloquear a thread principal. Integra-se suavemente com plugins do Flutter, sendo ideal para tarefas intensivas em computação, como processamento de arquivos, análise de dados ou cálculos pesados. O padrão de mixin reduz o código repetitivo e agiliza a comunicação entre isolados por meio de mensagens. Projetado para uso multiplataforma, suporta Android, iOS, macOS, Windows e Linux, garantindo comportamento consistente em diferentes dispositivos.

Casos de uso

  • Computação em segundo plano em aplicativos Flutter
  • Processamento de grandes conjuntos de dados sem congelar a IU
  • Integração com plugins do Flutter em isolados
  • Executando tarefas intensivas em CPU em múltiplas plataformas
  • Simplificando a gestão do ciclo de vida do isolamento

Principais recursos

  • API baseada em mixin para integração fácil
  • Compatibilidade sem falhas com plugins
  • Suporte multiplataforma
  • Redução de código boilerplate para configuração de isolado
  • Tratamento de mensagens embutido entre isolados

Indicado para

  • Desenvolvedores em busca de uso simples de isolado
  • Aplicativos que exigem processamento em segundo plano
  • Equipes que priorizam código limpo e sustentável
  • Projetos que usam extensivamente plugins do Flutter
  • Aplicações móveis e de desktop multiplataforma

Considerações

  • Requer compreensão do conceito de isolados do Dart
  • Não adequado para operações intensivas de E/S sem um design apropriado
  • Limitado ao modelo de comunicação por troca de mensagens
  • Pode ser necessário tratamento adicional de erros em fluxos de trabalho complexos
  • Melhor usado ao descarregar tarefas limitadas por CPU apenas

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Easy Isolate Mixin

The Easy Isolate Mixin is a powerful mixin package designed to streamline the usage of isolates in your Flutter applications. With this Package, you can easily leverage isolates to perform concurrent and computationally intensive tasks without blocking the main thread.


Platform Pub Package License: MIT


Key Features

  • 🔑 Extremely easy to use
  • 👨‍👦‍👦 Efficient Isolate Management
  • 🔥 Enhanced Performance
  • 🥶 Prevents your UI from freezing
  • 🛠 Scalability enabled by mixins

Installing

To use the Easy Isolate Mixin package in your Flutter project, follow these steps:

  1. Depend on it

Add the following line to your project's pubspec.yaml file under the dependencies section:

dependencies:
  easy_isolate_mixin: ^1.0.0
  1. Install it

Run the following command in your terminal or command prompt:

$ flutter pub get
  1. Import it

Add the following import statement to your Dart code:

import 'package:easy_isolate_mixin/easy_isolate_mixin.dart';

Usage

  1. Import the package:
import 'package:easy_isolate_mixin/easy_isolate_mixin.dart';
  1. Create a class and mixin the IsolateHelperMixin:
class Service with IsolateHelperMixin {
  // Your methods and logic here
}
  1. Use the loadWithIsolate() method to perform expensive work:
class Service with IsolateHelperMixin {
  Future<void> performExpensiveWork() async {
    final result = await loadWithIsolate(() async{
      // Perform your expensive work here
      // Return the result
    });
    
  }
}

In the performExpensiveWork() method, you can use the loadWithIsolate() method from the IsolateHelperMixin to perform your expensive work in a separate isolate. Simply pass a function to loadWithIsolate() that contains your expensive computation. The result of the computation will be returned as a Future.

Handling Big Data

Here's an example of using loadWithIsolate() to fetch a list of SomeData objects:

class DataSource with IsolateHelperMixin {
  Future<List<SomeData>> fetchAmountOfData() => 
  loadWithIsolate(() => _api.getAmountOfData());
}

The _api.getAmountOfData() function represents your data fetching logic. It will be executed in a separate isolate, allowing your UI to remain responsive while the data is being fetched. The result will be returned as a Future<List<SomeData>>.

Note: Make sure the function you pass to loadWithIsolate() returns a value or a Future that resolves to the desired result type.

That's it! You can now leverage the power of isolates to perform concurrent and computationally intensive tasks without blocking the main thread.

Categorias

Repositório-fonte

Projetos que usam este pacote