Tutorial Flutter: Gestión de Estados con Streams

Поділитися
Вставка
  • Опубліковано 22 гру 2024

КОМЕНТАРІ •

  • @diegoveloper
    @diegoveloper  2 роки тому +2

    Source code: github.com/diegoveloper/streams_like_a_pro
    Inherited Widget
    ua-cam.com/video/57CCj9UH_Gw/v-deo.html

  • @robertocruz1200
    @robertocruz1200 2 роки тому +2

    Ufffff, estuvo excelente el video, tenía mis dudas acerca de streams para gestionar el estado, este video me la resolvió completamente. Saludos Diego, te rifas!!

  • @aandresmc
    @aandresmc 2 роки тому +2

    es normal ya darle like de forma automatica sin terminar el video 👍👍😂😂, excelente contenido como siempre diego!

  • @marcoscasor7893
    @marcoscasor7893 2 роки тому

    excelente, ahora a replicarlo!

  • @albertjjimenezp
    @albertjjimenezp 2 роки тому +1

    Generalmente uso RxDart y patron BLoC para el manejo de estado pero es genial poder hacer la gestion sin ningun paquete adicional (PD. despues de un mes de estar leyendo y experimentando con el navigator 2.0 seria genial un videito para que los niños inexpertos entendamos mejor este RouterDelegate y El Infor.....)

  • @Rodrigo-wf5ub
    @Rodrigo-wf5ub 2 роки тому

    Gracias bro, buenísimo, tengo una duda si intento leer el estrié de un controller anterior, por ejemplo en el detalle leo el stream del splash, pues no lo lee, sino que crea un nuevo bloc, eso como se puede resolver?

  • @brunocoronaalcantar
    @brunocoronaalcantar 2 роки тому

    Excelente 👌🏽

  • @elquenoaplica3975
    @elquenoaplica3975 2 роки тому

    Eres un capo muy buen video y muy didactico.

  • @MohamedAhmed-lv1pg
    @MohamedAhmed-lv1pg 2 роки тому

    i love your videos they're so helpful!!! what architecture do you use for your code and how do you keep your code clean?

    • @diegoveloper
      @diegoveloper  2 роки тому +1

      Check my playlist: State Management, you will find some architecture videos

  • @pedritoalejos3694
    @pedritoalejos3694 2 роки тому

    Muy buen video, súper claro. Te agradecería un montón si puedes hacer un video de test unitarios.
    Saludos.

    • @diegoveloper
      @diegoveloper  2 роки тому

      ua-cam.com/video/Fo6x4ZbO_Iw/v-deo.html

  • @Z4yx
    @Z4yx 2 роки тому

    Creo que la función en Python de Broadcasting en redes neuronales se usa para cambiar de vectores a matrices o algo así 🤔🤨🧐

  • @jeckson521
    @jeckson521 2 роки тому +1

    excelente como todos los videos q haces... soy "programador" de la academia UA-cam🤣 podrías hacer un ejercicio de inyección de dependencias?

    • @diegoveloper
      @diegoveloper  2 роки тому +2

      Revisa este playlist de state management, en casi todos uso inyección de dependencias ua-cam.com/users/diegoveloperplaylists

  • @dacostap
    @dacostap 2 роки тому

    Genial, una consulta como puedo saber si un stream ha emitido un valor en especifico? Siempre he querido hacer eso con los cubits, saber si un estado ha sido emitido

    • @diegoveloper
      @diegoveloper  2 роки тому +1

      Quizás guardar una variable en el bloc , en la cual guardes el último estado emitido :)

    • @dacostap
      @dacostap 2 роки тому

      @@diegoveloper De hecho el ultimo lo obtengo del mismo state del cubit, pero a veces me gustaria hacer validaciones en base a si en algun momento se emitió un estado hacer esto sino lo otro

    • @diegoveloper
      @diegoveloper  2 роки тому

      Hmm en el video hago validaciones y en base a eso redirijo

  • @mustafashaikh7829
    @mustafashaikh7829 2 роки тому

    New thing I seen on Animated Container onEnd method is used when Duration is finished

  • @haroldpepete
    @haroldpepete 2 роки тому

    este fue el que hiciste en el live pero editado o es uno nuevo?

    • @diegoveloper
      @diegoveloper  2 роки тому +1

      es la charla que di en el flutter festival de mexico, solo que al final le agregué mi resumen

  • @jesusescobar208
    @jesusescobar208 2 роки тому

    hola bro como haces para depurar en el celular sin cables

  • @mirkomilbaratov2863
    @mirkomilbaratov2863 2 роки тому

    Thank you 👍

  • @davidardo4466
    @davidardo4466 2 роки тому

    Teacher math is important web developer and mobile application?

    • @diegoveloper
      @diegoveloper  2 роки тому +1

      Yes, at least intermediate level

    • @davidardo4466
      @davidardo4466 2 роки тому

      @@diegoveloper Can you do better when math is bad?

    • @diegoveloper
      @diegoveloper  2 роки тому +1

      yes

    • @davidardo4466
      @davidardo4466 2 роки тому

      @@diegoveloper Which course important math? I'll be your student in the future.

    • @diegoveloper
      @diegoveloper  2 роки тому +1

      @@davidardo4466 any course is fine

  • @brprogrammer
    @brprogrammer 2 роки тому

    Solo vine a dejar mi Ban :v

  • @faisalfotoh1909
    @faisalfotoh1909 2 роки тому

    import 'package:flutter/material.dart';
    class TwoCards extends StatefulWidget {
    const TwoCards({Key? key}) : super(key: key);
    @override
    State createState() => _TwoCardsState();
    }
    class _TwoCardsState extends State
    with SingleTickerProviderStateMixin {
    late AnimationController controller;
    late Animation scaleOne;
    late Animation scaleTwo;
    late Animation leftRotation;
    late Animation rightRotation;
    @override
    void initState() {
    super.initState();
    controller = AnimationController(
    vsync: this, duration: const Duration(milliseconds: 1300));
    scaleOne = Tween(begin: 0, end: 1).animate(
    CurvedAnimation(parent: controller, curve: const Interval(0.0, 0.5)));
    leftRotation = Tween(begin: 5, end: 0).animate(
    CurvedAnimation(parent: controller, curve: const Interval(0.0, 0.5)));
    scaleTwo = Tween(begin: 0, end: 1).animate(
    CurvedAnimation(parent: controller, curve: const Interval(0.5, 1.0)));
    rightRotation = Tween(begin: 5, end: 0).animate(
    CurvedAnimation(parent: controller, curve: const Interval(0.5, 1.0)));
    controller.forward();
    controller.addListener(() {
    setState(() {});
    });
    }
    @override
    void dispose() {
    controller.dispose();
    super.dispose();
    }
    @override
    Widget build(BuildContext context) {
    return Scaffold(
    appBar: AppBar(
    backgroundColor: Colors.black,
    ),
    body: Center(
    child: Row(
    mainAxisSize: MainAxisSize.min,
    children: [
    CustomCard(
    color: Colors.black,
    rotation: leftRotation.value,
    scale: scaleOne.value),
    CustomCard(
    color: Colors.blue.withOpacity(0.5),
    rotation: rightRotation.value,
    scale: scaleTwo.value),
    ],
    ),
    ),
    );
    }
    }
    class CustomCard extends StatelessWidget {
    CustomCard(
    {Key? key,
    required this.color,
    required this.rotation,
    required this.scale})
    : super(key: key);
    double scale;
    double rotation;
    Color color;
    @override
    Widget build(BuildContext context) {
    return Expanded(
    child: Transform(
    alignment: Alignment.center,
    transform: Matrix4.identity()
    ..scale(scale)
    ..rotateZ(rotation),
    child: Container(
    margin: const EdgeInsets.all(20),
    color: color,
    width: 200,
    height: 200,
    ),
    ),
    );
    }
    }