Сёрф Flutter-разработка
前往频道在 Telegram
Комьюнити Flutter-разработчиков Сёрф. 📚 Делимся полезными материалами и обучаем стажёров 💬 Чат → t.me/+HL9Xac3ChFhmMmZi 🧑🏻💻 Вакансии: career.surf.ru 📲 По вопросам @SurfAskBot
显示更多3 176
订阅者
无数据24 小时
+167 天
+2130 天
帖子存档
Flutter is ready for you. What will you build?
Сегодня не простой день. Ровно 5 лет назад был опубликован официальный анонс первой стабильной версии нашего любимого фреймворка 🐦
Для IT-индустрии это огромный срок и, очевидно, время было потрачено не зря. Проект активно развивается и радует нас новыми возможностями, быстродействием и стабильностью.
Наша команда начала работу с Flutter ещё в 2017 году, когда появились первые нестабильные версии. За это время мы реализовали более 25 проектов на Flutter, а также взрастили дружный и экспертный отдел — один из самых больших в Surf. Популяризируем Flutter всеми возможными способами, искренне его любим — чего и тебе советуем!
Пожелаем командам Dart и Flutter не терять энтузиазма и двигаться вперёд с тем же темпом. И да… это видео по-прежнему будоражит 😲
Делись в комментариях, как ты познакомился с Flutter и за что его любишь ⬇️
Отстаиваем Flutter на YaTalks’23
🏄♀️ Surf Head of Flutter Женя будет одним из спикеров дебатов «Flutter или KMP — что лучше?». Разберёмся в ходе обсуждения, за какой кросс-платформенной технологией будущее.
На стороне Flutter — Яндекс и Surf, за KMP выступят Алексей Гладков (Mobile Developer) и Контур.
📌 5 декабря, 19:00 мск
🔵 Подробности и регистрация
Приходи и поддерживай любимую кросс-платформу — трансляция будет!
Что нового во Flutter 3.16 🐦
Собрали новинки в новой статье на Хабр и дополнили комментариями Сёрферов. Из интересного:
🔵 Масштабирование текста с TextScaler
🔵 Обновление SelectionArea
🔵 Timeline events Flutter-приложений в Chrome DevTools
🔵 Поддержка колёсика мыши в Android
🔵 Обновление Casual Games Toolkit для Flutter
🔵 Обновлённые Flutter Favorites
🔵 Первый виртуальный саммит по пакетной экосистеме
🔵 Форматирование Google Maps в облачной консоли
➡️ Читать статью
Dart 3 спустя полгода: sealed-классы
Полгода назад анонсировали 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);
}
Подробнее в карточках ⬆️Subject объекты в RxDart
Dart в совокупности с пакетом Async обладает неплохим функционалом в части работы со стримами. Однако ограничения всё ещё есть. Чтобы сделать стримы более удобными, используется пакет RxDart.
В новой статье на Хабр Сёрфер Виталий рассказал, что предлагает Flutter-разработчикам RxDart.
➡️ Читать статью
Возможности пакета async — AsyncCache
Класс AsyncCache позволяет сохранять результат вызова асинхронной функции. При её повторном вызове вернётся сохранённое значение или создастся новый запрос.
Как ни странно, AsyncCache выполняет функцию… кэша!
Основная задача — оптимизация вызовов затратных вычислений, запросов или чтения больших файлов в том случае, если данные в них обновляются не часто.
На карточках Flutter-разработчик Самир рассказал об использовании AsyncCache с примером из практики Surf.
#экспертный #от_сёрфера
Решение по Surf UI Quiz #1
Знакомься с нашим решением квиза. Мы использовали CustomMultiChildLayout виджет — с ним можно гибко ограничивать размеры child-виджетов и позиционировать их.
Дополнили код комментариями, но если остались вопросы — давай обсуждать в чате. Тема пересекается с предыдущим постом, рекомендуем почитать.
Ждём ссылки на DartPad в комментариях — особенно интересны иные способы реализации.
Наш первый UI Quiz
Недавно во внутреннем чатике наш тимлид Артём предложил всем подумать над одной любопытной задачкой по вёрстке. Мы решили, что можно её оформить и попробовать новый формат в канале — UI-челлендж. Если понравится, то сделаем ещё!
Итак, условия:
🔵 Экран разделен пополам, верхняя часть либо закрашена, либо там находится картинка, как на скринкасте.
🔵 На экране находится список карточек с заголовком, который изначально немного перекрывает верхнюю половину.
🔵 Есть кнопки добавления / удаления элементов списка, минимальное количество карточек — одна.
🔵 Когда список достигает низа экрана, он начинает расти вверх и все больше перекрывает верхнюю половину экрана, но не полностью.
🔵 Когда список становится максимальной высоты, его элементы скроллятся внутри.
🔵 Всё это должно запускаться в DartPad.
🔵 Главное — адаптивность списка. Анимация, рандомные иконки и прочее — это для разнообразия 😊
Пробуй! Можешь ещё что-нибудь накрутить, это будет даже любопытно 🏄♂️
На следующей неделе сделаем пост-разбор c решением.
P. S. Большая просьба не публиковать свои идеи и код в комментариях, попробуем сохранить интригу 🙏 Но если есть вопросы — welcome!
