Flutter Heroes
📈 Análisis del canal de Telegram Flutter Heroes
El canal Flutter Heroes (@flutterdev) en el segmento lingüístico de Inglés es un actor destacado. Actualmente la comunidad reúne a 24 985 suscriptores, ocupando la posición 4 956 en la categoría Tecnologías y Aplicaciones.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 24 985 suscriptores.
Según los últimos datos del 27 enero, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -163, y en las últimas 24 horas de 0, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 0%. Durante las primeras 24 horas tras publicar, el contenido suele obtener N/A% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 0 visualizaciones. En el primer día suele acumular 0 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 0.
- Intereses temáticos: El contenido se centra en temas clave como developer, firebase, widget, hemantpra389, engineer.
📝 Descripción y política de contenido
No se ha proporcionado la descripción del canal.
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 28 enero, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
typedef Update<T> = T Function(T); Update<Game> moveForward() => (game) { final nposition = game.position.step(); if (!game.map.isValid(nposition)) return game; return game.update(position: nposition); }; Now I want to combine this approach with Riverpod.I have to create a subclass of StateNotifier to store my Game (or any other updateable value because I'm doing this is the most generic way of course):class UpdateableStateNotifier<T> extends StateNotifier<T> { UpdateableStateNotifier(T initialState) : super(initialState); void apply(Update<T> update) => state = update(state); ... To make creating a provider look nicer and to omit all the explicit types otherwise required, I also provide this utility factory function:... static StateNotifierProvider<UpdateableStateNotifier<T>, T> provider<T>(T initialState) => StateNotifierProvider((_) => UpdateableStateNotifier(initialState)); }Then I can setup my gameProvider like so:
final gameProvider = UpdateableStateNotifier.provider(initialGame);Later, I can access the current game state as usual:
Widget build(BuildContext context, WidgetRef ref) { final game = ref.watch(gameProvider); ... To easily apply updates, I extended WidgetRef:extension UpdateableStateNotifierExtension on WidgetRef { void apply<S>(StateNotifierProvider<UpdateableStateNotifier<S>, S> provider, Update<S> update) { read(provider.notifier).apply(update); } } Now, my UI can do this in callbacks or other actions:ref.apply(gameProvider, moveForward());There is a bit more work involved because I also support undo (and redo, because why not) and Update actually returns a FutureOr<T>, but the principle stays the same. November 13, 2021 at 04:15PM by eibaan https://ift.tt/3F4p1SG
