Стас Ильин | Flutter – Telegram
Стас Ильин | Flutter
3.32K subscribers
499 photos
47 videos
327 links
Lead Flutter developer 👶23 y.o. 6+ y.exp
Тот самый школьник лид из мемов
‌Программист, блогер, стартапер
Download Telegram
Сегодняшний рынок найма в IT — сплошной парадокс. Рекрутеры тратят недели, разбирая сотни резюме, но компании всё равно не могут найти “своего” разработчика.
Казалось бы, огромное число откликов не должно вредить работодателям, но происходит наоборот. Многие кандидаты научились круто оформлять резюме с помощью AI. Они выглядят практически идеально, но за ними не всегда стоят реальные навыки.

А опытные инженеры нужны всегда — как компаниям искать их среди этого резюме-слопа? Одно из решений — создавать комплексный процесс найма.

Но кандидатам нет профита морозиться несколько месяцев, бегая по бесконечным встречам. Такой подход используется не везде, но многим он знаком по Яндексу. И вопросики там есть не только к длительности, но и наполнению. Поэтому систему начали фиксить: Олег Смоляков, отвечающий за улучшение процесса найма в Яндексе, расписал детали обновления.

Как по мне, самое важное изменение заключается в том, что задачи на тех. секциях стали приближенными к реальности.

Я всегда топил и топлю за то что собеседование должно быть максимально приближено к реальным потребностям проекта. Логичный шаг к тому, чтобы сделать найм более зрелым и проверять реальные скиллы кандидата. Надеюсь, что больше не будет вопросов про 3 дерева, RenderObject и прочие почти никогда не используемые приколы. Об остальных деталях можете почитать сами.

Пишут, что процесс уже раскатили на мобильщиков, фронтов, бэкендеров, ML и DevOps.
🔥41👍75👎4🤔4🤯3
🧑‍💻 Что самое главное в Flutter 3.38?

Очередной минорный релиз в котором команда работает над оптимизацией. При этом успевает завозить прикольные фичи. О самых горячих завозах в нашей новостной колонке:

🤏Dot shorthands
Новая фича которая позволяет не указывать название класса с именованным конструктором и название enum

Например для указания alignment в верстке можно указывать только значение

// With shorthands
Column(
mainAxisAlignment: .start,
crossAxisAlignment: .center,
children: [ /* ... */ ],
),


А для padding указывать только значение

Padding(
padding: .all(8.0),
child: Text('Hello world'),
),


🌐 Конфигурация для Web
Новый файл web_dev_config.yaml позволяет задать параметры для локального веб-запуска Flutter-приложения.

Можно указывать порт, хост, сертификаты HTTPS, заголовки и прокси-маршруты

👩‍🍳 Теперь WidgetState
Вы по-любому встречались с MaterialStateProperty. Параметры для настройки конкретных стейтов материал виджетов (нажат, наведен, отключен)

Теперь вместо Material используем WidgetState, который подходит и для Cupertino виджетов. Ещё одно упрощение работы с платформозависимым UI

✈️ Новый API OverlayPortal
Позволяет размещать всплывающие элементы интерфейса (диалоги, попапы, уведомления и т.п.) в любом Overlay выше по дереву виджетов, а не только в ближайшем

Благодаря этому можно, например, легко показывать глобальные уведомления поверх всего приложения, даже если вызов идёт из вложенного экрана — без костылей и ручного поиска корневого Overlay

🤔Ещё из интересного:

- Куча всяких оптимизаций опять в Engine, Vulkan, OpenGL ES

- Predictive back-анимации на Android теперь по умолчанию

- На Windows появился расширенный доступ к параметрам дисплеев

- Поддержка 16 KB page size для Android

📊 В релизе 825 коммитов от 145 участников сообщества

🔗 Все подробности можно узнать в блоге команды
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥535👍54❤‍🔥1🤣1🎃1
А у всех ноябрь шизанутый какой-то выходит ?
💯718❤‍🔥4👍2😁1
1😁456👍4❤‍🔥1🔥1
Стас Ильин | Flutter
Photo
На самом деле вот так
😁63🔥8💯43
Утро начинается с падения Клауда и всего бекенда ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36🫡16🤣4🙊21
Стас Ильин | Flutter
Утро начинается с падения Клауда и всего бекенда ☕️
Зато рабочий мессенджер тоже там хостился 😌🧖‍♀️
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29🔥8🎉5🎄2
Forwarded from WoT Classic
Окак
😁52🤣10🕊71
Digital Ниндзя
Поскучать на докладе с названием типа «Как мы собрали суперапп, а потом обратно распилили его на отдельные приложения. Наш опыт»
Погодите, а че реально кто-то ездит на конфы не прибухнуть и шашлычков покушать а за полезной инфой?...
😁32🤔13🤯5💊1
Я недавно сходил на конфу по PostgreSQL. И по-моему конфы реально в заднице

Спросите: "Че ты там вообще забыл? Ты же мобильщик?"

Кто не знает, помимо работы на Flutter у меня много сторонних проектов, требующих различные компетенции. В том числе бекенд пописывать приходится и с постгрей ковыряться

С SQL базами данных я работаю примерно столько же, сколько и с Флатером, то есть опыт какой-никакой имеется

И знаете что? Так скучно мне со времен пар в универе не было

Из всех докладов мне приглянулся только один, где Андрей Бородин рассказывал про реальные кейсы развертывания и устранения ошибок. Живой, интересный, полезный доклад

А остальные…
Либо рекламные для продуктов компании, либо вообще хрен пойми что хрен пойми для чего

Я честно пытался въехать. Думал может это я тупой, недопер. Но потом слышу, как люди выходят из зала:
"Очень круто, но ничего не понятно".
Пересёкся с знакомым бэкендером, нормальным опытным чуваком, он тоже:
"Материал вообще не для меня"

Когда я был неопытным и слушал доклады на конфах - очень многого не понимал. Это меня заряжало энергией работать дальше, чтобы стать таким же "умным" и начать понимать что я делаю

Сейчас, от некоторых докладов, я необорот дизморалюсь потому что осознаю - многие "умные" (опытные разработчики) сами не понимают что и зачем они делают и рассказывают

При этом нетворкинг и общение на конфах - незаменимый двигатель прогресса. Как по мне гораздо больше полезной инфы можно вынести именно из кулуаров

А весь этот пафос, все эти стенды споснсоров, где я получаю не знания и контакты, а сомнительный мерч, который потом пылится в дальнем ящике шкафа. Доклады при полупустых залах, наполненных готовящимися к выступлению спикерами и теми, кому компания оплатила билет за 40к+

Вот это все выглядит печально
😢21💯15👍75
😐 Обновил Flutter… и сломалось пол-проекта

🧑‍💻 Решился я все-таки обновить версию Flutter для рабочих проектов с 3.27 до 3.35

Как всегда, для этого нужно обновить ещё и половину библиотек из pubspec.yaml и вот тут начинается жопа

🥲 Одна библиотека не обновляется уже 3 года, другая - форк плагина у которого протухло нативное апи на андроиде, третяя библиотека вообще больше не поддерживается официально

😭 И это для меня реальная головная боль при разработке на Flutter. Каждый раз когда приходится обновляться - я запасаюсь корвалолом и ромашковым чаем

Не было ни одного обновления версии Flutter чтобы все прошло плавно и без танцев с бубном

🤔 Почему на других технологиях таких больших проблем я не встречал?

👩‍💻 Не могу себе представить что я сижу и разбираюсь с версиями Go библиотек в проекте. Просто жмякнул go mod vendor и все поставилось как надо

🍆 Проблема в том что опенсорсеры dart и Flutter библиотек почему-то очень часто забивают болт на свои проекты. Из самых ярких примеров: hive/isar. Хранилище, которым пользовалось большинство проектов, не обновляется уже третий год

🩷 Вроде решение напрашивается само - не затаскивать всякую срань в свой pubspec

Но как быть когда это специфичный функционал, на разработку которого уйдет много времени - непонятно

📱 Мы вот юзали библиотеку social_share которая по наждатию на одну кнопку создает историю в инсте

Очень удобно, ещё и ни одной строчки нативного кода не пришлось написать

Но теперь даже форки этой библиотеки потеряли актуальность и нам приходится искать замену / самим форкать и дописывать библиотеку

📌Чтобы как я не напарываться на вилы pub'а, вот Пункты, которым лучше всего следвоать:

меньше пакетов → больше контроля

критические плагины → форк + минимум нативного кода

следить за репами заранее

избегать магических «универсальных» решений
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥36👍147💯5🫡2
Forwarded from Flutter Friendly
This media is not supported in your browser
VIEW IN TELEGRAM
Разыгрываем книгу «Основы Flutter»

Побывали на презентации книги во время CrossConf и подписали ее у всех четверых авторов.

Как принять участие:
➡️Подписаться на канал @flutterfriendly
➡️Подписаться на каналы авторов книги @mobile_developing, @frezycode, @ftl_notes и @madteacher_channel
➡️Нажать «участвую» под этим постом

Узнаем победителя 4 декабря и отправим ему эксклюзивный вариант книги 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍21🔥3🎃3🤡21
📱 Хватит страдать! Лёгкий способ бросить оверинжиниринг - Дропнули запись моего доклада с CrossConf

🫦 В этом докладе я рассказываю, как мы сами себе ломаем процессы, переусложняя системы, и что реально помогает работать быстрее

👎 Если коротко - я не верю в “чистую архитектуру” в её академическом виде. В реальных продуктах она чаще тормозит разработку, чем помогает

Когда я готовил тему, хотелось выйти за пределы Flutter и Dart и поговорить о проблеме, которая давно болит - как индустрия сама плодит ненужную сложность

Как я и рассчитывал, доклад вызвал кучу вопросов. Одни разрабы искренне поддержали мою позицию, другие в корне не согласились

💬 Очень жаль что секция ответов на вопросы не попала на запись. Но вот в комментах под роликом меня уже успели назвать "делитантом"

🍆 А мне пихуй, пока у меня есть результаты - называйте меня хоть программистским Иудой, я буду продолжать!

📺 Смотри на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥314❤‍🔥3
Стас Ильин | Flutter
📱 Хватит страдать! Лёгкий способ бросить оверинжиниринг - Дропнули запись моего доклада с CrossConf 🫦 В этом докладе я рассказываю, как мы сами себе ломаем процессы, переусложняя системы, и что реально помогает работать быстрее 👎 Если коротко - я не верю…
Выдал базу в комментариях
Я так рад что находятся люди понимающие всю абсурдность устоявшихся подходов

Блок это ваще отдельная тема для обсуждения. В своих проектах я стараюсь переходить на риверпод (в новых) а в старых юзаю только Cubit + ChangeNotifier. Не могу вспомнить когда в последний раз писал именно BloC и не могу придумать причину его использования

Тонна бойлерплейт кода без какого-либо профита

А раньше я находил причины выбирать BLoC вместо Cubit:

Типо так UI максимально абстрагируется от логики…

Или можно всякие трансформеры накинуть на поток евентов…

Из всего проекта таких блоков, где есть трансформер, наберется 1-2 и все. Какая-нибудь банальная логика debounce для поиска (чтобы каждый введенный символ не тригерил апи поиска)

Сейчас пишу это и понимаю что звучит уже как сценарий ролика. Делаем? 🤔
66👍37🔥5💯3
И в чем он не прав ?!
😁24🤣6🔥4😈4
🎁 Flutter сегодня исполнилось 7 лет!

🧑‍💻 Все, зубы молочные выпали, пубертат прошел, первые токсичные отношения с kmp пережиты... Совсем уже взрослый стал 😭

🥸 Да, не получилось отрастить Macros, но поверь, они бы тебе и не пошли

🥶 А помнишь, как ты захотел уйти из дома и имя ещё сменить на Flock? Да уж, мы тогда знатно переживали. Хорошо что быстро одумался и верунлся

✈️ Ну а каким ты стал крутым пилотом за год, с этим как его там... пропеллером... нет импеллером

🏆Учитель из летной школы говорит что ты всех обгоняешь теперь, молодец чемпион!

💪 Ты заметно повзрослел за этот год. Продолжай расти и дальше - мы рядом, будем поддерживать, ругаться, обновлять тебя через flutter upgrade и гордиться каждым твоим релизом 😘

🎆 Аве, наш любимый фреймворк!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥81🎉2622👏6😭1
⚠️ MAX УПАЛ

Пользователи сообщают о полной недоступности гос. мессенджера

MAX не открывается, не пускает в аккаунт, не отправляет сообщения, а у некоторых приложение просто зависает на заставке
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣39🔥30👍7🥴42
🎉 Talker собрал 800 лайков на pubdev

Не перестаю удивляться какие результаты показывает мой проект

👍 Суммарно все пакеты из экосистемы собрали уже 1683 лайка да я цифродрочер

😢 Правда после релиза 5 версии рост загрузок заметно сократился

🙁 Разные мысли меня преследовали. По-началу задумался что это непосредственно связанно с обновлениями, может новый формат ключей для логов так сильно не зашел комьюнити...

📉 А потом прошелся по другим популярным проектам, у которых в недавнее время выходил мажорный релиз и заметил такую же тенденцию:

Выпуск новой версии = падение загрузок


🧠 И тут я выдвинул гипотезу
У большого количества проектов версии в pubspec.yaml устанавливаются с домиком ^

Это значит что все минорные и patсh обновления будут устанавливаться автоматически при запуске pub get

И так как я выпустил мажорную версию, которая автоматически не обновится и не подгрузится с pub'a - загрузка не защитывается

На заметку тем кто контрибутит в свои проекты
Чаще выпускайте patсh и minor обновления


🍋Сейчас рост загрузок выправляется. Так что продолжаем разгон, нам нужен ЛЯМ!

❤️Поддержи проект лайком
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥3613🎉12👍2
😯 GitHub Copilot теперь сам умеет фиксить issues

😺 Сейчас в репозитории моего проекта на GitHub 162 issue, закрыл я из них за все время 109, ещё висят 53 открытых от сообщества

🕙 У меня физически не хватает времени зайти туда, прочиать что хочет пользователь, вникнуть в проблему, поставить нужные теги и пойти писать для этого код

⚰️ С некоторыми issue справляются контрибьютеры и комьюнити. За что им большое человеческое спасибо ❤️

🌋 Но остальную гору нужно как-то разгребать. И тут я увидел на GitHub новую кнопочку "Assign to Copilot"

Что происходит при нажатии:
Приходит Copilot
Читает чё там накатали в issue
Смотрит кодовую базу
Смачно затягивается
Пишет нужный код и открывает PR с требуемым функционалом

🚀 Я так уже катнул несколько релизов с исправлениями старых багов, до которых раньше руки не доходили

😯 В видео показывается как эту магию повторить

Отличный способ автоматизировать рутину и ускорить разработку, берите на заметку 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤‍🔥28🔥15👍6🤣2
❗️ JetBrains хоронит Fleet и это тревожный звоночек для KMP

JetBrains официально прикрыли Fleet - «IDE нового поколения», которую воспринимали как будущее Kotlin Multiplatform разработки

👩‍💻 Fleet ведь не просто IDE. Многие и правда видели в нём экспериментальную площадку, где платформы будут равны

😭 Теперь равны настолько, что поддержку KMP во Fleet просто прекращают

И JetBrains в блоге аккуратно так пишет:
Из-за разрыва функциональности между Fleet и IntelliJ поддержку KMP стало невозможно развивать одинаково


🤨 И вот теперь главный вопрос к KMP-комьюнити:
Если даже JetBrains, крупнейший инвестор в KMP, отказывается развивать отдельную IDE...

…кто будет тащить мультиплатформу дальше?

На чистом энтузиазме? На том что Flutter "загибается"?

⚰️ Короче, уносите
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👏11😁9🤝1