Сёрф Flutter-разработка
Kanalga Telegram’da o‘tish
Комьюнити Flutter-разработчиков Сёрф. 📚 Делимся полезными материалами и обучаем стажёров 💬 Чат → t.me/+HL9Xac3ChFhmMmZi 🧑🏻💻 Вакансии: career.surf.ru 📲 По вопросам @SurfAskBot
Ko'proq ko'rsatish3 176
Obunachilar
Ma'lumot yo'q24 soatlar
+167 kunlar
+2130 kunlar
Postlar arxiv
Как прошёл Flutter Weekend Study Jam 🐦
8-9 апреля провели уже традиционный третий Flutter Study Jam. В субботу наши опытные инженеры делились знаниями в теоретической сессии (посмотреть лекции можно здесь), в воскресенье же состоялась практическая часть. У ребят было задание, которое они должны были выполнить за 10 часов.
Работы призёров и победителя:
🌐 Артём Баркалов
🌐 Максим Прозоров
🌐 Нуртлеу Шайзолла
🌐 Симон Бутенко
🌐 Максим Заречнев
🌐 Максим Яковлев
🥇 Олег Карачаев
Впечатления организаторов и участников узнай в карточках 👆
Ждём всех на следующих Study Jam’ах!
Repost from Сёрф Технологии
Как 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?
🔹Что изучать и где учиться? Что действительно важно, а что — не очень? Ошибки в подготовке.
🔹Первая работа: как ее найти? Как пройти собеседования? Обсуждаем «портрет» идеального джуна.
🔹Первые проекты: как вести себя в коллективе? Как расти и профессионально развиваться?
Оставляйте вопросы в комментариях: постараемся на них ответить.
🗓 6 апреля, 17:00 по мск
Ждём тебя!
Прямой эфир: ошибки новичков во Flutter 👨💻
Привет! Скоро, 8–9 апреля, наша команда проведет очередной Study Jam 🚀
Мы решили устроить небольшую разминку ⛹️ и организовать прямой эфир с участием Евгения Сатурова и Марка Абраменко.
Обсудим самые волнующие новичков вопросы:
🔹 В мире много других профессий. Стоит ли мне идти в IT? Почему именно Flutter?
🔹 Что изучать и где учиться? Что действительно важно, а что — не очень? Ошибки в подготовке.
🔹 Первая работа: как её найти? Как пройти собеседования? Обсуждаем «портрет» идеального джуна.
🔹 Первые проекты: как вести себя в коллективе? Как расти и профессионально развиваться?
Оставляйте вопросы в комментариях: постараемся на них ответить.
🗓 6 апреля, 17:00 мск
Ждём тебя!
Как правильно выполнять операции с деньгами в Dart
У меня есть традиция. Каждый раз, когда начинается новый проект, я объясняю кому-то из команды, что выполнять операции с деньгами при помощи базовых вещественных типов в Dart нельзя ни в коем случае.
Рассказываю, почему так происходит и что делать в карточках 👆👆👆
И держи ссылки на пакеты, которые помогут сделать всё корректно:
🔹 decimal
🔹 money2
Принимаем заявки на Surf Weekend Study Jam 👨🏻💻
Начинаем на следующих выходных, программа такая:
📌 8 апреля — слушаешь лекции от крутых Сёрферов, подробности на карточках 👆🏻
📌 9 апреля — решаешь задачу из нашего курса по Flutter (обновляем его, про это расскажем позже)
Далее подведём итоги, самых лучших позовём на собеседование — и бац, ты уже стажируешься во Flutter-команде Surf!
Не тяни — заполняй заявку до 6 апреля 👍🏻
Слушаем новый эпизод Flutter Dev Podcast 🎧
Разложили по полочкам обновление 3.7 — там и 19 новых виджетов, и долгожданные фоновые изоляты, и превью нового графического движка!
У микрофона Cёрферы Евгений Сатуров и Марк Абраменко, Михаил Матюнин из Fox и aso.dev founder Игорь Кравченко.
Подписывайcя на подкаст в Telegram и слушай на всех доступных площадках:
Soundcloud | Яндекс.Музыка | Spotify | Apple Podcasts | CastBox | Google Подкасты | VK
Пакет Share — простая как топор библиотека
Передал
Share.share(‘message’);— и шеринг работает на всех телефонах без проблем. Но если при разработке вы используете планшеты, то всё оказывается не так очевидно 👇👇👇 На одном из проектов у нас появился баг, при котором на айпадах не работала кнопка «Поделиться». Реализация была, как обычно, с помощью строки
Share.share(‘message’);, но консоль стала ругаться на MethodChanel её при выполнении. Оказывается, в случае с планшетами не стоит пренебрегать дополнительным параметром
sharePositionOrigin. По умолчанию, система на планшетах не знает, где и какого размера отрисовать стандартный диалог Share. Обсуждение и решение проблемы >> ⚠️ Главное: если приложение делается и для планшетов тоже, всегда передавайте
sharePositionOrigin.
Бывает, что разработчики допускают орфографические ошибки в коде, комментариях, документации
Это кажется не критичным, но на деле вызывает проблемы:
🔹 отвлекает во время ревью;
🔹 нужно потратить время, чтобы поправить ошибки после ревью;
🔹 может ввести в заблуждение, если есть ошибка в названии параметра или класса;
🔹 ну и просто немного раздражает.
Решение очевидно: после установки красивой темы нужно вместе с другими плагинами сразу же настроить проверку орфографии.
В карточках рассказываем, как это сделать.
Текстовые виджеты: почему на устройствах иногда «едет» вёрстка
При работе с текстовыми виджетами может произойти ситуация, когда в эмуляторе всё работает нормально, а на реальном устройстве вёрстка неожиданно меняется.
Всё дело в textScaleFactor
Это свойство есть у виджетов Text и RichText
Text scale factor — один из Accessibility-параметров, его задаёт пользователь у себя на устройстве. Отвечает за масштаб текста: например, слабовидящий человек ставит коэффициент 2, чтобы читалось лучше.
Текст становится в два раза крупнее указанного в коде приложения fontsize — и всё, приехали. До свидания, красивая вёрстка 🥲
🤔 Подробнее о том, как приложение и текстовые виджеты работают с textScaleFactor и как подготовиться к тому, что пользователь может изменить масштаб текста, — в нашей статье на Хабре.
Читать статью >>
Маленькая «неожиданность» с массивами, или как вместо 24 значений в каждом массиве получилось 168 🙄
Что случилось
Нужно было посчитать средние значения в каждый час каждого дня недели. А затем собрать их в массив массивов, где массив представляет собой день недели, заполненный средними значениями за каждый час. То есть
List<List<double>>. Чтобы не заниматься преждевременной сортировкой, решил результирующий массив проинициализировать так:
final valuesPerWeekday = List.filled(7, <double>[])и заполнять уже в формате
valuesPerWeekday[weekday].add(avgValue). Каково было удивление, когда вместо 24 значений в каждом массиве я обнаружил 168 😱 В чём подвох Открываем документацию к конструктору List.filled и читаем:
/// All elements of the created list share the same [fill] valueТак как массивы, да и вообще списочные типы, передаются по ссылке, получаем полный 🥴, когда натыкаемся на непредвиденные результаты. Выводы 1️⃣ Читайте внимательно документацию к тому, что используете, и не повторяйте моих ошибок. 2️⃣ Пишите документацию на свои реализации сполна. Обязательно подсвечивайте неочевидные кейсы, чтобы потом волосы на голове не вырывать. 3️⃣ Используйте
List.generate(length, (index) => <double>[])для таких генераций: на каждый индекс создастся уникальный объект.
Пост признания в любви…
К корове! 🐮
Мы вам не рассказывали, но…
Наша Flutter-команда не просто работает вместе: мы дружим, но — на расстоянии. Нас разделяют не только тысячи километров, часовые пояса, но и границы государств.
В какой-то момент мы поняли, что некоторые члены команды никогда не видели своих коллег лично. Так родилась идея собраться всем вместе в одной точке. Привет, Питер!
Чтобы продуктивно поработать, мы арендовали коворкинг. Который с чьей-то лёгкой руки превратился в… коровкинг.
Этот новояз нам так понравился, что корова стала символом единства отдела: у нас появился мерч отдела с коровкой и логотип этого канала.
Вот так корова стала для Flutter-отдела по-настоящему священным животным 😜
Repost from Сёрф Технологии
Ищем опытного Flutter-разработчика 🏄♂️
В Surf работают с Flutter уже больше трёх лет. За это время реализовали 25+ проектов, написали множество статей, выступали на конференциях.
Сейчас в команду нужен специалист, который будет разрабатывать новые и поддерживать текущие приложения. Ты также будешь участвовать в жизни команды, развивать личный бренд и прокачивать скиллы.
Требования к вакансии смотри на карточках. Если твои навыки подходят — пиши нашему рекрутеру и отправляй резюме.
В карточках рассказываем, какие сюрпризы поджидают разработчика при создании стриминга на Flutter. Знаем об этом не понаслышке: все шишки набивали на собственном опыте, когда пилили платформу видеостриминга для The Hole 😉
