Местный Флаттерист – Telegram
Местный Флаттерист
45 subscribers
1 photo
8 links
Всем привет! Меня зовут Сергей, я Flutter разработчик в Merk Team. Тут я иногда буду постить рандомные заметки и инсайты про Flutter. Но вообще не только про Flutter. Да в общем чо захочу, то и запощу.
Download Telegram
Всем привет! Меня зовут Сергей, я Flutter разработчик в @merkteam.

Буду постить сюда рандомные заметки про Flutter и не только. Этот канал начался с Underhood'а, который я проводил в канале Мерка, почитать можно тут: https://news.1rj.ru/str/merkteam/2379
👍8
Офигеть, тут еще ни одного поста, а вас уже больше 50

Это неожиданно и очень приятно. Прямо сейчас, после 3 дней непрерывного постинга, у меня не очень много идей, что еще можно рассказать, поэтому обращаюсь к вам: есть ли у вас вопросы, или темы, про которые хотелось бы почитать? Комменты должны быть открыты, так что любые заявки можно закидывать сюда

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

А пока небольшой забавный факт: милейший енот, что стоит на аватарке, был сгенерирован нейросетью. Обожаю нейросети. Вы и сами можете с ней поиграться: https://news.1rj.ru/str/txt2image_bot
По качеству она, конечно, далеко не Dall-e. Зато не придётся стоять в очереди к Илону Маску за разрешением погенерить картиночки

Бонусом к посту, еще один интересный вариант от этой сетки)
👍7🔥2
Начинаю потихоньку разгребать вчерашние предложения, всем спасибо за идеи!

Первым запросом были обучающие материалы по Flutter.

Если у вас уже есть какой-то опыт за плечами, то можно сходу брать тур по языку и открывать документацию Flutter, благо она хороша. Этого должно быть достаточно, чтобы начать что-то делать.

Для начинающих, обычно советуют этот канал. Сам не смотрел, но, опять же, начинающим рекомендуют. + автор - человек хороший, поэтому в общем и целом доверяю. Тут и про Dart, и про Flutter. Можно идти прям последовательно.

Но лично я бы рекомендовать стал только совсем начинающим, если Dart - это ваш первый язык, и навыка работы с документацией еще не выработалось. В остальных случаях, мне кажется, это будет непродуктивно. Там какое-то адовое количество видосов какой-то адовой продолжительности. И всё объяснено ну супер подробно. При владении документацией и желании пробовать и ошибаться, обе технологии изучаются сильно быстрее.

Еще один класный ресурс - Dart Side, который ведёт небезызвестный FOX. Но ценность тут представляет не столько канал в тг, сколько канал на YouTube, где он успел записать пачку очень крутых лекций. Но в тг тоже советую подписаться, ибо туда падают анонсы. К этим материалам советую обращаться когда уже есть какой-то опыт с Flutter, и начинаются вопросы по архитектуре и по тому, как технология устроена.

+ независимо от опыта можно решать задачки на LeetCode, благо он с недавних пор завёз поддержку Dart. Тут можно как потренировать новый для себя язык, так и снять ржавчину с мозгов, попрактиковавшись на алгоритмических задачках.

Если вспомню еще что-то, докину в комментарии 🌞
👍8🔥6
Между запросов вклиниваюсь с классной штукой)

Вместе с Flutter 3.3.0 мы получили также и Dart 2.18, который помимо других непонятных мне штук предоставил возможность взаимодействовать со Swift и Obj-C кодом. Казалось бы, и что? Но команда Dart тут же ответила на этот вопрос и подогрела нас пакетом cupertino_http

Данный пакет предлагает заменить собой пакет http на iOS и MacOS. И самая козырная фича, ради которой стоит это сделать - запросы наконец-то перестанут игнорировать настроенный в системе VPN. Ура, товарищи!

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

Может кто-то уже пробовал? Как полёт?
👍3🔥2
Я не пропал, меня не загрызли еноты, просто случилась релокация 😄
Пока что я изучаю новые места, поэтому сразу после работы ноутбук обычно отправляется в рюкзак до след. рабочего дня. Но тут накопилась пара моментов, которыми надо поделиться:

Момент раз: Определилась дата онлайн ивента, который заменит собой митап в Ереване. Он пройдет 15 сентября в 19 по Мск. То бишь через неделю вечером.

Лайнап немного похудел, а с мультиплатформы мы сузились до Flutter, что в общем-то плюс. Я даже считаю, что давно пора все митапы посвящать только Flutter'у, чтоб зря не распыляться. Но это не суть

На мероприятии будут 2 небольших доклада:
Алёна Немчинова расскажет крутые штуки про то, как Flutter отрисовывает нативные вьюшки на Android. Считаю, что пропускать такое нельзя.
Я же выбрал штуку попроще - скролл, сливеры и как это дело использовать. Никакой дичи. Только простые, прикольные штуки и полезные библиотеки для создания интересных списков в ваших приложениях.

В общем если вы еще не придумали, как провести вечер следующего четверга, то вот ссылка

Момент два: я попробовал cupertino_http и не понял прикола. Во-первых он иногда крашит приложение, но это мелочи. Репорт уже отправлен, скоро пофиксят. Во-вторых, выяснилось, что в общем-то не смотря на все иши и информационный шум про то, что Dart игнорирует системный VPN, оказалось, что это не совсем так. Эксперименты показали, что и обычный http клиент вполне успешно реагирует на мгновенный телепорт в Казахстан или Турцию.
Видимо речь всегда шла про то, что если VPN предоставляет доступ к каким-то своим частным ресурсам, то тут у http либы будут проблемы. Вот соответствующая иша.
В общем с cupertino_http то ли я дурак, то ли лыжи не едут. Если я упускаю что-то очевидное, а вы уже пробиваете лицо с этого, срочно напишите в комментариях 🙏
6
Через 20 минут выходим на связь на YouTube трансляции
Если еще не придумали, как провести вечер - айда к нам 😁
2👍2🔥1
На докладе я посмел усомниться в компетентности команды Flutter, задавшись вопросом, почему бы не разделить на уровне типов RenderBox и RenderSliver виджеты. Уже во время доклада, пока я на автомате воспроизводил заученный текст, до меня дошел ответ на этот вопрос, но я забыл озвучить его в конце 😄

Так вот:

Если бы команда Flutter так сделала, это бы поставило крест на композиции. То бишь, если бы виджеты явно предъявляли требования, что хотят получить BoxWidget или SliverWidget, то мы потеряли бы возможность вкорячить туда, например, BlocBuilder, или любой другой виджет, не имеющий рендер объекта. А так мы вольны делать что угодно, главное чтобы следующим в рендер-иерархии оказался виджет нужного нам типа. Такие дела)
👍5
Подсказали классную утилиту.
Если вам для демонстрации надо постримить экран своего пожилого Андроида на комп, то можно воспользоваться scrcpy.

В использовании примитивен: устанавливается одной командой (и годом ожидания, реально, я как-будто node_modules тянул), а дальше в терминале прожимаете scrcpy и происходит чудо.

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

Найти бы еще такое для iOS, чтобы не открывать каждый раз QuickTime и не смотреть на свою рожу, пока не переключишь захват видео с камеры на iPhone 😅
👍3
Всем счастливого Нового года, или как говорят тут, Срећна Нова година!

Внеплановое включение 😄
Мне недавно напомнили, что у меня, оказывается. есть канал, и я не писал в нём уже больше полугода. Исправляюсь.

Во-первых, тут был вопрос о том, как обрабатывать ошибки. Не знаю, насколько это еще актуально, но пока я прикидывался ветошью, Fox написал классную статью, где поведал лучше и больше, чем я мог бы, так что советую обратиться к ней.

Во-вторых, про грабли, перфоманс и прочее - я напишу!
Я знаю, что все давно забили и не помнят об этом, а мб даже едва припоминают, как сюда подписались, но меня угнетает незаконченное дело, а значит пост будет! Думаю, даже, первым в новом году 😄

Но сегодня я хотел написать о другом.
Помните, как совсем недавно, нейросети приговорили художников и вызвали тонны холиваров? Так вот, я как-то упустил тот момент, когда нейрухи начали покушаться и на мой хлеб тоже.

Побаловался я, значит, с ChatGPT, и после пары банальных вопросов мне стало любопытно, насколько нейросеть владеет моим ремеслом.
Вот вам пример моего последнего запроса:


Напиши приложение на Flutter. На первом экране список цветов, по нажатию на элемент списка должен открыться новый экран с квадратом выбранного цвета


В ответ на это, ChatGPT выдала мне туториал, как написать такое приложение с абсолютно валидным и рабочим кодом. В конце еще и полный листинг предоставило. Единственный косяк: он был на пожилом синтаксисе Dart, до nnbd, но это потребовало всего пару правок, не критично.

С одной стороны, задача не сложная, и скорее всего сеть училась на каком-нибудь туториале с похожей задачей. Но дальше больше, ведь сеть остаётся в контексте, и можно вносить правки!
Например, меня не устроило, что на оригинальном экране, в списке были только названия цветов, никакой наглядности. Прошу:


Добавь в тайлы на первом экране квадраты с соответствующими цветами


А он берёт, и пишет код нового тайла. И при чем всё как надо. Приятно. Только вот квадраты большие какие-то:


Сделай квадраты в списке чуть меньше


Тоже делает. Правда не чуть меньше, а более чем в 2 раза режет, но зато заботливо объясняет, как выставить нужное мне значение. Ну просто чудо новогоднее - программирование будущего. Я даж на секунду задумался, а зачем нужен я такой нарядный, если можно в формате непринужденного диалога создавать приложения?
А потом я вспомнил, что вообще-то он сгенерил мне код двухлетней давности, и попросил:


Обнови код, чтобы его можно было собрать на Dart версии 2.12


И тут он наконец-то поплыл! Вместо того, чтобы поправить пару конструкторов и нулёвость, он предложил мне добавить импорт material и заменить матириаловские виджеты на купертиновские (wat).
Меня в этот момент даже отпустило, ближайший год-два я буду нужен! 😅

В общем жутко это, товарищи. Ждём момента, когда бизнес будет создавать себе огромные системы в формате непринуждённого диалога с нейросетью, тем более первые шаги в этом направлении уже сделаны)
Баловались с ChatGPT? Как ощущения?

(В треде пара скринов этого бесовства)
🔥5👍1🤯1