Кстати, буквально этой ночью Flutter обновился до версии 3.3.0. Ура, товарищи! 🎉
И это подводит нас к еще одной минорной проблеме — иногда бывают сложности при обновлении. Не подумайте, до опыта React Native тут как до Луны, но глупо не признавать, что косяки случаются.
Уже после того, как коллеги обновили версию и поправили замечания линтера, моё обновление прошло относительно гладко. Сначала у меня перестало собираться приложение, но я быстро выясниснил, в чем дело. В
#underhood
И это подводит нас к еще одной минорной проблеме — иногда бывают сложности при обновлении. Не подумайте, до опыта React Native тут как до Луны, но глупо не признавать, что косяки случаются.
Уже после того, как коллеги обновили версию и поправили замечания линтера, моё обновление прошло относительно гладко. Сначала у меня перестало собираться приложение, но я быстро выясниснил, в чем дело. В
pubspec.lock под шумок решила обновиться транзитивная зависимость, и видимо именно это обновление было несовместимо с новым Flutter. Откатил, зафиксировал версию, и всё снова работает. Даже не пришлось создавать новый проект и переносить туда сорцы 😅#underhood
👍2
Были проблемы с обновлением?
Anonymous Poll
11%
Всё сломалось!
10%
Минорные проблемы
6%
Обновились без проблем
24%
Еще не обновлялись
48%
Глянуть результаты
Следующий минус: использование нативных вьюшек во Flutter имеет ощутимый оверхед. Поскольку в отличие от React Native, для Flutter нативные вьюшки чужеродны, разработчикам пришлось использовать весьма хитрые подходы, чтобы это реализовать. Нативные вьюхи рендерятся в текстуру, после чего Flutter встраивает эту текстуру к себе в дерево, попутно разруливая проблемы с передачей жестов, аксесабилити и прочей мишурой.
Если вы иногда, при необходимости, встраиваете такие вьюшки в свой UI - проблем не будет, но злоупотреблять не стоит. Ну и если всё приложение по вашему замыслу состоит из географических карт, вебвьюшки и видео-плеера, то Flutter – такой себе вариант, лучше взять React Native. Особого профита на таком приложении вы не почувствуете, а проблем можете хапнуть.
#underhood
Если вы иногда, при необходимости, встраиваете такие вьюшки в свой UI - проблем не будет, но злоупотреблять не стоит. Ну и если всё приложение по вашему замыслу состоит из географических карт, вебвьюшки и видео-плеера, то Flutter – такой себе вариант, лучше взять React Native. Особого профита на таком приложении вы не почувствуете, а проблем можете хапнуть.
#underhood
👍1😢1
А еще, иногда виджеты из стандартной библиотеки Flutter - отстой. Бывает такое, что нужно тебе какое-то специфичное поведение, находишь подходящий виджет, начинаешь его подстраивать по себя, и обнаруживаешь, что он абсолютно деревянный. То есть его можно использовать, и будь это личный пет-проект – ты бы забил и оставил как есть, но у тебя есть дизайн, а эта штука явно не пройдет дизайн-ревью.
Заканчивается это тем, что ты стираешь только что написанный код и идёшь писать собственный велик, благо обычно это не сложно. Самый яркий пример такого виджета - DraggableScrollableSheet, или боттом шит, если на рабоче-крестьянском. Его постоянно допиливают и улучшают, но у меня еще ни разу не получилось им воспользоваться. Последняя попытка была буквально на той неделе.
Менее приятная ситуация возникает, когда речь идёт о виджете, который просто так не напишешь. Топ-1 моего личного анти-рейтинга – NestedScrollView (https://api.flutter.dev/flutter/widgets/NestedScrollView-class.html). Абсолютно поломанная штука, которую сложно использовать за пределами стандартных кейсов, описанных в документации.
Когда я пытался использовать его в проекте, это закончилось тем, что мне пришлось копипастить его сорцы, чтобы накатывать заплатки. Какие-то фиксы можно было скопипасть из баг-репортов на GitHub, а что-то пришлось фиксить самому. Некоторые фиксы были абсолютно отмороженные, до сих пор ими горжусь.
Но даже после всего этого, мы всё еще не смогли включить NestedScrollView в релиз, а у меня в бэклоге валяются баги, от которых кровь стынет в жилах. Боюсь того дня, когда про эту фичу вспомнят и достанут тикеты из бэклога.
#underhood
Заканчивается это тем, что ты стираешь только что написанный код и идёшь писать собственный велик, благо обычно это не сложно. Самый яркий пример такого виджета - DraggableScrollableSheet, или боттом шит, если на рабоче-крестьянском. Его постоянно допиливают и улучшают, но у меня еще ни разу не получилось им воспользоваться. Последняя попытка была буквально на той неделе.
Менее приятная ситуация возникает, когда речь идёт о виджете, который просто так не напишешь. Топ-1 моего личного анти-рейтинга – NestedScrollView (https://api.flutter.dev/flutter/widgets/NestedScrollView-class.html). Абсолютно поломанная штука, которую сложно использовать за пределами стандартных кейсов, описанных в документации.
Когда я пытался использовать его в проекте, это закончилось тем, что мне пришлось копипастить его сорцы, чтобы накатывать заплатки. Какие-то фиксы можно было скопипасть из баг-репортов на GitHub, а что-то пришлось фиксить самому. Некоторые фиксы были абсолютно отмороженные, до сих пор ими горжусь.
Но даже после всего этого, мы всё еще не смогли включить NestedScrollView в релиз, а у меня в бэклоге валяются баги, от которых кровь стынет в жилах. Боюсь того дня, когда про эту фичу вспомнят и достанут тикеты из бэклога.
#underhood
api.flutter.dev
NestedScrollView class - widgets library - Dart API
API docs for the NestedScrollView class from the widgets library, for the Dart programming language.
👍4😱2
Последняя тема на сегодня — тесты. Мне в данном вопросе больше интересно узнать ваше мнение, но свой опыт тоже опишу. А ниже будет пара-тройка вопросов, очень прошу потыкать кнопочки)
У меня отношение с тестами примерно как с пробежками по утрам. Глобально понимаешь, что это круто и полезно, надо бегать. Если однажды почувствовал себя особо заряженным — побежал, и может быть даже еще несколько недель после этого стабильно бегал. А потом что-то пошло не так, и ты пропустил день. На следующий еще думаешь: «черт, надо наверстать», но еще через день такая ересь даже не посещает твою голову. Ситуация в тестами у меня 1 в 1.
#underhood
У меня отношение с тестами примерно как с пробежками по утрам. Глобально понимаешь, что это круто и полезно, надо бегать. Если однажды почувствовал себя особо заряженным — побежал, и может быть даже еще несколько недель после этого стабильно бегал. А потом что-то пошло не так, и ты пропустил день. На следующий еще думаешь: «черт, надо наверстать», но еще через день такая ересь даже не посещает твою голову. Ситуация в тестами у меня 1 в 1.
#underhood
👍14
Как разработка через тесты влияет на скорость разработки?
Anonymous Poll
4%
Положительно на всех этапах
46%
Сначала замедляет её, но в будущем даёт профит
16%
Замедляет разработку на всех этапах
34%
Муха — это вертолёт, но без коробки передач 🪰
Объясню, почему тут появилась тема тестирования. Как вы уже поняли, я не пишу в TDD стиле (за редкими исключениями), да и постфактум тестами покрываю далеко не весь код. Но это не мешает мне грезить об утопии, которую описывает в своих желтых книжечках Роберт Мартин. Там, если что, огромные системы разрабатываются в TDD, все пишут только чистый код и регулярно программируют в паре, а система периодически подвергается рефакторингу и вообще очень легко поддерживаются.
Сам я такой идеальной картинки еще ни разу не видел, но мне кажется, тесты — неотъемлимая часть этой картины. Однажды я хотел бы своими глазами это увидеть, но пока что есть 2 препятствия.
Во-первых, когда я среди знакомых завожу тему тестирования и рассказываю про прелести TDD — на меня сморят как на местного сумасшедшего. Люди, кажется, не очень в это верят :)
Во-вторых, написание тестов, и особенно TDD, вообще-то, требует нифигового навыка и опыта, но об этом обычно умалчивают. Вроде как ничего сложного: подготовил систему, выполнил действие, проверил результат. Но оказывается не всегда всё так просто, и когда садишься за реальный кейс, вся спесь куда-то улетучивается, а итоговый результат не соответсвует твоим ожиданиям.
#underhood
Сам я такой идеальной картинки еще ни разу не видел, но мне кажется, тесты — неотъемлимая часть этой картины. Однажды я хотел бы своими глазами это увидеть, но пока что есть 2 препятствия.
Во-первых, когда я среди знакомых завожу тему тестирования и рассказываю про прелести TDD — на меня сморят как на местного сумасшедшего. Люди, кажется, не очень в это верят :)
Во-вторых, написание тестов, и особенно TDD, вообще-то, требует нифигового навыка и опыта, но об этом обычно умалчивают. Вроде как ничего сложного: подготовил систему, выполнил действие, проверил результат. Но оказывается не всегда всё так просто, и когда садишься за реальный кейс, вся спесь куда-то улетучивается, а итоговый результат не соответсвует твоим ожиданиям.
#underhood
👍12
Для себя я обозначенную проблему решаю, потихоньку изучая умные книжки и пытаясь вклинивать тесты в свой процесс. По теме, помимо полного собрания сочинений Роберта Мартина, могу посоветовать 2 книги: Кент Бэк «Разработка через тестирование» и Владимир Хориков «Принципы Unit-тестирования». Вторая особенно запала мне душу. Я её только дочитываю, но уже могу рекомендовать. Это первый источник на моей памяти, который наглядно объяснил, почему тесты, которые я писал раньше — отстой, почему некоторые из них вообще не надо было писать, и как стоило написать остальные, чтобы они помогали, а не путались под ногами.
Надеюсь, впитанные знания помогут мне однажды достичь уровня, когда написание теста будет чем-то настолько естественным, что вопрос о том, писать его или нет, даже не будет стоять. А покрытие тестами будет ускорять процесс разработки. Тогда я стану бородатым тим-лидом, заставлю всех писать тесты, регулярно рефакторить систему и парно программировать. И пусть бизнесовые тикеты подождут 😄
#underhood
Надеюсь, впитанные знания помогут мне однажды достичь уровня, когда написание теста будет чем-то настолько естественным, что вопрос о том, писать его или нет, даже не будет стоять. А покрытие тестами будет ускорять процесс разработки. Тогда я стану бородатым тим-лидом, заставлю всех писать тесты, регулярно рефакторить систему и парно программировать. И пусть бизнесовые тикеты подождут 😄
#underhood
🔥14👍3❤1🤔1
На этом я буду закругляться. Большое спасибо всем дочитавшим, и особенно тем, кто принял участие в последних опросах!
Приятно видеть, что большинство считает, что тесты важны, и что они положительно влияют на скорость разработки. А даже если влияют отрицательно, то всё равно важны 😄
На сегодня всё, по традиции, всех обнял
#underhood
Приятно видеть, что большинство считает, что тесты важны, и что они положительно влияют на скорость разработки. А даже если влияют отрицательно, то всё равно важны 😄
На сегодня всё, по традиции, всех обнял
#underhood
❤13👍3👏2
Всем привет! Настал последний день, и уже скоро наш SMM Лёша выпустит меня из подвала, чтобы я снова мог писать код, а не посты в Телеграмм 😄
Сегодня я расскажу вам про мобильный митап Merk/PRO, который пройдёт уже в эту субботу в Ереване. И начать я хотел бы с того что… его не будет.
#underhood
Сегодня я расскажу вам про мобильный митап Merk/PRO, который пройдёт уже в эту субботу в Ереване. И начать я хотел бы с того что…
😁21
К сожалению, мы не смогли собрать достаточное количество человек в Ереване, поэтому вместо оффлайн митапа мы проведем небольшое онлайн мероприятие с новой программой. Дата нового движа пока не устаканена, поэтому анонс будет позже в этом канале.
А ещё, Лёша просил вам рассказать, что сегодня вечером в канале Фестиваля 404 будет трансляция с ответами на вопросы о будущем фестиваля.
Сам я на 404 ещё не был, но слышал про него столько хорошего, что меня очень даже волнует его будущее. Обязательно приду послушать.
#underhood
А ещё, Лёша просил вам рассказать, что сегодня вечером в канале Фестиваля 404 будет трансляция с ответами на вопросы о будущем фестиваля.
Сам я на 404 ещё не был, но слышал про него столько хорошего, что меня очень даже волнует его будущее. Обязательно приду послушать.
#underhood
👍2🤔1
Forwarded from Фестиваль 404
Чувствуем, кролебасы, что у вас накопились вопросики! Даем шанс узнать все из первых уст 🐰
Вместе с Женей и Русланом Демьяненко, главными организаторами Фестиваля 404, проведем прямой эфир — обсудим, состоится ли все же фест в этом году, почему мы решили создавать комьюнити и почему стоит в него вступить, как дела у Меркури, как сыграть главную тему «Дома Драконов», а заодно расскажем про дальнейшие планы команды 404.
Когда: 1 сентября
Во сколько: в 17:00
Где: прямо здесь, в нашем телеграм-канале
Забивайте это время себе в календарики, а вопросы к Жене и Руслану в комментах под этим постом или в чате 404ers // Tech & Digital Community — постараемся ответить на все ❤️
Вместе с Женей и Русланом Демьяненко, главными организаторами Фестиваля 404, проведем прямой эфир — обсудим, состоится ли все же фест в этом году, почему мы решили создавать комьюнити и почему стоит в него вступить, как дела у Меркури, как сыграть главную тему «Дома Драконов», а заодно расскажем про дальнейшие планы команды 404.
Когда: 1 сентября
Во сколько: в 17:00
Где: прямо здесь, в нашем телеграм-канале
Забивайте это время себе в календарики, а вопросы к Жене и Руслану в комментах под этим постом или в чате 404ers // Tech & Digital Community — постараемся ответить на все ❤️
Больше мне вам, пока что, рассказать нечего. Спасибо всем читающим, комментящим и лайкающим. Для меня это был первый опыт вещания на такую большую аудиторию, и кажется, получилось неплохо.
Если у кого-то возникло желание и дальше читать рандомные заметки про Flutter и не только, то я создал новый канал: https://news.1rj.ru/str/local_flutterist
Пока что он пустой, но туда я продолжу постить всякие технические штуки, хоть и в куда более ленивом темпе 😄
На этом всё, возвращаю свой админский доступ. Всем спасибо, обнял ❤️
#underhood
Если у кого-то возникло желание и дальше читать рандомные заметки про Flutter и не только, то я создал новый канал: https://news.1rj.ru/str/local_flutterist
Пока что он пустой, но туда я продолжу постить всякие технические штуки, хоть и в куда более ленивом темпе 😄
На этом всё, возвращаю свой админский доступ. Всем спасибо, обнял ❤️
#underhood
Telegram
Местный Флаттерист
Всем привет! Меня зовут Сергей, я Flutter разработчик в Merk Team. Тут я иногда буду постить рандомные заметки и инсайты про Flutter. Но вообще не только про Flutter. Да в общем чо захочу, то и запощу.
❤26
Фестиваль 404
Чувствуем, кролебасы, что у вас накопились вопросики! Даем шанс узнать все из первых уст 🐰 Вместе с Женей и Русланом Демьяненко, главными организаторами Фестиваля 404, проведем прямой эфир — обсудим, состоится ли все же фест в этом году, почему мы решили…
Наш эфир о будущем Фестиваля 404 идет прямо сейчас: https://news.1rj.ru/str/festival404
Все неравнодушные, присоединяйтесь 🙂
Все неравнодушные, присоединяйтесь 🙂
Telegram
Фестиваль 404
Канал легендарного IT-феста! Эфиры с разрабами из FAANG, советы от вкусивших жизни стартаперов, холивары с дизайнерами и маркетологами!
🐰 IT-комьюнити @chat404ers
С любовью, от @merkteam ❤️
🐰 IT-комьюнити @chat404ers
С любовью, от @merkteam ❤️
Underhood закончился, канал снова возвращается в привычный формат — продолжаем писать о главных событиях разработки, платформ, технологий и сервисов.
Большущая благодарность всем, кто реагировал, комментировал и присоединился к каналу во время андерхуда — своим участием вы вдохновили Сергея завести свой канал! Желаем ему успехов 🖖
Это не последний подобный ивент. У нас уже были андерхуды с лидом фронтенд-разработки, .NET-разработчиком и с Flutter-разработчиком. Напишите, пожалуйста, под этим постом, кого еще было бы интересно почитать — мы позовем.
Большущая благодарность всем, кто реагировал, комментировал и присоединился к каналу во время андерхуда — своим участием вы вдохновили Сергея завести свой канал! Желаем ему успехов 🖖
Это не последний подобный ивент. У нас уже были андерхуды с лидом фронтенд-разработки, .NET-разработчиком и с Flutter-разработчиком. Напишите, пожалуйста, под этим постом, кого еще было бы интересно почитать — мы позовем.
🙏8
Время обратной связи. Как вам андерхуд с Сергеем?
Anonymous Poll
78%
Огонь! Давайте еще
9%
Скучно или просто не мой формат
13%
Ничего не понятно, но очень интересно
🥽 Цукерберг подтвердил запуск VR-шлема в октябре
Скорее всего новинка будет значительно дороже Quest. Марк упомянул функцию отслеживания мимики в новом устройстве: если пользователь улыбнется в шлеме, то жест повторит его аватар в метавселенной.
Только поэтому заявлению можно предположить, что основные юз-кейсы грядущего устройства связаны с метаверсом ✨
#vr
Скорее всего новинка будет значительно дороже Quest. Марк упомянул функцию отслеживания мимики в новом устройстве: если пользователь улыбнется в шлеме, то жест повторит его аватар в метавселенной.
Только поэтому заявлению можно предположить, что основные юз-кейсы грядущего устройства связаны с метаверсом ✨
#vr
👍1
Недавно Минцифры случайно отправило IT-компаниям ложное уведомление об аннулировании государственной аккредитации.
Самое интересное в этой новости то, как на «косяк» отреагировал глава Минцифры 👏
Самое интересное в этой новости то, как на «косяк» отреагировал глава Минцифры 👏
😁12