Сёрф Flutter-разработка
前往频道在 Telegram
Комьюнити Flutter-разработчиков Сёрф. 📚 Делимся полезными материалами и обучаем стажёров 💬 Чат → t.me/+HL9Xac3ChFhmMmZi 🧑🏻💻 Вакансии: career.surf.ru 📲 По вопросам @SurfAskBot
显示更多3 125
订阅者
无数据24 小时
+57 天
+1130 天
帖子存档
…и ещё один новый пакет в Surf Gear!
Встречай очередного новичка в семействе — yandex_mapkit_lite!
Это облегчённая версия Яндекс.Карт, из которого мы нещадно вырезали часть тяжеловесного функционала для уменьшения веса приложения. Сделана на основе lite-версии нативного SDK.
Мы используем это решение в своих проектах. И уже уменьшили вес сборки в среднем на 15% — до этого мы пользовались его старшим братом yandex_mapkit.
Ещё в yandex_mapkit_lite есть новый функционал по типу поддержки кастомной кластеризации, что убирает ограничения нативного SDK.
🐦 Пробуй и делись опытом!
#surf_flutter #surf_opensource
Surf Flutter Meetup: о Flutter-диете
Доклад специального гостя из Яндекса — Константина, Senior Flutter Developer в Яндекс.Про — будет посвящён удалению лишних зависимостей в разных flavors. Система сборки Flutter очень тривиальная, но это приводит к совсем нетривиальным проблемам.
Как помочь нашему приложению сбросить вес? Поговорим об этом на примере приложения Яндекс.Про.
➡️ Зарегистрироваться на митап
#surf_events #surf_flutter
Surf Flutter Meetup: 5 лет с Flutter 🐦
Продолжаем раскрывать темы Flutter-митапа в Москве. Во втором докладе 🏄♀️ Surf Head of Flutter Евгений и 🏄♀️ Surf Flutter EM Марк поделятся промежуточными итогами развития Flutter.
В первой части доклада раскроем, что собой представляет Flutter сегодня: наиболее оптимальные сферы применения, сильные и слабые стороны, объективно и без маркетинговой шелухи. Во второй части будем разбираться в зоопарке решений, из которых складывается технологический стек современной Flutter-разработки. Попробуем найти парадоксы и закономерности, а потом через призму практического опыта попытаемся отделить лучшие практики от сомнительных.
🔵 С пустыми руками ты не уйдёшь — каждый получит джентельменский набор для быстрого старта разработки твоего следующего Flutter-приложения.
Наконец, проанализировав всё, что мы знаем об уже пройденном фреймворком пути, мы выскажем свои предположения о том, каких изменений стоит ждать в ближайшие годы.
➡️ Зарегистрироваться на митап
#surf_events #surf_flutter
Surf Flutter Meetup: технологический обзор нашей команды 🐦
Начинаем публиковать программу большого Flutter-митапа в Москве!
Мы работаем с фреймворком с момента его первого релиза, и за это время у нас накопились большая экспертиза и опыт, которыми мы постоянно делимся с сообществом: активно пишем на Хабр и в Telegram-канал, выступаем на конференциях и митапах, развиваем свой опенсорс, который сейчас насчитывает 15 пакетов на pub.dev.
В первом докладе 🏄♀️ Дмитрий, Сергей и Самир расскажут, что на данный момент из себя представляет наша команда с технологической стороны. Поговорим про:
🔵 Cтек наших проектов: лучшие подходы, инструменты и практики;
🔵 Cамые интересные исследования в области Flutter, которые мы проводили в последнее время;
🔵 Open source: как мы находим идеи, развиваем и поддерживаем наши решения.
➡️ Зарегистрироваться на митап
#surf_events #surf_flutter
Surf, Яндекс, Flutter — приглашаем на митап в Москве 🐦
Проводим большой митап в столице! Расскажем про опыт нашей команды, поделимся внутренней кухней опенсорса. А наши Flutter-звёзды — Женя и Марк — оценят эволюцию фреймворка за 5 лет. No holy war!
А также будет special guest из Яндекса. Ждём Flutter-разработчиков и тех, кому неравнодушен фреймворк.
📅 19 апреля, начало в 19:00
📍 Москва, лофт Idealista, ул. Нижняя Сыромятническая, 11/1, офис 316
🚇 Метро Чкаловская
📌 Подробности и регистрация
#surf_events #surf_flutter
Dart 3 спустя почти год: Records
В прошлый раз Женя рассказывала про Sealed-классы. Сейчас поговорим про Records.
До их появления привычные во многих языках программирования кортежи реализовывались с помощью пакетов со словом tuple в названии. С недавних пор в этом нет необходимости.
Итак, что такое Records. Лучше определения, чем в документации, мы не нашли, поэтому лови:
«Records представляют собой анонимный, неизменяемый, агрегированный тип данных. Как и другие типы коллекций, они позволяют объединять несколько объектов в один объект. В отличие от других типов коллекций, записи имеют фиксированный размер, неоднородны и типизированы»Пример Record, опять же из документации:
var record = ('first', a: 2, b: true, 'last');
Разберём подробнее, что это значит, посмотрим на базовое использование, особенности и изучим интересные расширения для работы с Records. Погнали!
Полезные ссылки (в карточках подчёркнуты):
🔵 Pattern types для Record
🔵 Исходники FutureRecord и FutureIterable
🔵 Пример с FutureRecord
🔵 Заметка про typedef
#surf_flutterНовый эпизод Flutter Dev Podcast 🎧
Продолжаем тему карьеры Flutter-разработчика — поговорим о том, какой дополнительный профит можно извлекать из собеседований, какие вопросы по Flutter нам нравится задавать и на какие отвечать, поделимся опытом процесса отбора в Яндекс.Про и Surf, а также врываемся с особо острой темой — лайв-кодинг в интервью.
А наш специальный гость, Миша Зотьев, расскажет о том, чем интервью в зарубежные компании отличается от наших.
🎙 У микрофона — Женя и Марк из Surf, Илья Вирник и Сергей Кольцов из Яндекс.Про, Михаил Зотьев из Wolt, автор канала Oh, my Flutter.
⌨️ Подписывайся на подкаст в Telegram и слушай на всех площадках:
Soundcloud | Яндекс.Музыка | Spotify | Apple Podcasts | CastBox | Google Подкасты | VK
#surf_podcast
Ещё один новый пакет в Surf Gear
По умолчанию Flutter уводит многострочный текст в прозрачность сверху вниз. Но бывает, что нужен эффект затухания текста слева направо. Для таких случаев был создан пакет faded_text.
Чтобы применить fade-эффект из пакета, просто создай экземпляр класса FadedText подобно обычному Text:
FadedText(
'Lorem ipsum dolor sit amet,
consectetur adipisci and blah blah...',
maxLines: 5,
)
Есть ещё FadedText.rich, который аналогичен Text.rich.
🐦 Пробуй и делись опытом!Новый пакет в Surf Gear 🐦
Все наши новые пакеты родились из успешных решений, которые кочевали из проекта в проект. И кажется, это самый правильный путь — делать то, чем хочешь пользоваться сам.
➡️ Так что лови новичка в семействе Surf Gear — surf_widget_test_composer!
Это удобный инструмент для облегчения работы с виджет и голден-тестами. Это в некотором смысле обёртка над пакетом golden_toolkit, которая упрощает предварительную настройку и работу.
В файле конфигурации нужно один раз задать темы, устройства, локализацию. После — написать тест с минимумом настроек. На выходе получаем набор голденов по количеству элементов конфигурации.
Например, если у нас 2 языка, 2 темы и мы тестируем их для 3 устройств, то по итогу получим 12 голденов, как вот тут.
🔵 Кроме голден-тестов можно выполнять виджет-тестирование.
Пробуй и пиши, получилось или нет!
Записи лекций с первого дня Flutter Study Jam 🐦
Опубликовали записи джема на YouTube. Спасибо всем участникам за насыщенные четыре дня, и ждём на следующих джемах!
📹 Адаптивная вёрстка во Flutter, Максим, Surf Flutter Developer
📹 Сериализация и десериализация — вошли и вышли, Кирилл, Surf Flutter Developer
📹 Коллекции во Flutter, Самир, Surf Flutter Developer
#мероприятия
Как создавать платформенные виджеты
Когда разрабатываешь кроссплатформенные приложения, может понадобиться отобразить элементы интерфейса, которые характерны для конкретной платформы. Как оптимизировать работу, чтобы быстрее писать и удобнее поддерживать код, расскажет 🏄♀️ Таня, Flutter-разработчик Surf.
Полезные ссылки:
🔵 Адаптивные виджеты
🔵 Решение Surf для pull-to-refresh: Swipe Refresh
#экспертный #от_сёрфера
AbsorbPointer и IgnorePointer — 3 кейса использования
Бывает, что необходимо сделать виджет, который не реагирует на жесты. Например, нужно сделать кнопку не кликабельной или поле ввода неактивным. А иногда нужно сделать это одновременно с несколькими виджетами. В таких ситуациях на помощь приходят AbsorbPointer и IgnorePointer, которые хоть и похожи друг на друга, но все-таки разные.
🏄♀️ Сёрфер Женя расскажет об этом подробнее.
#экспертный #от_сёрфера
Разбираемся с Debounce и Throttle в Dart: управление частотой вызовов
Debounce и Throttle — два термина, которые ты точно услышишь, когда речь пойдёт о разработке ПО, особенно веб-приложений.
Это методы для эффективного управления частотой вызовов функций, что часто критически важно в различных сценариях. 🏄♀️ Тимлид команды Flutter Виталий поможет разбираться, как они работают и как использовать их на языке программирования Dart.
#экспертный #от_сёрфера
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
