2. Какой контент тебе интересен? Можешь выбрать несколько вариантов.
Anonymous Poll
88%
Лучшие практики Flutter-разработки Surf
58%
Кейсы и статьи
68%
Подборки инструментов и решений
35%
Обзоры апдейтов и новостей
50%
Ошибки и факапы
31%
Open-source решения Surf
24%
Жизнь Flutter-команды Surf
В карточках рассказываем, какие сюрпризы поджидают разработчика при создании стриминга на Flutter. Знаем об этом не понаслышке: все шишки набивали на собственном опыте, когда пилили платформу видеостриминга для The Hole 😉
🔥19🥰5🤯4
Forwarded from Surf Tech
Ищем опытного Flutter-разработчика 🏄♂️
В Surf работают с Flutter уже больше трёх лет. За это время реализовали 25+ проектов, написали множество статей, выступали на конференциях.
Сейчас в команду нужен специалист, который будет разрабатывать новые и поддерживать текущие приложения. Ты также будешь участвовать в жизни команды, развивать личный бренд и прокачивать скиллы.
Требования к вакансии смотри на карточках. Если твои навыки подходят — пиши нашему рекрутеру и отправляй резюме.
В Surf работают с Flutter уже больше трёх лет. За это время реализовали 25+ проектов, написали множество статей, выступали на конференциях.
Сейчас в команду нужен специалист, который будет разрабатывать новые и поддерживать текущие приложения. Ты также будешь участвовать в жизни команды, развивать личный бренд и прокачивать скиллы.
Требования к вакансии смотри на карточках. Если твои навыки подходят — пиши нашему рекрутеру и отправляй резюме.
🤩9👍4❤1
Пост признания в любви…
К корове! 🐮
Мы вам не рассказывали, но…
Наша Flutter-команда не просто работает вместе: мы дружим, но — на расстоянии. Нас разделяют не только тысячи километров, часовые пояса, но и границы государств.
В какой-то момент мы поняли, что некоторые члены команды никогда не видели своих коллег лично. Так родилась идея собраться всем вместе в одной точке. Привет, Питер!
Чтобы продуктивно поработать, мы арендовали коворкинг. Который с чьей-то лёгкой руки превратился в… коровкинг.
Этот новояз нам так понравился, что корова стала символом единства отдела: у нас появился мерч отдела с коровкой и логотип этого канала.
Вот так корова стала для Flutter-отдела по-настоящему священным животным 😜
К корове! 🐮
Мы вам не рассказывали, но…
Наша Flutter-команда не просто работает вместе: мы дружим, но — на расстоянии. Нас разделяют не только тысячи километров, часовые пояса, но и границы государств.
В какой-то момент мы поняли, что некоторые члены команды никогда не видели своих коллег лично. Так родилась идея собраться всем вместе в одной точке. Привет, Питер!
Чтобы продуктивно поработать, мы арендовали коворкинг. Который с чьей-то лёгкой руки превратился в… коровкинг.
Этот новояз нам так понравился, что корова стала символом единства отдела: у нас появился мерч отдела с коровкой и логотип этого канала.
Вот так корова стала для Flutter-отдела по-настоящему священным животным 😜
👍27❤13🤣11❤🔥3👏2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥20⚡7👍3❤2👏2
Статья на Хабре, о которой говорит Саша → «Что ждёт Flutter в будущем»
Хабр
Что ждёт Flutter в будущем
О чём говорили на конференции Flutter Forward в Найроби: перевод статьи с комментариями разработчиков Surf Flutter Forward — мероприятие для разработчиков со всего мира: они собираются онлайн и...
🔥17
Маленькая «неожиданность» с массивами, или как вместо 24 значений в каждом массиве получилось 168 🙄
Что случилось
Нужно было посчитать средние значения в каждый час каждого дня недели. А затем собрать их в массив массивов, где массив представляет собой день недели, заполненный средними значениями за каждый час. То есть
Чтобы не заниматься преждевременной сортировкой, решил результирующий массив проинициализировать так:
и заполнять уже в формате
Каково было удивление, когда вместо 24 значений в каждом массиве я обнаружил 168 😱
В чём подвох
Открываем документацию к конструктору List.filled и читаем:
Так как массивы, да и вообще списочные типы, передаются по ссылке, получаем полный 🥴, когда натыкаемся на непредвиденные результаты.
Выводы
1️⃣ Читайте внимательно документацию к тому, что используете, и не повторяйте моих ошибок.
2️⃣ Пишите документацию на свои реализации сполна. Обязательно подсвечивайте неочевидные кейсы, чтобы потом волосы на голове не вырывать.
3️⃣ Используйте
Что случилось
Нужно было посчитать средние значения в каждый час каждого дня недели. А затем собрать их в массив массивов, где массив представляет собой день недели, заполненный средними значениями за каждый час. То есть
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>[])для таких генераций: на каждый индекс создастся уникальный объект.
👍17🤔10🔥8❤🔥2😁2
Текстовые виджеты: почему на устройствах иногда «едет» вёрстка
При работе с текстовыми виджетами может произойти ситуация, когда в эмуляторе всё работает нормально, а на реальном устройстве вёрстка неожиданно меняется.
Всё дело в textScaleFactor
Это свойство есть у виджетов Text и RichText
Text scale factor — один из Accessibility-параметров, его задаёт пользователь у себя на устройстве. Отвечает за масштаб текста: например, слабовидящий человек ставит коэффициент 2, чтобы читалось лучше.
Текст становится в два раза крупнее указанного в коде приложения fontsize — и всё, приехали. До свидания, красивая вёрстка 🥲
🤔 Подробнее о том, как приложение и текстовые виджеты работают с textScaleFactor и как подготовиться к тому, что пользователь может изменить масштаб текста, — в нашей статье на Хабре.
Читать статью >>
При работе с текстовыми виджетами может произойти ситуация, когда в эмуляторе всё работает нормально, а на реальном устройстве вёрстка неожиданно меняется.
Всё дело в textScaleFactor
Это свойство есть у виджетов Text и RichText
Text scale factor — один из Accessibility-параметров, его задаёт пользователь у себя на устройстве. Отвечает за масштаб текста: например, слабовидящий человек ставит коэффициент 2, чтобы читалось лучше.
Текст становится в два раза крупнее указанного в коде приложения fontsize — и всё, приехали. До свидания, красивая вёрстка 🥲
🤔 Подробнее о том, как приложение и текстовые виджеты работают с textScaleFactor и как подготовиться к тому, что пользователь может изменить масштаб текста, — в нашей статье на Хабре.
Читать статью >>
Хабр
Как не «сломать» вёрстку Flutter-приложения из-за textScaleFactor
Однажды я установил приложение по текущему проекту на свой смартфон и заметил, что на некоторых экранах изменилась вёрстка: «поехало» отображение текста, хотя при работе с эмулятором всё было...
🔥17👍6❤2
Бывает, что разработчики допускают орфографические ошибки в коде, комментариях, документации
Это кажется не критичным, но на деле вызывает проблемы:
🔹 отвлекает во время ревью;
🔹 нужно потратить время, чтобы поправить ошибки после ревью;
🔹 может ввести в заблуждение, если есть ошибка в названии параметра или класса;
🔹 ну и просто немного раздражает.
Решение очевидно: после установки красивой темы нужно вместе с другими плагинами сразу же настроить проверку орфографии.
В карточках рассказываем, как это сделать.
Это кажется не критичным, но на деле вызывает проблемы:
🔹 отвлекает во время ревью;
🔹 нужно потратить время, чтобы поправить ошибки после ревью;
🔹 может ввести в заблуждение, если есть ошибка в названии параметра или класса;
🔹 ну и просто немного раздражает.
Решение очевидно: после установки красивой темы нужно вместе с другими плагинами сразу же настроить проверку орфографии.
В карточках рассказываем, как это сделать.
🔥20👍7