Сёрф Flutter-разработка
前往频道在 Telegram
Комьюнити Flutter-разработчиков Сёрф. 📚 Делимся полезными материалами и обучаем стажёров 💬 Чат → t.me/+HL9Xac3ChFhmMmZi 🧑🏻💻 Вакансии: career.surf.ru 📲 По вопросам @SurfAskBot
显示更多3 176
订阅者
无数据24 小时
+167 天
+2130 天
帖子存档
Новости 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 — кто-то с нуля, кто-то, имея базу разработки за плечами. Смотри карточки и решайся!
➡️ Записаться на курс всё ещё можно по ссылке.
#экспертный
Почему
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 Алёне, если возникнут вопросы.
#вакансия
