Сёрф Flutter-разработка
前往频道在 Telegram
Комьюнити Flutter-разработчиков Сёрф. 📚 Делимся полезными материалами и обучаем стажёров 💬 Чат → t.me/+HL9Xac3ChFhmMmZi 🧑🏻💻 Вакансии: career.surf.ru 📲 По вопросам @SurfAskBot
显示更多3 125
订阅者
无数据24 小时
+57 天
+1130 天
帖子存档
Почему
setState() в начале метода build() не вызывает бесконечный цикл?
Такой вопрос получил от своих студентов Flutter-разработчик Surf и ментор нашего курса Егор. Мы решили, что стоит оформить его ответ в виде отдельной заметки.
Итак, мы имеем такую ситуацию внутри State у StatefulWidget:
@override
Widget build(BuildContext context) {
setState((){});
return SomeWidget();
{
Мы знаем, что setState() вызывает перерисовку виджета, так почему же он не зацикливается?
В качестве затравки вот вам пару популярных (и неправильных) ответов, которые предложили студенты:
1. Нет, что ты! Бесконечный цикл непременно получится.
2. Бесконечный цикл не возникнет, поскольку на текущий момент у State свойство mounted равно false и мы не сможем вызвать метод setState().
Чтобы разобраться нам понадобится вспомнить следующее:
➡️ Что такое State и как он связан с StatefulElement?
➡️ Как работает метод setState()?
#экспертный #от_сёрфераЗаписи выступлений Surf Flutter Tbilisi Meetup 🐦
Уже прошло два месяца с митапа 1 июня, и мы задолжали записи лекций. Лови плейлист на YouTube — и приятного просмотра 📹
P. S. Выступления с Батуми в монтаже, ожидаем — обязательно выложим, как будет готово.
#мероприятия
Хотел бы больше постов наподобие предыдущего про содержимое dart:collection и collection?
Помимо описанного выше в библиотеках dart:collection и collection много всякого интересного, как хорошо ты с ними знаком?
Летний Study Jam по Flutter — делимся докладами первого дня 🐦
Сегодня читаем лекции в формате митапа и для всех желающих открываем к ним доступ. Приходи послушать и обсудить. Они также сохранятся на YouTube 😉
Стартуем в 12:00 по мск, расписание такое:
➡️ 12:00-13:00 — «5 советов начинающему разработчику, или как стать "своим" в команде без лишнего стресса» — Женя, Surf Head of Flutter
➡️ 13:00-14:00 — «Dart 3: атлант на плечах гигантов» — Марк, Surf Engineering Manager
➡️ 14:30-15:15 — «Сравнение объектов в Dart: основы и подходы» — Даниль, Surf Flutter Developer
🔵 Подключайся по ссылке.
#прямой_эфир #мероприятия
Про косые деревья 🌳
Сегодня расскажем про небольшую джуновскую задачу из реального проекта. Нужно сделать отсортированный список уникальных объектов, которые отражали бы время без привязки ко дню. По сути, некое ежедневное расписание действий пользователя.
В этом нам поможет красивый и интересный метод Splay-деревьев. Смотри карточки и сохраняй себе полезные ссылки по теме:
➡️ TimeOfDay class
➡️ SplayTreeSet class
➡️ Set class
➡️ Comparable class
#экспертный
Летняя школа Flutter: закрываем регистрацию 🐄
Через 2 часа, 20 июля в 14:00 по мск, закроем регистрацию на летнюю школу Flutter. Успевай принять участие!
🐦 Про темы, спикеров и формат школы рассказали в этом посте.
В ближайшее время всем зарегистрировавшимся придётся ссылка на почту, откуда ты сможешь попасть в чат школы и познакомиться с однокурсниками и наставниками.
➡️ Зарегистрироваться на школу
❓ Есть вопросы? Пиши в наш бот @SurfAskBot.
#мероприятия
Курс по Flutter: первые результаты 🐦
Месяц назад запустили вторую версию курса. Читай в карточках, что классного придумали студенты и какие инсайты мы поймали.
🔵 Записывайся на следующие потоки курса!
#экспертный #от_сёрфера
Безопасность мобильных приложений: freeRasp 🤜 🤛 Rooting
Мобильные приложения могут содержать «чувствительные» данные — пользователей, бизнеса, самой бизнес-логики, ценной для разработчика. Несанкционированный доступ к этой информации вредит тебе или твоим пользователям/заказчикам.
Сегодня разберём набор механизмов защиты приложений — к ним относится выявление запуска на rooted-устройствах. Листай карточки и пиши в комментариях, как ещё можно защитить свои приложения 🛡
#экспертный
Как стать Flutter-разработчиком в 47 лет
Таня стала флаттеристом после нашего курса по Flutter. Теперь за её плечами работа на пяти е-ком и финтех проектах. А ещё она побывала по обе стороны: и в роли студента курса, и в роли ментора, который проверяет домашние задания.
➡️ В новой статье на Хабр она рассказала, как попала в IT, чем занималась до Flutter и что её мотивировало не бросать разработку и идти до конца.
🐦 Записывайся на курс по Flutter-разработке от экспертов Surf!
#экспертный
О чём будем говорить на летней школе Flutter 🐦
Для подготовки к школе рекомендуем изучить нашу дорожную карту Flutter-разработчика. А вот и описания тем лекций:
🐦 Марк Абраменко «Dart 3: атлант на плечах гигантов»
Dart всегда воспринимался как простой язык с очень низким порогом входа. В последние годы всё меняется и Dart становится глубже, сложнее. Из философии «всё класс» мы пришли к модификаторам классов и Null Safety. Разберём, куда движется Dart, сравним его с коллегами из нативной разработки и рассмотрим новые способы работы с языком.
🐦 Евгений Сатуров «5 советов начинающему разработчику, или как стать "своим" в команде без лишнего стресса»
В последнее время всё чаще аналитики IT-рынка публикуют тревожные пророчества: в больших компаниях идут массовые сокращения, рост зарплат останется в прошлом, «рынок кандидата» неизбежно превратится в «рынок работодателя». По их оценкам, Junior-разработчиков ждут особенно трудные времена. Требования к профессионализму и производительности в кризис возрастают, а бюджеты на обучение начинающих разработчиков падают.
В докладе я дам 5 советов, следуя которым, каждый Junior сможет уверенно и быстро стать важным членом команды и ускорить свой переход на следующий грейд.
🐦 Егор Грищенков «Регулярные выражения в Dart: от основ до практики»
Это подробное изложение основ регулярных выражений в языке программирования Dart. Ты поймёшь суть регулярных выражений и их применение в Dart, а также получишь практические навыки использования данной функциональности.
🐦 Даниль Галимзянов «Сравнение объектов в Dart: основы и подходы»
Рассмотрим механизм сравнения, хэш-код и оператор сравнения. Как сравниваются базовые типы, пользовательские классы и классы с вложенностью. Также разберём пакетные решения для реализации правильного сравнения объектов. Рассмотрим их преимущества и недостатки.
Программа летней школы Flutter: темы лекций, спикеры, формат
Flutter-интенсив пройдёт в формате Study Jam:
➡️ 24 июля — митап с лекциями от Сёрферов + Live Coding;
➡️ 25 июля — практика, выполнение задания под руководством наставников;
➡️ 26 июля — проверка заданий, ответы на вопросы, обсуждения;
➡️ 27 июля — закрытие школы и награждение победителей.
Регистрация продолжается — закроем её за неделю до начала школы, успевай!
#мероприятия
Продолжаем искать Flutter Developer'а — будущего Сёрфера!
Все условия и задачи расписали в этом посте. Пиши нашей HR Алёне, если возникнут вопросы.
#вакансия
Почему мы не любим «шапочки» 😕
Не знаю уж, кто это придумал, но внутри отдела мы символ «^» ласково называем «шапочкой» ^_^. У него, конечно, есть официальные названия — Карет или Циркумфлекс, но, согласись, шапочка звучит поприятнее.
Ты уже, наверное, догадался, к чему всё это. Тема сегодняшнего небольшого поста — caret syntax и наше к нему отношение. Читай в карточках ⬆️
А вот полезные ссылки по теме:
➡️ Семантическое версионирование
➡️ Dependency_overrides
➡️ Пример из последней карточки
Приглашаем на Flutter-движ в Ереване 🐄
Обменяемся опытом, обсудим управление зависимостями в Dart и соберем портрет идеального флаттериста.
📅 26 июня, 19:00 (GMT +4)
📌 Ереван, ул. Терьяна, 105/1 (10-й корпус Национального Политехнического Университета Армении, 6-й этаж, Microsoft Innovation Center Armenia)
Программа митапа:
📍 Аршак Агакарян, SimplyAI Lead Mobile — «Простое и уверенное управление зависимостями с помощью Toor»
Открой для себя альтернативный способ управления зависимостями в твоих проектах Dart, который сочетает в себе безопасность во время компиляции и простоту использования. Узнай, как Toor упрощает управление зависимостями, повышает стабильность кода и обеспечивает бесперебойную разработку.
📍 Евгений Сатуров, Surf Head of Flutter — «В поисках идеального флаттериста»
Каждый хочет быть профессионалом, каждый хочет работать с профессионалами. Почему же тогда задача собрать дрим-тим Flutter-разработчиков может быть настолько нетривиальной? Мы в Surf постарались по максимуму деконструировать личность того самого «идеального флаттериста» и найти ответ на вопрос — какими навыками, профессиональными и личными качествами должны обладать лучшие? Первый в мире иммерсивный доклад по Flutter-разработке, на котором каждый сможет не только высказать своё мнение по теме, но и проверить свои знания.
Регистрируйся по ссылке.
#мероприятия
Ищем Flutter-разработчика в команду Сёрферов 🐄
Ты будешь работать над крупными российскими и зарубежными проектами в крутой команде — к слову, мы входим в топ-4 Flutter-разработчиков мира. Ценим свободу, атмосферу в команде, уважаем друг друга, экспериментируем и сводим бюрократию к минимуму.
Вместе мы будем разрабатывать крутые приложения, сложные сервисы и решения с применением искусственного интеллекта.
⬆️ Смотри требования и обязанности в карточках, и ждём твоё резюме на почту job-tg@surfstudio.ru с пометкой «Вакансия Flutter».
#вакансия
Митап в Батуми — done 🏄♀️
Спасибо всем, кто посетил наш второй митап! Публикуем первые фото с мероприятия и ждём видеозаписи выступлений (обязательно выложим в группе).
Ну а Flutter Team выдыхает и идёт покорять новые волны 🏄♂️
Как прошёл митап в Тбилиси 🇬🇪
Спасибо всем, кто принял участие! Делимся фотографиями с митапа и рассказываем, как всё прошло, глазами Сёрферов:
🐦 Марк, Surf Flutter Engineering Manager:
«Всё просто супер. Всегда приятно собираться с людьми по интересам. Особенно приятно встречаться с людьми, с которыми ты до этого был знаком только онлайн. Выступления тоже огонь, всё получилось очень живо, много вопросов. За счёт ламповой атмосферы даже получалось общаться со зрителями. Доклады у моих коллег из Яндекса и Аквелон были крайне интересные:
VoIP: крайне интересный доклад с обзором решений в области VoIP. Если вам вдруг пригодится выполнить похожую задачу, то смело можете начинать с просмотра этого выступления, когда оно будет в записи.
HighlishJS: Мне понравился этот доклад больше всего. Хороший рассказ про крайне нетипичную задачу и погружение в атмосферу работы над опенсорсом. Ну и, конечно, замечательно, что у нас есть теперь такая библиотека».
🐦 Женя, Surf Head of Flutter:
«Спасибо всем, кто посетил наш первый Flutter-митап в Грузии.
Наше первое знакомство с локальным сообществом прошло в очень уютной и камерной атмосфере. Все составляющие хорошего митапа были на месте: три спикера с интересными докладами, винтажный ковёр, от пиццы и пончиков ломились столы, а "Натахтари" лился рекой.
С удовольствием послушал про то, как в Яндекс.Про реализовали VoIP-звонки, а в Akvelon – полноценный редактор кода с подсветкой на Flutter. В том, что Engineering Manager команды Surf Марк грамотно расскажет про все новшества Dart 3, я даже не сомневался.
А ещё мы проверили вместимость нашего тбилисского офиса Surf: первый грузинский Flutter-митап собрал аншлаг».
Ждём записи выступлений и готовимся к митапу в Батуми ✈️
Из Тбилиси — в Батуми 🐦
Не успели провести тбилисский митап, как уже анонсируем следующий — на этот раз вместе с Fox. Обсудим:
🔵 Как можно создать эффект анимированного глитча без использования шейдеров и с ними;
🔵 «Популярные» ляпы, подводные камни и неочевидные ошибки, которые так или иначе встречаются на пути каждого разработчика.
Записывай дату и время:
📅 8 июня, 19:00
📌 Батуми, коворкинг Kongworking, ул. Вахтанга Горгасали, 9
➡️ Регистрируйся по ссылке.
#мероприятия
Изучай обновлённый курс по Flutter 🐦
Запустили новую версию курса — новые задания, больше кейсов, чёткая ОС и другие изменения. О некоторых из них рассказали в карточках ⬆️
А если тебе интересно, как создавался курс, читай нашу статью на Хабр. Спасибо студентам за обратную связь — постарались учесть все пожелания!
#экспертный
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
