Сёрф Flutter-разработка
Kanalga Telegram’da o‘tish
Комьюнити Flutter-разработчиков Сёрф. 📚 Делимся полезными материалами и обучаем стажёров 💬 Чат → t.me/+HL9Xac3ChFhmMmZi 🧑🏻💻 Вакансии: career.surf.ru 📲 По вопросам @SurfAskBot
Ko'proq ko'rsatish3 176
Obunachilar
+124 soatlar
+137 kunlar
+1930 kunlar
Postlar arxiv
Flutter — не только мобайл и десктоп 🌐
Наш любимый фреймворк позволяет собирать одну кодовую базу и для веб-приложений. Мы начинаем цикл статей о работе Flutter Web и особенностях его взаимодействия с платформой.
В первой части Максим, Middle Flutter Developer в Surf, рассказал про:
🔵области применения Flutter Web;
🔵использование инструмента Browser API;
🔵взаимодействие Dart с JS-библиотеками.
Материал вышел богатым на примеры — как мы любим. Дальше планируем разработать собственные библиотеки сTypeScript и подготовить приложение к кроссплатформенной компиляции.
Поддержи Макса оценкой и комментом на Хабре, так новая часть выйдет быстрее 🔥
А здесь в комментах пиши, нашёл ли пасхалку в обложке статьи 😊
Выступим с докладом на DevFest Omsk 2024
Максим, Middle Flutter Developer в Surf, поедет на DevFest c докладом про JsInterop в Dart. Вот, про что он расскажет:
Разберемся с тем, как построить взаимодействие между Dart и JavaScript. Обсудим что такое Browser API и как его использовать. Затронем разработку и сборку нативных, для веб-среды, библиотек. Научимся использовать wasm в наших приложениях. И выясним, каким образом можно оптимизировать «холодную» загрузку Flutter web-приложения.
Доклад будет полезен не только Flutter-разработчикам, планирующим переносить проект в web, но и проектным менеджерам и сотрудникам пресейла для понимания особенностей и ограничений разработки.
👉Регистрация и билеты
+9
3 кейса использования Subject из RxDart
Subject — мощный инструмент для управления потоками данных. Он очень похож на StreamController, но с расширенными возможностями.
Если ты не знаком с Subject, лучше начни с этой статьи.
Если уже разбираешься в теме, го смотреть в карточках примеры использования Subject.
Репозитории с примерами:
https://github.com/Evgenia-bit/behavior_subject_example
https://github.com/Evgenia-bit/publish_and_replay_subject_example
Навигация — больная тема? Разбираемся в новом выпуске Flutter Dev Podcast 🎧
Можно ли целый час обсуждать, как переходить с одного экрана приложения на другой? Оказалось, что да.
Постоянные ведущие подкаста вместе с Михаилом Матюниным не только перемыли косточки популярным решениям, но и разобрались в базовых понятиях. Ещё поговорили про octopus и почему его стоит использовать с большой осторожностью.
🎙 У микрофона — Евгений Сатуров (Surf), Марк Абраменко (Surf), Михаил Матюнин (aka Fox).
⌨️ Подписывайся на подкаст в Telegram и слушай на всех площадках:
Soundcloud | Яндекс.Музыка | Spotify | Apple Podcasts | CastBox | Google Подкасты | VK
+4
Ищем тиммейта для разработки крутого приложения 🐦
В нашу команду нужен опытный Flutter-разработчик грейда Middle+/Senior. Мы делаем продукт на базе известного картографического российского сервиса.
Приложение насыщено сложной функциональностью: начиная от поиска работы и парков для отдыха, заканчивая построением маршрутов на карте и получения лицензий.
Проект крупный и амбициозный. Смотри подробные требования в карточках, а для отклика пиши нашему рекрутеру.
Давай разрабатывать кроссплатформенные приложения вместе.
Privacy Manifest
Не понимаешь, как соответствовать новым требованиям Apple при публикации Flutter-приложений в сторах? Не переживай, сейчас всё расскажем.
В новой статье ты узнаешь, что такое декларации конфиденциальности, или Privacy Manifest-ы, как их заполнять и как всё-таки пройти ревью приложения для публикации в App Store!
➡️Читать статью в Telegraph
Полезные ссылки:
🔵Видео с WWDC2023 про Privacy Manifest
🔵Декларация использования API — документация Apple
#surf_flutter #surf_telegraph
Как добавить Flutter-модуль в нативное приложение
🏄♀️ Сергей, Senior Flutter Developer в Surf, поделился на Хабре опытом работы с Flutter Add-to-App. Это не просто ознакомительная статья, а большой и подробный туториал с примерами в коде. Вот кое-что из содержания:
🔵инструкция по добавлению Flutter-модуля в Android и iOS;
🔵виды интеграции Flutter в натив — как экран, фрагмент, модальное окно;
🔵обмен данными между Flutter-модулем и нативным кодом;
🔵использование нескольких Flutter-модулей в одном приложении.
➡️Го читать и комментировать
#surf_flutter #surf_habr
+9
Формы во Flutter
Для одного проекта дизайнеры создали любопытный интерфейс приложения, в котором было много необычных полей:
🔵 текстовые;
🔵 для пикинга файлов;
🔵 с мультиселектом;
🔵с формой (форма внутри формы, привет Xzibit) и другие.
Го смотреть, как мы с этим справились.
Полезные ссылки:
➡️ Forms
➡️ Валидация форм
#surf_flutter
+1
Запустили регистрацию на летнюю школу Flutter 🐦
22-26 июля будем делиться экспертизой во Flutter и отбирать ребят в стажёрский резерв Surf!
Что за летние школы:
📌 Ты сделаешь первый шаг в IT-сферу и профессию;
📌 Пообщаешься с крутыми спецами в своей сфере и заведёшь полезные знакомства;
📌 Расширишь кругозор и сделаешь выбор в сторону той или иной профессии;
📌 Добавишь проекты в своё портфолио;
📌 И самое главное — получишь возможность стажировки в топовой IT-компании!
❗️ В этом году школа пройдёт офлайн — приглашаем ребят из Воронежа, стажировка после школы также пройдёт в офисе в Воронеже. Подробности о том, как всё будет устроено, мы отправим тебе на почту после регистрации. Наши преподаватели с нетерпением ждут встречи с молодыми и амбициозными студентами!
Чтобы участвовать, выполни несколько простых действий:
1️⃣ Регистрируйся на сайте;
2️⃣ После 15 июня начнём рассылать анкеты — чекай почту;
3️⃣ Жди приглашения на школу!
❓ По вопросам и FAQ пиши в нашего бота.
#surf_flutter #surf_events
+9
Базовые и продвинутые возможности дебаггера
Дебаггер — неотъемлемая часть жизни разработчика. Его предназначение — давать возможность быстро и эффективно выявлять причины ошибок. А ещё он позволяет понять, как работает код.
Без навыков работы с дебаггером (сюрпрайз!) сложно написать хорошо работающее приложение. Поэтому если ты ещё в начале разработческого пути и пока не работал с дебаггером, настоятельно рекомендуем внимательно прочитать этот пост и опробовать дебаггер.
Если ты уже на опыте, то, возможно, найдёшь в карточках что-то новое.
#surf_flutter
Записи докладов с митапа в Москве. Да, они готовы!
Ещё раз спасибо всем участникам митапа, а теперь узнать о том, что происходило в Москве, можно и онлайн! Приятного просмотра 🐦
📹 Surf Flutter Team. Технологический обзор
📹 5 лет с Flutter. Эволюция кроссплатформенности
📹 Flutter-диета. Как сбросить вес, выпиливая модули
#surf_flutter #surf_events
Едем на Mobius
🏄♀️ Surf Flutter EM Марк поделится опытом проектирования white-label приложения на Flutter и размышлениями о том, стоит ли вкладываться в их разработку. Будешь на Мобиусе, заходи!
📅 31 мая, 11:45
➡️ Подробнее о докладе
🔵 Купить билет
#surf_flutter #surf_events
+7
Каркас фичи за 7 секунд. Чем может быть полезен mason?
В какой-то момент у всех появляются лучшие подходы к написанию кода, которые кочуют из проекта в проект. Они превращаются в шаблонный код, который мы привыкли называть бойлерплейт.
Никто не любит бойлерплейт: для старта проектов появляются шаблоны, как, например, Surf Flutter App Template, для небольших кусков кода существуют Snippets (VSCode) и Live Templates (IntelliJ IDEA, Android Studio).
Но что, если этих инструментов недостаточно? Если есть потребность в более гибком инструменте для генерации шаблонного кода?
Мы во Flutter-команде Surf задались этими вопросами, и пришли к mason — мощному и гибкому генератору кода по шаблонам. И сейчас покажем, как его использовать.
Ссылки из карточек:
🔵 mustache
🔵 mason_cli
🔵 BrickHub
🔵 Синтаксис brick
#surf_flutter
Что нового во Flutter 3.22 🐦
14 мая Flutter зарелизил новую версию 3.22. И мы сделали целых две статьи на Хабр — перевод официального анонса и комментарии наших разработчиков. Скорее читай и делись своим мнением о релизе в комментариях!
➡️ Перевод статьи
➡️ Мнение Surf Flutter Team
#surf_flutter #surf_habr
+9
Сериализация и десериализация. Часть 2
Продолжаем тему и раскрываем её с практической стороны — иначе зачем мы вообще всё это делаем? 🤷♀️
Здесь мы:
🔵 Свяжем теорию с практикой на примере запроса в сеть;
🔵 Познакомимся с пакетами:
➡️ https://pub.dev/packages/json_serializable
➡️ https://pub.dev/packages/freezed
➡️ https://pub.dev/packages/retrofit
Они упростят нам жизнь — избавят от написания рутинного кода.
#surf_flutter
Про ключи во Flutter
Во Flutter много виджетов и в каждом есть свойство key — ключ. Используется оно не так часто и, на первый взгляд, может показаться несущественным. Но если использовать его неправильно, настанет хаос, разведутся баги, а приложение начнет вести себя неподобающе.
Выбрать правильный тип ключа для конкретной ситуации — сложная задача даже для опытных разработчиков. 🏄♀️ Женя, Surf Flutter Developer, рассказала в статье на Хабр, как правильно использовать ключи и избежать потенциальных проблем в работе приложения.
➡️ Читать статью
#surf_flutter #surf_habr
Будем на митапе Юзтеха
🏄♀️ Surf Head of Flutter Евгений Сатуров расскажет, как за 5 лет изменился Flutter — его сильные и слабые стороны и сферу применения. Все участники митапа получат джентельменский набор для быстрого старта разработки твоего следующего Flutter-приложения.
📅 6 мая, 15:00, онлайн
➡️ Зарегистрироваться на митап
#surf_events #surf_flutter
+6
Сериализация и десериализация. Часть 1
Если посмотреть абстрактно, то всё, что мы делаем в IT — передаём и отображаем данные в нужной форме.
Знание, как эти данные трансформируются и передаются на прикладном уровне во Flutter-разработке, поможет нам в выборе подходов для реализации дальнейшей логики.
В этом посте — теоретическая часть:
🔵 рассмотрим пример из жизни;
🔵 определим понятие;
🔵 познакомимся с подходами.
В следующем:
🔵 свяжем теорию и практику на примере обычного запроса в сеть;
🔵 познакомимся с пакетами, которые автоматизируют и упрощают нам жизнь и избавляют от потребности писать шаблонный код.
#surf_flutter
