Сёрф Flutter-разработка
Ir al canal en Telegram
Комьюнити Flutter-разработчиков Сёрф. 📚 Делимся полезными материалами и обучаем стажёров 💬 Чат → t.me/+HL9Xac3ChFhmMmZi 🧑🏻💻 Вакансии: career.surf.ru 📲 По вопросам @SurfAskBot
Mostrar más3 125
Suscriptores
Sin datos24 horas
+57 días
+1130 días
Archivo de publicaciones
Возможности dart:async — Completer
Мы все хотим писать лаконичный асинхронный код, используя
Future. Но иногда обстоятельства не на нашей стороне: нужно интегрировать плагин/библиотеку, которые предоставляют callback-based API.
К счастью, мы можем взять ситуацию в свои руки и очень просто преобразовать неудобные вызовы method((result) { … }) к привычным final result = await method().
Поможет в этом Completer. В карточках ассказываем, как это реализовать.
‣ Документация по CompleterДобраться до строк
Продолжаем тему локализации. Сегодня рассмотрим три случая работы с локализованными строками в приложении:
→ Локализации ещё нет, и вы используете хардкод.
Расскажем, как сделать так, чтобы при подключении локализации ничего не забыть.
→ Локализация настроена.
Посмотрим, как удобнее всего добраться до неё через контекст.
→ Локализация вне контекста.
Покажем, как получить локализованные строки, если доступа к контексту нет.
#экспертный
Как управлять Java при помощи jenv
Иногда нужно использовать определённую версию Java для проекта — мы столкнулись с этим при работе над одним из Flutter-приложений. Решение нашлось в виде использования менеджера версий Java. В статье на Хабр рассказываем, что это за инструмент и как с ним базово работать на MacOS.
➡️ Читать по ссылке
#экспертный
3. Какой контент тебе интересен? Можно выбрать несколько вариантов:
К нам пришло много новых людей — спасибо, что подписываетесь! Продолжаем развивать канал и хотим понять, что тебе интересно. Пожалуйста, ответь на несколько вопросов:
1. Какой у тебя грейд?
Локализация по-новому
Поддержка языков системы в приложении у нас имеется и уже привычна. Поменяли в системе — поменялось в приложении, всё круто. Но с недавних пор в новых версиях iOS и Android появилась возможность задавать индивидуальные настройки локали для приложений:
🤖 Android: Settings ➡️ System ➡️ Languages & input ➡️ App Languages
🍏🤖 iOS и Android: App Settings ➡️ Language
Рассказываем, как это реализовать для наших приложений.
Ссылки из карточек:
🔵 Документация для Android
🔵 Документация для iOS
#экспертный
Вакансия: Flutter Team Lead 😎
В поиске опытного Flutter-разработчика в свою команду. Вместе мы будем разрабатывать крутые приложения, сложные сервисы и решения с применением искусственного интеллекта.
➡️ Для отклика пиши Алёне.
#вакансия
Новый эпизод Flutter Dev Podcast 🎧
Говорим о DCM — как изменился проект и какими новыми функциональными возможностями обзавёлся? Куда он развивается и какие цели преследует его создатель? И, что немаловажно, как на пользователей повлияют изменения в системе монетизации?
Обсудили не только нюансы технической реализации плагинов, но и неприглядную обратную сторону мира open-source, и даже выяснили, как с помощью линтера ты и твоя команда можете заработать денег!
🎙 У микрофона — Женя и Марк из Surf и Дима из DCM.
⌨️ Подписывайся на подкаст в Telegram и слушай на всех доступных площадках:
Soundcloud | Яндекс.Музыка | Spotify | Apple Podcasts | CastBox | Google Подкасты | VK
#экспертный #от_сёрфера
Мы — на Стачке и Crossconf 🐦
Если будешь на одной из этих конференций, не пропусти доклад Сёрфера Артёма «Foreign Function Interface, или как подружить Dart с C». Поговорим о Dart FFI (Foreign Function Interface) и как связать короткий код на C с Dart посредством dart:ffi.
📅 Crossconf: 15 сентября, 17:15, зал 4
📅 Стачка: 16 сентября, 15:00, зал 3.6
Ждём тебя!
#мероприятия
В стек…
В недавнем опросе про коллекции в Dart вы почти единогласно ответили, что хотели бы больше постов на эту тему — расскажем тогда ещё кое о чем.
Итак, есть задача: нужно сделать сервис по работе со списком недавно просмотренных товаров в интернет-магазине.
Требования:
🔵 в списке может быть не больше 24 позиций;
🔵 если достигнут предел, то при добавлении нового, последний товар в списке отбрасывается;
🔵 если пользователь просмотрел товар, который уже в списке, то он передвигается в начало.
Ссылки из карточек:
➡️ Queue
➡️ ListQueue
➡️ DoubleLinkedQueue
➡️ Difference between a DoubleLinkedQueue and a ListQueue
➡️ Пример кода на DartPad
#экспертный
Surf Flutter Offer: расширяем команду 🐮
Организуем one-day offer для middle и senior-специалистов — ищем ребят, которые спроектируют сайт и мобильное приложение крупного магазина, а также будут развивать банковский продукт.
Кто мы?
➡️ Одна из крупнейших Flutter-команд в СНГ;
➡️ 35+ реализованных проектов;
➡️ 20+ крутых инженеров;
➡️ С 2018 года задаём стандарты архитектуры Flutter в Surf Gear;
➡️ Создали первый банк на Flutter в Европе и свой Flutter-курс.
🔵 Оставляй заявку до 10 сентября по ссылке.
#мероприятия #вакансия
Новости Surf Gear
Помимо работы над основными проектами, наша команда занимается развитием и поддержкой open source решений в составе набора библиотек и инструментов Surf Gear.
Честно скажем, порой непросто находить ресурсы на это направление, но мы очень стараемся. За последнее время обновили два наших пакета из самых популярных и разработали новый! Сегодня расскажем об этом чуть подробнее.
Ссылки из карточек:
➡️ Пакет otp_autofill
➡️ Пакет bottom_sheet
➡️ Пакет surf_lint_rules
➡️ Пакет union_state
➡️ Библиотека elementary и elementary_helper для неё
➡️ Все наши пакеты на pub.dev
#экспертный
Где взять время ⏰
— Саша, надо создать класс, который будет генерировать временные периоды для дня, недели, месяца и года. И чтобы мы могли при создании передавать число, которое определит отступ от текущего периода.
— Эээ… что?
— Ну, возьмём неделю. Типа, если мы ничего не передали, то это будет текущая неделя. Если передали 1, то это будет прошлая неделя, если передали 2, то…
— Да, понял, понял.
— Отлично, также с днями, годами и месяцами. И не забудь протестировать.
— Протестировать? Ну хорошо, сделаем.
Погнали! Ссылки из карточек:
➡️ Библиотека clock
➡️ zone-local values
#экспертный #от_сёрфера
Что нового во Flutter 3.13 🐦
Сделали перевод статьи Medium про обновление Flutter. Среди новых фич:
➡️ Усовершенствование Impeller;
➡️ Новый API движка;
➡️ Ряд улучшений во фреймворке Material;
➡️ Обновления для жизненного цикла приложений;
➡️ Двухмерный скроллинг и новые сливеры;
➡️ Обновления от Material 3;
➡️ Ускорение работы с графикой;
➡️ И многое другое.
🔵 Читать по ссылке
#экспертный
Новый эпизод Flutter Dev Podcast 🎧
Женя и Марк из Surf и Данил из No-code Production обсудили технологию «no-code» и FlutterFlow — многофункциональный конструктор Flutter-приложений, который и сам написан на Flutter. Можно ли действительно создать полноценное Flutter-приложение, используя только FlutterFlow?
Подписывайcя на подкаст в Telegram и слушай на всех доступных площадках:
Soundcloud | Яндекс.Музыка | Spotify | Apple Podcasts | CastBox | Google Подкасты | VK
#экспертный #от_сёрфера
Записи выступлений с митапа в Батуми 📹
Лови ещё одну порцию записей выступлений с нашего Flutter-митапа в Батуми, прошедшего 8 июня:
➡️ Про глитчи от Сёрфера Фёдора — как можно создать эффект анимированного глитча без использования шейдеров и с ними;
➡️ Про то, как мы ошибаемся в Dart и Flutter, от Fox — «популярные» ляпы, подводные камни и неочевидные ошибки, которые так или иначе встречаются на пути каждого разработчика.
#мероприятия
Как шарить код через DartPad 🐦
Каждый Flutter-разработчик рано или поздно сталкивался с DartPad. Но у него гораздо больше возможностей, чем просто запускать код. В статье на Хабр Flutter-Сёрфер Самир поделился, как просто шарить код через DartPad.
➡️ Читать по ссылке
#экспертный #от_сёрфера
Курс от Flutter-команды Surf: отзывы студентов 🐮
Собрали обратную связь от ребят, которые погружаются в мир Flutter — кто-то с нуля, кто-то, имея базу разработки за плечами. Смотри карточки и решайся!
➡️ Записаться на курс всё ещё можно по ссылке.
#экспертный
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
