У бібліотеки flutter_bloc є дві реалізації: Bloc і Cubit. Для того, щоб змінити стан у реалізації Bloc, нам необхідно надіслати спеціальний event. Cubit ж трохи відрізняється тим, що events відсутня, і безпосередньо ми звертаємося до Субіту, який у свою чергу генерує (emit) новий стан.
Flutter Blocs спрощує процес управління станами у додатку. Вона надає прості API, які абстрагують безліч деталей та полегшують роботу зі станами. Це одна з найпопулярніших бібліотек такого роду Flutter.
Чиста архітектура прибирає зайві залежності та збирає головну функціональність програми в одному місці – в домені. Функціональність у домені незалежна, рахунок чого її простіше тестувати. Плюс, відокремлений домен допомагає швидше шукати помилки та неточності, спрощує написання тестів.