fa
Feedback
Сёрф Flutter-разработка

Сёрф Flutter-разработка

رفتن به کانال در Telegram

Комьюнити Flutter-разработчиков Сёрф. 📚 Делимся полезными материалами и обучаем стажёров 💬 Чат → t.me/+HL9Xac3ChFhmMmZi 🧑🏻‍💻 Вакансии: career.surf.ru 📲 По вопросам @SurfAskBot

نمایش بیشتر
3 125
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+57 روز
+1130 روز
آرشیو پست ها
Один из спикеров Surf Flutter Tbilisi Meetup напоминает о мероприятии! Все подробности и регистрация — по ссылке.

(барабанная дробь) 🥁 Объявляем даты летней школы! Наши комменты и сообщения только об одном — летняя школа. В этом году она
+1
(барабанная дробь) 🥁 Объявляем даты летней школы! Наши комменты и сообщения только об одном — летняя школа. В этом году она будет! На картинках делимся расписанием, а ниже напоминаем, что за школы вообще такие: 🤟 Лекции и мастер-классы по направлениям разработки, аналитики, проджект-менеджмента и тестирования; 🤟 Преподаватели — опытные Сёрферы и менторы наших стажёров и джунов; 🤟 Чатики, где обмениваются опытом и нетворкают; 🤟 Возможность закрыть практику в вузе, получить сертификат и проект в портфолио; 🤟 Из бонусов: мемы, живое общение, хорошее настроение. 🏆 Вдобавок ко всему, лучшие участники могут стать частью команды Surf! Ждём всех, кому интересны IT и мобильная разработка. Выбирай направление и регистрируйся! #мероприятия

Что такое typedef typedef — сокращение от type definition или «определение типа». В документации используется понятие «type a
+5
Что такое typedef typedef — сокращение от type definition или «определение типа». В документации используется понятие «type alias» — «псевдоним типа», которое ближе к сути. По факту мы просто создаем псевдоним (синоним) для существующего типа данных или функции с целью повышения читаемости кода (иногда эти самые типы могут быть очень сложные или ни о чем не говорящие). Это достаточно старая штука и само ключевое слово typedef также используется в C/C++. Пример для псевдонимов типов:
typedef SuggestionsState = ListenableState<EntityState<List<ProductEntity>>>;

typedef RequestBody<T> = Map<String, Map<String, T>>;

Кстати, возможность сделать так, как указано выше, появилась только два года назад в версии 2.13. Раньше typedef можно было использовать только для функций. А до версии 1.24 вы обязаны были создать typedef, чтоб передавать функцию, например, как параметр. Надо еще сказать, что псевдонимы для типов данных используются не часто, чаще можно встретить для функций, вроде таких: typedef DataWidgetBuilder<T> = Widget Function(BuildContext context, T data); typedef ColorChangeCallback = void Function(Color color);

Приглашаем на митап с Yandex Go и Akvelon 🙋 Surf Flutter Team ждут тебя на митапе в Грузии — ламповым комьюнити обсудим посл
+3
Приглашаем на митап с Yandex Go и Akvelon 🙋 Surf Flutter Team ждут тебя на митапе в Грузии — ламповым комьюнити обсудим последние апдейты Dart, обменяемся опытом и круто проведём время. 📅 1 июня, 19:00 по мск 🏢 Тбилиси, ул. Шалва Нуцубидзе, 129 (10 минут от станции метро Важа-Пшавела) Смотри программу митапа в карточках и регистрируйся по ссылке. #мероприятия

На Google I/O зарелизился Dart 3, который принёс огромное количество изменений в язык. Какие ещё фичи ждёшь в Dart?
Anonymous voting

Dart 3: что нового В подкасте Flutter Dev Podcast мы пытались предсказать, что поменяется в языке. И выпуск оказался пророческим! Flutter Engineering Manager в Surf Марк Абраменко рассказал, как новые фичи помогут на практике и как от этого изменится способ взаимодействия с языком. 👉 Смотреть, лайкать, комментировать — по ссылке. #экспертный

Late нам друг или враг? ⚠️ Иногда — враг Вместе с Sound null safety в 2021 году появилось новое ключевое слово late. Что тако
+2
Late нам друг или враг? ⚠️ Иногда — враг Вместе с Sound null safety в 2021 году появилось новое ключевое слово late. Что такое late Согласно документации, его можно использовать для двух случаев: 1️⃣ Декларирование non-nullable переменной, которая обязательно (помните об этом ⚠️) должна быть инициализирована позже. 2️⃣ Ленивая, или lazy-инициализация переменных: она происходит только при первом обращении. Немного подробнее про использовании late для lazy-инициализации Lazy-инициализацию используют по двум причинам: 🔹 Когда нужен доступ к this для инициализации объекта. Например, для создания AnimationController нам нужно передать this в параметр vsync, т. к. контроллеру нужен TickerProvider. В этом случае мы вынуждены будем использовать late: по-другому никак. 🔹 Когда хотим оптимизировать ресурсы устройства через инициализацию только действительно нужных объектов. В этом случае использовать late необязательно, но очень желательно — а иногда даже необходимо. Правда, тут есть нюансы. Подробнее на картинках 👆👆👆 ➡️ Давайте представим: вы создаёте стрим и хотите сразу создать слушателя к нему. Вроде бы все правильно и «по-взрослому», но… вы ничего не услышите 👂— переменная sub так и останется «late», она по-прежнему не инициализирована. ➡️ Чтобы исключить такую ситуацию, нужно определить подписку так, как на второй картинке. Well done! В таком виде всё будет работать. Хорошей практикой ещё будет сделать controller и sub приватными, если это возможно, но это уже тонкости. 👉 Живой пример на DartPad

Передача параметра в метод: по ссылке или по значению? Недавно в командном чатике коснулись вопроса о способах передачи парам
+4
Передача параметра в метод: по ссылке или по значению? Недавно в командном чатике коснулись вопроса о способах передачи параметра в метод. И вот вам небольшая задачка. Попробуйте определить вывод у такого на первый взгляд нехитрого кода:
class Test {
  int val;
 
  Test(this.val);
}

void main() {
  int number = 0;
  Test test = Test(0);
 
  fn1(number, test);
  print('N-$number V-${test.val}');
 
  fn2(number, test);
  print('N-$number V-${test.val}');
}

void fn1(int number, Test test) {
  number = 1;
  test.val = 1;
}

void fn2(int number, Test test) {
  number = 2;
  test = Test(2);
  print('N-$number V-${test.val}');
}

Правильный ответ: N-0 V-1 N-2 V-2 N-0 V-1 Ссылка из бонус-сектора карточек — статья Numbers in Dart.

Как Flutter Team пилил стриминг 💻 В новой статье на Хабре рассказываем про наш стриминг на Flutter — проект The Hole. В процессе встретили немало проблем: недостаточная функциональность пакета видеоплеера, сложности с реализацией фичи картинка-в-картинке, специфические для платформ ошибки. Были специфичные для Flutter баги. И были засады, которые специфичны для натива. Читай статью по ссылке 👈🏻

Записи лекций с первого дня Flutter Weekend Study Jam 👨‍💻 Кто не успел или не попал на первый день Study Jam, выкладываем в общий доступ лекции Сёрферов. Приятного просмотра! 📌 Асинхронность и параллельность в Dart. Изоляты на базовом уровне Артём Ефименко, Flutter TeamLead 📌 Архитектура для чайников Марк Абраменко, Flutter Engineering Manager 📌 Подход к решению задач: проектирование, декомпозиция, написание плана реализации Дмитрий Шевченко, Flutter TechLead

Прямой эфир: что нового в Android и чем нам помогут нейросети 📱 Обсудим нововведения Android 14 и использование нейросетей в
Прямой эфир: что нового в Android и чем нам помогут нейросети 📱 Обсудим нововведения Android 14 и использование нейросетей в нативной разработке в прямом эфире! У микрофона: — Алексей Рябков, Surf Android TeamLead — Герман Прошунин, Surf Android Developer — Максим Кругликов, Surf Android Developer — Кирилл Розов, Tinkoff Staff Engineer, автор YouTube-канала Android Broadcast 📅 14 апреля, 17:00 по мск 📌 YouTube-канал «Surf Tech» Ждём всех 😉

Коллеги организуют прямой эфир, присоединяйтесь 👍

Как прошёл Flutter Weekend Study Jam 🐦 8-9 апреля провели уже традиционный третий Flutter Study Jam. В субботу наши опытные
+6
Как прошёл Flutter Weekend Study Jam 🐦 8-9 апреля провели уже традиционный третий Flutter Study Jam. В субботу наши опытные инженеры делились знаниями в теоретической сессии (посмотреть лекции можно здесь), в воскресенье же состоялась практическая часть. У ребят было задание, которое они должны были выполнить за 10 часов. Работы призёров и победителя: 🌐 Артём Баркалов 🌐 Максим Прозоров 🌐 Нуртлеу Шайзолла 🌐 Симон Бутенко 🌐 Максим Заречнев 🌐 Максим Яковлев 🥇 Олег Карачаев Впечатления организаторов и участников узнай в карточках 👆 Ждём всех на следующих Study Jam’ах!

Как Surf пасёт котов 🐱 Стали лучшим работодателем Воронежа за 2022 год! А ещё вошли в топ-50 работодателей и топ-7 IT-работо
Как Surf пасёт котов 🐱 Стали лучшим работодателем Воронежа за 2022 год! А ещё вошли в топ-50 работодателей и топ-7 IT-работодателей России среди небольших компаний. Недавно получили заслуженную награду на конференции hh.ru 🏆 На этом же мероприятии наш Head of Flutter Женя Сатуров рассказал, как мы стали лучшими. Основные тезисы собрали на vc.ru — читай по ссылке.

Инвайты на Surf Flutter Weekend Study Jam ждут вас на почте. Не забудьте проверить папку "спам". Если не удалось найти письмо, пишите: @AlenaTokareva 🏄

Выкладываем запись эфира про ошибки начинающих Flutter-разработчиков 💡 Таймкоды: 0:04:30 — Насколько важно для разработчика знать базу? 0:14:59 — IT-курсы: хорошо или плохо, и какой выбрать? 0:18:57 — С какой специализации лучше начать новичку? 0:23:17 — Стоит ли будущему флаттеристу начинать с нативной разработки? 0:25:36 — Топ навыков начинающего Flutter-разработчика 0:31:00 — Как понять, что я готов к работе? 0:35:29 — Каким должно быть резюме, чтобы быть уверенным в трудоустройстве? 0:40:03 — Первая работа 0:45:25 — Ошибки и неприятности, которые могут возникнуть на первой работе 1:01:20 — Ответы на вопросы И прикладываем пост со знаниями и навыками начинающего разработчика на Flutter 😉

Собираем комментарии по эфиру здесь 👇🏻

Прямой эфир: ошибки новичков во Flutter 👨‍💻 Привет! Скоро, 8-9 апреля, наша команда проведет очередной Study Jam 🚀 Мы реши
Прямой эфир: ошибки новичков во Flutter 👨‍💻 Привет! Скоро, 8-9 апреля, наша команда проведет очередной Study Jam 🚀 Мы решили устроить небольшую разминку ⛹️ и организовать прямой эфир с участием Евгения Сатурова и Марка Абраменко. Обсудим самые волнующие новичков вопросы: 🔹В мире много других профессий. Стоит ли мне идти в ИТ? Почему именно Flutter? 🔹Что изучать и где учиться? Что действительно важно, а что — не очень? Ошибки в подготовке. 🔹Первая работа: как ее найти? Как пройти собеседования? Обсуждаем «портрет» идеального джуна. 🔹Первые проекты: как вести себя в коллективе? Как расти и профессионально развиваться? Оставляйте вопросы в комментариях: постараемся на них ответить. 🗓 6 апреля, 17:00 по мск Ждём тебя!

Прямой эфир: ошибки новичков во Flutter 👨‍💻 Привет! Скоро, 8–9 апреля, наша команда проведет очередной Study Jam 🚀 Мы реши
Прямой эфир: ошибки новичков во Flutter 👨‍💻 Привет! Скоро, 8–9 апреля, наша команда проведет очередной Study Jam 🚀 Мы решили устроить небольшую разминку ⛹️ и организовать прямой эфир с участием Евгения Сатурова и Марка Абраменко. Обсудим самые волнующие новичков вопросы: 🔹 В мире много других профессий. Стоит ли мне идти в IT? Почему именно Flutter? 🔹 Что изучать и где учиться? Что действительно важно, а что — не очень? Ошибки в подготовке. 🔹 Первая работа: как её найти? Как пройти собеседования? Обсуждаем «портрет» идеального джуна. 🔹 Первые проекты: как вести себя в коллективе? Как расти и профессионально развиваться? Оставляйте вопросы в комментариях: постараемся на них ответить. 🗓 6 апреля, 17:00 мск Ждём тебя!