Start Debugging
2026-01-23 flutter Edit on GitHub

Flutter Particles 2.0.2: краткий обзор (и небольшой фрагмент интеграции) на Flutter 3.x

particles_flutter 2.0.2 добавляет формы частиц, вращение, режимы границ и эмиттеры. Краткий обзор изменений и небольшой фрагмент интеграции для проектов Flutter 3.x.

Если вы строите UI на Flutter, которым нужна “жизнь” (фоновое движение, тонкие эффекты празднования, экраны загрузки, которые не выглядят скучно), системы частиц относятся к самым эффективным инструментам, которые можно добавить. Тред о релизе за последние 48 часов анонсирует particles_flutter 2.0.2 с реальным шагом по возможностям: формы, вращение, поведение на границах и эмиттеры: https://www.reddit.com/r/FlutterDev/comments/1qfjp1g/just_released_flutter_particles_200_major/.

Upstream:

Что реально изменилось в 2.0.x (и почему это важно)

Интересная часть этого релиза не в “новом номере версии”. Дело в том, что библиотека ушла от базового хелпера в стиле “точки на канвасе” к небольшому движку частиц, которому можно задавать форму:

Всё это очень хорошо совместимо с проектами на Flutter 3.x и Dart 3.x, где вам нужен эффект, а не выходные за написанием рендерера.

Добавьте пакет, а потом сделайте его скучно тестируемым

Начните с зафиксированной версии в pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  particles_flutter: ^2.0.2

Затем держите эффект частиц изолированным за границей виджета. Тогда, если вы позже замените реализацию (свой CustomPainter, Rive, шейдер), остальной UI это не затронет.

Небольшой фрагмент интеграции, который можно вставить в демо-экран

Точные API меняются от версии пакета, поэтому относитесь к этому как к “форме” интеграции: держите его в Stack, делайте неинтерактивным и управляйте контроллером, который можно запускать и останавливать.

import 'package:flutter/material.dart';

class ParticlesDemoScreen extends StatelessWidget {
  const ParticlesDemoScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: [
          // Replace this with the actual particles_flutter widget from the docs.
          // The key point is: keep it behind everything else and keep it cheap.
          const Positioned.fill(
            child: IgnorePointer(
              child: ColoredBox(color: Colors.black),
            ),
          ),
          Center(
            child: ElevatedButton(
              onPressed: () {},
              child: const Text('Ship it'),
            ),
          ),
        ],
      ),
    );
  }
}

Когда вы подключаете настоящий виджет частиц, ориентируйтесь на предсказуемые значения по умолчанию:

Если нужна авторитетная поверхность API, используйте upstream-документацию и примеры как источник истины: pub.dev и GitHub.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Назад