Surf Flutter Team
Наш первый UI Quiz Недавно во внутреннем чатике наш тимлид Артём предложил всем подумать над одной любопытной задачей по вёрстке. Мы решили, что с ней можно попробовать новый формат в канале — UI-челлендж. Если понравится, то сделаем ещё! Итак, условия:…
Решение по Surf UI Quiz #1
Знакомься с нашим решением квиза. Мы использовали CustomMultiChildLayout виджет — с ним можно гибко ограничивать размеры child-виджетов и позиционировать их.
Дополнили код комментариями, но если остались вопросы — давай обсуждать в чате. Тема пересекается с предыдущим постом, рекомендуем почитать.
Ждём ссылки на DartPad в комментариях — особенно интересны иные способы реализации⬇️
Знакомься с нашим решением квиза. Мы использовали CustomMultiChildLayout виджет — с ним можно гибко ограничивать размеры child-виджетов и позиционировать их.
Дополнили код комментариями, но если остались вопросы — давай обсуждать в чате. Тема пересекается с предыдущим постом, рекомендуем почитать.
Ждём ссылки на DartPad в комментариях — особенно интересны иные способы реализации
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥5❤2⚡1
Получилось ли выполнить задание?
Anonymous Poll
23%
Да, и вышло хорошо
2%
Да, но не всё удалось реализовать
28%
Не получилось, но хотелось
46%
Не было интереса
Хочешь больше таких челленджей?
Anonymous Poll
83%
Да, давайте!
1%
Да, но есть предложения, напишу в комментах
15%
Мне и так хватает челленджей 🙃
❤6
Возможности пакета async — AsyncCache
Класс AsyncCache позволяет сохранять результат вызова асинхронной функции. При её повторном вызове вернётся сохранённое значение или создастся новый запрос.
Как ни странно, AsyncCache выполняет функцию… кэша!
Основная задача — оптимизация вызовов затратных вычислений, запросов или чтения больших файлов в том случае, если данные в них обновляются не часто.
На карточках Flutter-разработчик Самир рассказал об использовании AsyncCache с примером из практики Surf.
Класс AsyncCache позволяет сохранять результат вызова асинхронной функции. При её повторном вызове вернётся сохранённое значение или создастся новый запрос.
Как ни странно, AsyncCache выполняет функцию… кэша!
Основная задача — оптимизация вызовов затратных вычислений, запросов или чтения больших файлов в том случае, если данные в них обновляются не часто.
На карточках Flutter-разработчик Самир рассказал об использовании AsyncCache с примером из практики Surf.
🔥34👍6❤1⚡1🌚1🆒1
Subject объекты в RxDart
Dart в совокупности с пакетом Async обладает неплохим функционалом в части работы со стримами. Однако ограничения всё ещё есть. Чтобы сделать стримы более удобными, используется пакет RxDart.
В новой статье на Хабр Сёрфер Виталий рассказал, что предлагает Flutter-разработчикам RxDart.
➡️ Читать статью
#surf_flutter #surf_habr
Dart в совокупности с пакетом Async обладает неплохим функционалом в части работы со стримами. Однако ограничения всё ещё есть. Чтобы сделать стримы более удобными, используется пакет RxDart.
В новой статье на Хабр Сёрфер Виталий рассказал, что предлагает Flutter-разработчикам RxDart.
#surf_flutter #surf_habr
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Subject объекты в RxDart и чем они полезны Flutter-разработчику
Dart в совокупности с пакетом Async обладает неплохим функционалом в части работы со стримами. Однако ограничения всё ещё есть. Чтобы сделать стримы более удобными, используется пакет...
🔥21👍7👎3
Dart 3 спустя полгода: sealed-классы
Полгода назад анонсировали Dart 3. Сделали небольшой цикл постов, чтобы пройтись по основным изменениям и освежить их в памяти.
В первом Сёрфер Женя рассказывает про sealed-классы. Sealed-класс (переводится как «запечатанный») — аналог enum с той разницей, что все значения — обычные классы, которые могут содержать поля и методы.
Синтаксис sealed-класса очень прост:
Подробнее в карточках⬆️
#surf_flutter
Полгода назад анонсировали Dart 3. Сделали небольшой цикл постов, чтобы пройтись по основным изменениям и освежить их в памяти.
В первом Сёрфер Женя рассказывает про sealed-классы. Sealed-класс (переводится как «запечатанный») — аналог enum с той разницей, что все значения — обычные классы, которые могут содержать поля и методы.
Синтаксис sealed-класса очень прост:
// shapes.dart
sealed class Shape {}
class Square implements Shape {
final double length;
Square(this.length);
}
class Circle implements Shape {
final double radius;
Circle(this.radius);
}
Подробнее в карточках
#surf_flutter
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥49👍13🥰4