У Сёрфов дропнулся свежий пост про версионирование, а я давно подумывал написать про эту тему, так что идеальнее момента придумать сложно. Для контекста стоит прочитать их пост, там есть необходимая теория, а я сделаю несколько, на мой взгляд, важных дополнений.
Проблема: если при объявлении зависимостей вы используете "шапочку" (caret syntax), то при вызове
Ребята предлагают решать это радикально — не использовать шапочку и жестко связывать все зависимости руками. Тогда
А описанная проблема решается так — в проект приложения коммитится pubspec.lock. Так нужно делать. Об этом прям курсивом сказано в документации, вот тут в последнем абзаце. Всё, вы восхитительны и вызов
Ежели вы пишете не приложение, а пакет, то вы обязаны использовать "шапочку", иначе вашим пакетом будет невозможно пользоваться — наличие его в проекте как ломом заклинит все версии зависимых пакетов и они просто не будут резолвиться, если эти же пакеты есть в самом проекте-потребителе и их версии отличаются от ваших. И в этом случае правильно — не коммитить pubspec.lock. Это обязывает вас проверять свой пакет на самых свежих версиях зависимостей, потому что ваши пользователи потенциально будут использовать их в связке с вашим пакетом.
Ну и использовать dependency_overrides — это как держать паяльник за стержень, потому что так удобнее и даёт вам больше контроля над процессом. dependency_overrides — это инструмент для исключительных кейсов, когда зависимости по каким-то причинам не имеют пересекающихся констрейнтов — а это всегда не очень хорошая ситуация и всегда связано с риском огрести несовместимость интерфейсов и вообще не собрать проект.
Короче, чтобы подробнее разобраться в теме:
1. Прочитайте внимательно доку (все ссылки выше).
2. Посмотрите видосик с последнего Google I/O.
3. Посмотрите свежую лекцию с ШМР.
4. И пользуйтесь инструментом так, как это задумано его конструкцией.
Проблема: если при объявлении зависимостей вы используете "шапочку" (caret syntax), то при вызове
flutter pub get
версия таких зависимостей может обновляться автоматически вплоть до ближайшего мажора. А это мало того, что неявно, так ещё и разработчики этих библиотек могут ненароком сломать совместимость даже в рамках текущего мажора.Ребята предлагают решать это радикально — не использовать шапочку и жестко связывать все зависимости руками. Тогда
pub get
никогда не сделает что-то самовольно. Это было бы хорошим решением, если бы не ломало всю концепцию версионирования по констрейнтам — давать графу зависимостей гибкость при изменении версий.А описанная проблема решается так — в проект приложения коммитится pubspec.lock. Так нужно делать. Об этом прям курсивом сказано в документации, вот тут в последнем абзаце. Всё, вы восхитительны и вызов
flutter pub get
никогда ничего вам самовольно не обновит.Ежели вы пишете не приложение, а пакет, то вы обязаны использовать "шапочку", иначе вашим пакетом будет невозможно пользоваться — наличие его в проекте как ломом заклинит все версии зависимых пакетов и они просто не будут резолвиться, если эти же пакеты есть в самом проекте-потребителе и их версии отличаются от ваших. И в этом случае правильно — не коммитить pubspec.lock. Это обязывает вас проверять свой пакет на самых свежих версиях зависимостей, потому что ваши пользователи потенциально будут использовать их в связке с вашим пакетом.
Ну и использовать dependency_overrides — это как держать паяльник за стержень, потому что так удобнее и даёт вам больше контроля над процессом. dependency_overrides — это инструмент для исключительных кейсов, когда зависимости по каким-то причинам не имеют пересекающихся констрейнтов — а это всегда не очень хорошая ситуация и всегда связано с риском огрести несовместимость интерфейсов и вообще не собрать проект.
Короче, чтобы подробнее разобраться в теме:
1. Прочитайте внимательно доку (все ссылки выше).
2. Посмотрите видосик с последнего Google I/O.
3. Посмотрите свежую лекцию с ШМР.
4. И пользуйтесь инструментом так, как это задумано его конструкцией.
👍19❤2
Добрался почитать результаты опроса Q1 2023 от Flutter team. Краткий пересказ, если ещё не успели ознакомиться:
1. 93% разрабов (здесь и далее — среди тех, кто прошёл опрос) довольны флаттером, из них половина — очень довольны.
2. На 24% увеличилось количество флаттер-разработчиков.
3. И Flutter-разрабы по результатам опроса, и Flutter team по своим метрикам сходятся во мнении, что флаттер растет очень быстро.
4. Те, кто не согласен с этим мнением, в основном аргументируют это отсутствием вакансий/кандидатов, либо отсутствием примеров внедрения Flutter в крупных компаниях.
5. Половина разрабов столкнулись с той или иной миграцией за последний год из-за breaking changes, 44% разрабов грустили и страдали по этому поводу, однако больше 60% сказали, что код стал чище и вообще изменения полезные.
6. В ответ на это Flutter team пообещала делать меньше ломающих изменений, т.к. флаттеру пора взрослеть изаводить семью становиться устойчивым в том числе и в плане API.
7. Firebase Dynamic Links закапывают в пользу нативных App Links и Universal Links, но на миграцию будет минимум 12 месяцев. Особенно забавно этот пункт выглядит, если перечитать предыдущий.Но на самом деле они ж не виноваты, это всё Firebase .
1. 93% разрабов (здесь и далее — среди тех, кто прошёл опрос) довольны флаттером, из них половина — очень довольны.
2. На 24% увеличилось количество флаттер-разработчиков.
3. И Flutter-разрабы по результатам опроса, и Flutter team по своим метрикам сходятся во мнении, что флаттер растет очень быстро.
4. Те, кто не согласен с этим мнением, в основном аргументируют это отсутствием вакансий/кандидатов, либо отсутствием примеров внедрения Flutter в крупных компаниях.
5. Половина разрабов столкнулись с той или иной миграцией за последний год из-за breaking changes, 44% разрабов грустили и страдали по этому поводу, однако больше 60% сказали, что код стал чище и вообще изменения полезные.
6. В ответ на это Flutter team пообещала делать меньше ломающих изменений, т.к. флаттеру пора взрослеть и
7. Firebase Dynamic Links закапывают в пользу нативных App Links и Universal Links, но на миграцию будет минимум 12 месяцев. Особенно забавно этот пункт выглядит, если перечитать предыдущий.
👍4👌4❤1
Держите пятничный анекдот:
В одной IT компании долгие годы работал один старый flutter разработчик. Перед началом каждого рабочего дня он доставал из ящичка в своем столе бумажку, читал ее и убирал назад. После его ухода на пенсию, все сотрудники кинулись смотреть, что же написано в той бумажке. Разворачивают, а там "--no-sound-nullsafety — без налсейфти, flutter pub run build_runner build --delete-conflicting-outputs --verbose — запустить кодген "
Кстати, автор этого анекдота Никита — позавчера рассказывал лекцию в ШМР про девтулзы во флаттере.
В одной IT компании долгие годы работал один старый flutter разработчик. Перед началом каждого рабочего дня он доставал из ящичка в своем столе бумажку, читал ее и убирал назад. После его ухода на пенсию, все сотрудники кинулись смотреть, что же написано в той бумажке. Разворачивают, а там "
Кстати, автор этого анекдота Никита — позавчера рассказывал лекцию в ШМР про девтулзы во флаттере.
🤣20👍7😁3🤮1🤡1🙈1
Я ещё молодой, шутливый, поэтому вскрою одну тему. Что правильнее: кидать исключения или возвращать Either?
Коротко про суть: исключения основаны на "бросании" (throw) и "перехватывании" (catch) ошибок во время выполнения, минуя возвращаемое значение. Either — это и есть возвращаемое значение, которое явно содержит два возможных результата: ошибка (left) или успех (right). Иногда используют Result(ok, error).
Несколько раз в рабочих чатах разгоралась эта тема, поэтому я решил перечитать аргументы обеих сторон и выделил ключевые.
Исключения
➕ Не нужен дополнительный класс/библиотека, от которых будет зависеть вся кодовая база, потому что исключения — это встроенный механизм языка.
➕ Сохраняется полная цепочка методов из стектрейса, можно от и до проследить, кто-кого-откуда вызвал и упал.
➖ Неявное ветвление кода из-за неожиданных исключений ухудшает понимание потока программы. А это может усложнить отладку и тестирование.
Either
➕ Обязывает обработать возвращаемое значение на уровне компиляции как в случае успеха, так и в случае ошибки.
➕ Есть удобные утилитарные методы для обработки результата, типа map/flatMap/fold.
➖ Ухудшает читаемость кода: обрабатывать оба сценария (успех и ошибку) нужно в каждом методе, что нагромождает логику. Проще читать код, когда нормальный процесс работы приложения описан в одном месте, а обработка ошибок — в другом.
Вот ещё несколько статей и обсуждений (в том числе в комментариях) на эту тему с аргументами как за, так и против:
- Тип данных Either как альтернатива выбрасыванию исключений
- Either vs Exception Handling
- Обсуждение на StackOverflow
Предлагаю голосовать: кому что ближе?
Коротко про суть: исключения основаны на "бросании" (throw) и "перехватывании" (catch) ошибок во время выполнения, минуя возвращаемое значение. Either — это и есть возвращаемое значение, которое явно содержит два возможных результата: ошибка (left) или успех (right). Иногда используют Result(ok, error).
Несколько раз в рабочих чатах разгоралась эта тема, поэтому я решил перечитать аргументы обеих сторон и выделил ключевые.
Исключения
Either
Вот ещё несколько статей и обсуждений (в том числе в комментариях) на эту тему с аргументами как за, так и против:
- Тип данных Either как альтернатива выбрасыванию исключений
- Either vs Exception Handling
- Обсуждение на StackOverflow
Предлагаю голосовать: кому что ближе?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👨💻3❤1👻1
Вышел новый выпуск Flutter Dev Podcast про FlutterFlow.
Про него я знаю уже давно, но руки не доходили попробовать. Но тут послушал подкаст и решил устроить себе челлендж — максимально быстро сделать простенькое приложениеиз говна и палок на No-Code.
Взял идею, которую часто даю студентам как первую домашку: есть открытая апишка — chucknorris.io — она возвращает рандомную шутку о Чаке Норрисе. Задача — сделать тиндер с такими шутками. Ну или хотя бы отображать одну шутку на экране и обновлять её по нажатию на кнопку.
Я сразу зачем-то решил делать свайпающиеся карточки (ну а чо, там был готовый элемент!), ничего не вышло, я забил, решил сделать хотя бы просто загрузку ОДНОЙ шутки на инициализации, тоже сходу не получилось, но к тому моменту я уже провозился целый час и мне стало очень жалко этот час, поэтому я категорически забил, чтобы потом не очнуться в полночь с жоским чувством вины за продолбанную субботу.
Выводы
1. Даже No-Code — это всё ещё новый инструмент, с которым нужно разбираться. Я вот достаточно много времени потратил просто на то, чтобы понять, где я вообще. Документацию я конечно же не читал, иначе какой это челлендж. Но я уверен, что если сесть возиться в следующий раз, то будет уже сильно проще.
2. Возможно плохо искал, но я не нашел инструментов для дебага. Вот если у меня приложениетупа не работает ведет себя не так, как я ожидаю — мне как понять, что именно я сделал не так?! Цените ваши дабеггеры, девтулзы и конечно же логгер, пацаны и пацанессы.
3. Оправдываюсь первыми пунктами, надеясь, что это не я просто тупой.
Спасибо сёрфам за мотивационный пинок, хоть попробовал, кто такой этот ваш FlutterFlow.
Про него я знаю уже давно, но руки не доходили попробовать. Но тут послушал подкаст и решил устроить себе челлендж — максимально быстро сделать простенькое приложение
Взял идею, которую часто даю студентам как первую домашку: есть открытая апишка — chucknorris.io — она возвращает рандомную шутку о Чаке Норрисе. Задача — сделать тиндер с такими шутками. Ну или хотя бы отображать одну шутку на экране и обновлять её по нажатию на кнопку.
Я сразу зачем-то решил делать свайпающиеся карточки (ну а чо, там был готовый элемент!), ничего не вышло, я забил, решил сделать хотя бы просто загрузку ОДНОЙ шутки на инициализации, тоже сходу не получилось, но к тому моменту я уже провозился целый час и мне стало очень жалко этот час, поэтому я категорически забил, чтобы потом не очнуться в полночь с жоским чувством вины за продолбанную субботу.
Выводы
1. Даже No-Code — это всё ещё новый инструмент, с которым нужно разбираться. Я вот достаточно много времени потратил просто на то, чтобы понять, где я вообще. Документацию я конечно же не читал, иначе какой это челлендж. Но я уверен, что если сесть возиться в следующий раз, то будет уже сильно проще.
2. Возможно плохо искал, но я не нашел инструментов для дебага. Вот если у меня приложение
3. Оправдываюсь первыми пунктами, надеясь, что это не я просто тупой.
Спасибо сёрфам за мотивационный пинок, хоть попробовал, кто такой этот ваш FlutterFlow.
👨💻8😁3🥴3👏2💩2👍1🤓1
А вот и результат работы двух десятков людей из нескольких команд: Flutter Handbook!
Вся команда постаралась на славу, такие все котики!😇
Читайте сами и делитесь с друзьями, кто заглядывается на флаттер, но всё никак не решится. И делитесь впечатлениями в группе в телеге!
А мы продолжим развивать хэндбук и делать его ещё круче 😎
Вся команда постаралась на славу, такие все котики!
Читайте сами и делитесь с друзьями, кто заглядывается на флаттер, но всё никак не решится. И делитесь впечатлениями в группе в телеге!
А мы продолжим развивать хэндбук и делать его ещё круче 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
education.yandex.ru
Flutter — Хендбук от Яндекс Образования
Этот хендбук позволит вам разобраться в устройстве Flutter, особенностях его компонентов, языке Dart и паттернах проектирования современных приложений
🔥29❤6👏2❤🔥1🎉1
Можете официально считать это фишкой канала: когда мне лень некогда писать полезные посты, я просто прошу ChatGPT сгенерить какую-нибудь дичь на тему флаттера.
На этот раз всратые советы по написанию кода:
☝️ Переменные, объявленные внутри StatefulWidget, должны быть объявлены с приставкой "внутри_".
☝️ Если вы хотите использовать async/await в Flutter, то вы должны совершить жертвоприношение в виде некоторого количества капель крови каждый раз, когда используете эту конструкцию.
☝️ Никогда не делайте бэкапы своего кода на Dart и Flutter. Это займет слишком много места на вашем жестком диске, а вам все равно не пригодится.
☝️ Если вам нужно протестировать свой код на Flutter, сделайте это на живом питоне. Никаких виртуальных машин и эмуляторов - только настоящий змей.
☝️ Для того, чтобы гарантировать эффективность вашего кода, каждый аргумент функции должен иметь уникальный идентификатор, который был сгенерирован на основе вашего хронотипа.
☝️ Если ты пишешь на Dart, то всегда начинай свой код со слов "import 'dart:math';", чтобы дать своей программе более математический характер.
☝️ Если ты пишешь на Dart, то всегда используй const, даже когда это не имеет смысла, чтобы показать свое уважение к памяти и оптимизации.
А ещё завтра выступаю на Стачке в Ульяновске, так что если вы внезапно тоже там будете — ловите в местах, где базарят за флаттер.
На этот раз всратые советы по написанию кода:
А ещё завтра выступаю на Стачке в Ульяновске, так что если вы внезапно тоже там будете — ловите в местах, где базарят за флаттер.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁13🦄6🔥4🌭2✍1💩1
На Стачке был круглый стол, на котором обсуждали тренды в мобильной разработке, в том числе и кроссплатформу.
Среди участников были и ребята из аутсорс компаний (в частности Agima и MadBrains). И они в один голос сказали, что сейчас новым заказчикам уже не нужно продавать флаттер — они уже сами всё почитали, изучили, и сами приходят с запросом “давайте нам ваш флаттер”.
Для меня это стало откровением — я думал, что в заказной разработке просвещение заказчиков про флаттер всё ещё требует некоторого усилия, а оказывается уже всё продано — бери и делай.
Плюс звучали тоже любопытные числа, что штат Flutter разработчиков за последний год (вроде бы) вырос на 50%, в то время как мобильных — на 10-15%.
Так что можете пересказывать это flutter-скептикам вокруг вас, если таковые имеются — а то они всё проспят!🥱
Среди участников были и ребята из аутсорс компаний (в частности Agima и MadBrains). И они в один голос сказали, что сейчас новым заказчикам уже не нужно продавать флаттер — они уже сами всё почитали, изучили, и сами приходят с запросом “давайте нам ваш флаттер”.
Для меня это стало откровением — я думал, что в заказной разработке просвещение заказчиков про флаттер всё ещё требует некоторого усилия, а оказывается уже всё продано — бери и делай.
Плюс звучали тоже любопытные числа, что штат Flutter разработчиков за последний год (вроде бы) вырос на 50%, в то время как мобильных — на 10-15%.
Так что можете пересказывать это flutter-скептикам вокруг вас, если таковые имеются — а то они всё проспят!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥10💯3😱1😈1😴1
Ну чо, почалось, погнали бустить канал!
Для этого нужно обновить телегу — и тогда сможете тыкнуть по ссылке и респектнуть каналу, а за это я смогу постить тут сториз💅
Для этого нужно обновить телегу — и тогда сможете тыкнуть по ссылке и респектнуть каналу, а за это я смогу постить тут сториз
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Flutter Bro
Проголосуйте за канал, чтобы он получил больше возможностей.
💅10❤2👎2⚡1🔥1😁1
Андроидеры тут? Как вам идея Dagger 2, но на Dart?
С приятным удивлением узнал, что в Яндексе есть и затаившиеся дарт/флаттер-разработчики, которые хоть и работают в другом стеке, но в свободное время и для дарта что-то поделывают.
Как раз на прошлой неделе один из таких коллег-разработчиков показывал свой пакет: jugger.
Честно, сам пока не добрался попробовать, только доку почитал — ну это реально Dagger, круто. Так что если у вас есть большое и теплое чувство к андроидному DI, то может быть jugger — это кандидат на ваше сердечко. Ещё есть статья на хабре от автора.
И раз уж такая песня, то давайте-ка обсудим: какие (можно несколько) способы связывать зависимости в проекте вам нравятся больше всего?
С приятным удивлением узнал, что в Яндексе есть и затаившиеся дарт/флаттер-разработчики, которые хоть и работают в другом стеке, но в свободное время и для дарта что-то поделывают.
Как раз на прошлой неделе один из таких коллег-разработчиков показывал свой пакет: jugger.
Честно, сам пока не добрался попробовать, только доку почитал — ну это реально Dagger, круто. Так что если у вас есть большое и теплое чувство к андроидному DI, то может быть jugger — это кандидат на ваше сердечко. Ещё есть статья на хабре от автора.
И раз уж такая песня, то давайте-ка обсудим: какие (можно несколько) способы связывать зависимости в проекте вам нравятся больше всего?
👍4🔥3👌2🤷♂1
Мои любимые способы связывать зависимости во Flutter
Anonymous Poll
5%
GetX
19%
GetIt
26%
GetIt + Injectable
26%
Provider
26%
Riverpod
17%
Просто класс с полями-зависимостями
8%
Синглтоны
2%
jugger
17%
Любой, главное чтобы проект был душевный
6%
Всё это хайп, я пользуюсь андеграундными решениями
Заглянул тут случайно в один из самых первых проектов, которые писал на флаттере, и увидел там ошибку, от которой лучше постараться избавиться как можно раньше. Я там написал абстрактный виджет, а потом от него отнаследовался!
"Composition over inheritance" (композиция вместо наследования). Во флаттере это не просто технически более гибкое решение — это своего рода философия, которая лежит в основе всего фреймворка.
Как избежать ошибки? Ну, собственно, не делать как делал я:
1. Не писать виджетов с модификатором abstract
2. Не делать extends ни от каких виджетов, кроме базовых Stateful/Stateless
У этих правил есть несколько исключений, но в подавляющем большинстве случаев они не нужны. Когда-нибудь напишу про них отдельно.
Если нужны детали и причины, то вот несколько ссылочек:
1. Про композицию в доке флаттера
2. Кусочек из видео 6-летней давности про эту философию
3. Можно загуглить фразу "Composition over inheritance", там много материалов помимо флаттера
P.S. Я хоть и немного загружен в последнее время, но про канал не забываю, и уже есть несколько черновиков, о чём бы ещё хотел рассказать — так что не теряйте.
"Composition over inheritance" (композиция вместо наследования). Во флаттере это не просто технически более гибкое решение — это своего рода философия, которая лежит в основе всего фреймворка.
Как избежать ошибки? Ну, собственно, не делать как делал я:
1. Не писать виджетов с модификатором abstract
2. Не делать extends ни от каких виджетов, кроме базовых Stateful/Stateless
У этих правил есть несколько исключений, но в подавляющем большинстве случаев они не нужны. Когда-нибудь напишу про них отдельно.
Если нужны детали и причины, то вот несколько ссылочек:
1. Про композицию в доке флаттера
2. Кусочек из видео 6-летней давности про эту философию
3. Можно загуглить фразу "Composition over inheritance", там много материалов помимо флаттера
P.S. Я хоть и немного загружен в последнее время, но про канал не забываю, и уже есть несколько черновиков, о чём бы ещё хотел рассказать — так что не теряйте.
👍16❤5🔥4😈2💩1
Ну всё, теперь заживем! Завезли "non-null promotion for private final fields".
Теперь по порядку: дропнулся Flutter 3.16, а вместе с ним и Dart 3.2.
И помимо кучи прочих крутых штук, полечили старую боль, от которой у всех рано или поздно припекало: даже если ваше поле final и вы проверили его на non-null, то ниже дарт всё равно требовал проверять опять 🗿 И приходилось извращаться и присваивать это final-поле в локальное final-значение, и дальше работать с ним — только тогда тот самый non-null promotion начинал работать.
Но если у вас вдруг припекает не только от final-полей, но и от var-полей, которые не умеют в non-null promotion, то придется вас разочаровать — var так промоутить нельзя: вот gist с примером, а вот такой же dartpad, чтобы потыкать.
Теперь по порядку: дропнулся Flutter 3.16, а вместе с ним и Dart 3.2.
И помимо кучи прочих крутых штук, полечили старую боль, от которой у всех рано или поздно припекало: даже если ваше поле final и вы проверили его на non-null, то ниже дарт всё равно требовал проверять опять 🗿 И приходилось извращаться и присваивать это final-поле в локальное final-значение, и дальше работать с ним — только тогда тот самый non-null promotion начинал работать.
class A {
final int? _nullableField;
const A(this._nullableField);
check() {
if (_nullableField == null) {
return;
}
// Тут _nullableField уже никогда не будет null,
// но в версиях ниже 3.2 всё равно будет ошибка компиляции.
int nonNullVar = _nullableField;
}
}
Но если у вас вдруг припекает не только от final-полей, но и от var-полей, которые не умеют в non-null promotion, то придется вас разочаровать — var так промоутить нельзя: вот gist с примером, а вот такой же dartpad, чтобы потыкать.
🍾17🎉3❤2👍2💩1
Flutter Bro
Универсальный ответ на вопросы "С чего начать?" и "Как систематизировать знания?": плейлист с лекциями по Flutter от Яндекса. Это сборник из лекций со Школ Мобильной Разработки 2021 и 2022 годов. Лекции сгруппированы по темам и по порядку усложнения. В части…
Прошлый пин с яндексовыми материалами для погружения во Flutter немного устарел, поэтому вот обновление, чтобы всегда было под рукой.
Flutter Handbook — текстовый учебник на базе Академии Яндекса
Школа Мобильной Разработки 2023 — полный видео-курс из открытого лектория.
Школа Мобильной Разработки 2021-2022 — публичная часть лектория прошлых лет.
Читайте и смотрите сами, советуйте друзьям☕️
Flutter Handbook — текстовый учебник на базе Академии Яндекса
Школа Мобильной Разработки 2023 — полный видео-курс из открытого лектория.
Школа Мобильной Разработки 2021-2022 — публичная часть лектория прошлых лет.
Читайте и смотрите сами, советуйте друзьям
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19🔥4✍2👍2💩1👌1💯1🤝1 1
Flutter Bro pinned «Прошлый пин с яндексовыми материалами для погружения во Flutter немного устарел, поэтому вот обновление, чтобы всегда было под рукой. Flutter Handbook — текстовый учебник на базе Академии Яндекса Школа Мобильной Разработки 2023 — полный видео-курс из открытого…»
Сегодня одним постом аж два анонса!
Дебаты Flutter vs Kotlin Multiplatform
5 декабря (т.е. завтра), в 19:00 по Москве, на конференции YaTalks, в прямом эфире будут проходить дебаты между двумя хайповейшими кроссплатформенными технологиями. Выступать на стороне флаттера будут небезызвестные Гена Евстратов (Яндекс Про) и Женя Сатуров (Surf, Flutter Dev Podcast).
Независимо от результатов, это будет легендарно! Поэтому ставьте напоминалку в календарь.
Опрос по архитектурным подходам во Flutter
Думаю, не мне одному было интересно посмотреть на распределение интереса к разным подходам связывания зависимостей. Поэтому я решил пойти дальше и в целом собрать статистику по таким основополагающим темам как state-management, связывание зависимостей, работа с UI, бизнес-логика, структура проекта и т.д. Всех приглашаю проходить опрос и распространять среди всех, кто интересуется флаттером и кому есть что сказать на эту тему!
Через некоторое время я саккумулирую получившиеся результаты и замучу какую-нибудь классную инфографику — и все мы станем чуть лучше понимать друг друга: какие инструменты нам ближе, а какие вызывают больше всего противоречий.
Надеюсь, анонсы вам понравились, спасибо что читаете и вовлекаетесь в движухи! ❤️
Дебаты Flutter vs Kotlin Multiplatform
5 декабря (т.е. завтра), в 19:00 по Москве, на конференции YaTalks, в прямом эфире будут проходить дебаты между двумя хайповейшими кроссплатформенными технологиями. Выступать на стороне флаттера будут небезызвестные Гена Евстратов (Яндекс Про) и Женя Сатуров (Surf, Flutter Dev Podcast).
Независимо от результатов, это будет легендарно! Поэтому ставьте напоминалку в календарь.
Опрос по архитектурным подходам во Flutter
Думаю, не мне одному было интересно посмотреть на распределение интереса к разным подходам связывания зависимостей. Поэтому я решил пойти дальше и в целом собрать статистику по таким основополагающим темам как state-management, связывание зависимостей, работа с UI, бизнес-логика, структура проекта и т.д. Всех приглашаю проходить опрос и распространять среди всех, кто интересуется флаттером и кому есть что сказать на эту тему!
Через некоторое время я саккумулирую получившиеся результаты и замучу какую-нибудь классную инфографику — и все мы станем чуть лучше понимать друг друга: какие инструменты нам ближе, а какие вызывают больше всего противоречий.
Надеюсь, анонсы вам понравились, спасибо что читаете и вовлекаетесь в движухи! ❤️
Flutter Bro
Сегодня одним постом аж два анонса! Дебаты Flutter vs Kotlin Multiplatform 5 декабря (т.е. завтра), в 19:00 по Москве, на конференции YaTalks, в прямом эфире будут проходить дебаты между двумя хайповейшими кроссплатформенными технологиями. Выступать на…
Если не смогли посмотреть дебаты Flutter vs KMP — уже появилась запись. Крутой формат на давно зревшую тему, получилось живо и напряженно.
Выиграл Flutter со счетом 75% к 25%. Так что смотрите запись и запоминайте аргументы на случай важных переговоров с коллегами.
И, раз уж эти два инфоповода у меня так связались, то ещё раз напоминаю про архитектурный опрос — залетайте, если ещё не проходили! А если уже проходили — а такие точно были, и вас не мало, — моя искренняя благодарность вам☺️
И, раз уж эти два инфоповода у меня так связались, то ещё раз напоминаю про архитектурный опрос — залетайте, если ещё не проходили! А если уже проходили — а такие точно были, и вас не мало, — моя искренняя благодарность вам
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Кросс-платформа будущего: Flutter или KMP / Дебаты спикеров из Контура, Яндекс Go, Surf, Effective
Flutter или KMP — что лучше? За какой кросс-платформенной технологией будущее? Вместе искали ответ на этот вопрос в формате дебатов.
Позиции Flutter защищали:
— Геннадий Евстратов, руководитель мобильной разработки Яндекс Про, Яндекс Go
— Евгений Сатуров…
Позиции Flutter защищали:
— Геннадий Евстратов, руководитель мобильной разработки Яндекс Про, Яндекс Go
— Евгений Сатуров…
Флаттер поддерживает смешанную реальность! 🤔
Вот, пожалуйста, хоть дефолтный счётчик, хоть огромный (во всех смыслах) Яндекс Про — на Quest 3 все из коробки завелось.
Я начинал пользоваться VR ещё со времён HTC Vive, сейчас решил вернуться и посмотреть на новый виток технологии, и пока у меня впечатление такое: почти 5 лет прошло, а самое кайфовое развлечение всё то же —рубить кубы в Beat Saber ! 💃
Но Mixed Reality ощущается, конечно, футуристично. Думаю, что рано или поздно шлем скукожится до размеров относительно удобных очков, и мы будем жить как в этом видео. С его публикации прошло семь лет и теперь можно так же пальцами тыкаться в воздух.
Вот, пожалуйста, хоть дефолтный счётчик, хоть огромный (во всех смыслах) Яндекс Про — на Quest 3 все из коробки завелось.
Я начинал пользоваться VR ещё со времён HTC Vive, сейчас решил вернуться и посмотреть на новый виток технологии, и пока у меня впечатление такое: почти 5 лет прошло, а самое кайфовое развлечение всё то же —
Но Mixed Reality ощущается, конечно, футуристично. Думаю, что рано или поздно шлем скукожится до размеров относительно удобных очков, и мы будем жить как в этом видео. С его публикации прошло семь лет и теперь можно так же пальцами тыкаться в воздух.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
31 декабря — очень сентиментальный день, поэтому я просто хочу сказать вам спасибо!
Уверен, что и нас всех, и объединивший нас Flutter, ждёт интересное и счастливое будущее. И мы в нём продолжим вдохновлять друг друга на новые движухи🦮
Поздравляю с наступающим Новым годом!🍾
Уверен, что и нас всех, и объединивший нас Flutter, ждёт интересное и счастливое будущее. И мы в нём продолжим вдохновлять друг друга на новые движухи
Поздравляю с наступающим Новым годом!
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄41 7🍾4 4 3👾1