macOS 15 Sequoia
Название было понятно, его зарегистрировали лет 5 назад.
Самая полезная фича - работа с iPhone. Теперь можно вывести экран телефона на macOS. Это максимально полезно для проведения демонстраций заказчику. А еще с помощью этого пуши будут объединяться. Пока не понятно, если мне в телегу прилетит сообщение, он покажет с телефона, с мака или оба?
Наконец-то нормальное позиционирование окон. Не нужно дополнительное приложение для этого. Когда объявляли, я сильно обрадовался этому факту, так как на 4К мониторе не очень удобно с 1-2 окнами.
Приложение Пароли. Пока единственная не сильно понятная для меня фича. Был же старый добрый KeyChain, который норм работал. Зачем?
Оценка - 10 из 10
Название было понятно, его зарегистрировали лет 5 назад.
Самая полезная фича - работа с iPhone. Теперь можно вывести экран телефона на macOS. Это максимально полезно для проведения демонстраций заказчику. А еще с помощью этого пуши будут объединяться. Пока не понятно, если мне в телегу прилетит сообщение, он покажет с телефона, с мака или оба?
Наконец-то нормальное позиционирование окон. Не нужно дополнительное приложение для этого. Когда объявляли, я сильно обрадовался этому факту, так как на 4К мониторе не очень удобно с 1-2 окнами.
Приложение Пароли. Пока единственная не сильно понятная для меня фича. Был же старый добрый KeyChain, который норм работал. Зачем?
Оценка - 10 из 10
И главное обновление - Apple добавляет ИИ в свои системы. Назвали все это Apple Intelligence (сокращенно AI, что прикольно)
Вроде как они тут не используют собственную LLM полноценную, не доросла значит до представления миру, а что-то сложное, связанное с текстом будет делать ChatGPT, причем бесплатно.
Чего полезного - генерация картинок в 3 стилях, основываясь на контексте. Может заглушать пуши, которые сейчас тебе не нужны. Короче говоря, обновленная Siri составит конкуренцию остальным.
Оценка 9 из 10
Вроде как они тут не используют собственную LLM полноценную, не доросла значит до представления миру, а что-то сложное, связанное с текстом будет делать ChatGPT, причем бесплатно.
Чего полезного - генерация картинок в 3 стилях, основываясь на контексте. Может заглушать пуши, которые сейчас тебе не нужны. Короче говоря, обновленная Siri составит конкуренцию остальным.
Оценка 9 из 10
🙏1
Почему я не ставлю Beta-версии для разработчиков? И не буду использовать все, что представила Apple до официального релиза (ну, может что-то одно выберу потом)
Для этого есть несколько причин и все они связаны с личным опытом.
В 2022 году я поставил себе беты на абсолютно все устройства. Но тут возникла проблема, причем большая. Я не смог делать сборки для App Store. Почему:
- Для выкладывания нужен обычный Xcode
- Для обычного Xcode нужна релизная macOS
Поэтому пришлось все ставить и переключаться, когда надо. А места не всегда хватает. Тогда я на 512 гигах сидел.
В прошлом году вроде все нормально было, но переключать 2 Xcode тоже такое себе.
Ну и мой опыт с Android 15, который я описывал в этом году.
Поэтому, я вывел правила:
- Не ставить беты на основные устройства. У меня это iPhone, MacBook и Apple Watch
- Сначала посмотреть обзоры и узнать, какие баги есть и можно ли с ними жить, а уже потом ставить. В идеале подождать публичной беты
- Всегда делать полные бекапы, чтобы не было проблем при откате системы
- Не использовать такие устройства для разработки для экономии времени
Именно поэтому я не ставлю и вам не советую
Для этого есть несколько причин и все они связаны с личным опытом.
В 2022 году я поставил себе беты на абсолютно все устройства. Но тут возникла проблема, причем большая. Я не смог делать сборки для App Store. Почему:
- Для выкладывания нужен обычный Xcode
- Для обычного Xcode нужна релизная macOS
Поэтому пришлось все ставить и переключаться, когда надо. А места не всегда хватает. Тогда я на 512 гигах сидел.
В прошлом году вроде все нормально было, но переключать 2 Xcode тоже такое себе.
Ну и мой опыт с Android 15, который я описывал в этом году.
Поэтому, я вывел правила:
- Не ставить беты на основные устройства. У меня это iPhone, MacBook и Apple Watch
- Сначала посмотреть обзоры и узнать, какие баги есть и можно ли с ними жить, а уже потом ставить. В идеале подождать публичной беты
- Всегда делать полные бекапы, чтобы не было проблем при откате системы
- Не использовать такие устройства для разработки для экономии времени
Именно поэтому я не ставлю и вам не советую
👍2
Пока я работал в Аспирити, мы не применяли Flutter Version Manager. Но сейчас я его наконец-то попробовал.
Скажу так - удобно, мне понравилось. Но минусов все-таки больше.
Когда много проектов, у тебя на компьютере стоит много разных версий Flutter - актуальная и отдельная под каждый проект. Это не удобно для тех, у кого места мало.
Только вот подход "начали разрабатывать на одной версии, на ней и останемся" - точно не мой. Если будут баги фреймворка, которые уже поправили в новых версиях, то нужно будет переходить, а это может сломать приложение. Поэтому апгрейд должен быть постепенный.
Тоже самое и с библиотеками. Всегда нужно стараться держать актуальные версии. Просто иногда люди этого боятся. Боятся, что их код не заведется или перестанет работать. А для кого тогда сводку по изменениям пишут?
Скажу так - удобно, мне понравилось. Но минусов все-таки больше.
Когда много проектов, у тебя на компьютере стоит много разных версий Flutter - актуальная и отдельная под каждый проект. Это не удобно для тех, у кого места мало.
Только вот подход "начали разрабатывать на одной версии, на ней и останемся" - точно не мой. Если будут баги фреймворка, которые уже поправили в новых версиях, то нужно будет переходить, а это может сломать приложение. Поэтому апгрейд должен быть постепенный.
Тоже самое и с библиотеками. Всегда нужно стараться держать актуальные версии. Просто иногда люди этого боятся. Боятся, что их код не заведется или перестанет работать. А для кого тогда сводку по изменениям пишут?
👍1
Forwarded from Flutter. Много
Многомодульность в Flutter
Hola, Amigos! На связи Павел Гершевич, Flutter Team Lead в Amiga. Сегодня расскажу, как создавать большие приложения на Flutter с помощью многомодульности. Также она пригодится в случаях, когда нужно создать набор библиотек и когда общий код должен быть у 2 и более приложений.
У многомодульности есть 2 основных подхода: монорепозиторий и полирепозиторий. Сегодня рассмотрим первый. Кто-то изобретает велосипед, а мы используем готовый пакет Melos.
Для начала нам нужно установить его глобально через консоль.
Далее создаем папку под проект. В ней обязательно должно быть 2 файла:
После этого мы получаем зависимости для всех созданных нами пакетов. Также это сгенерирует файлы
Так у нас появляется наш многомодульный проект на Dart и Flutter.
Поделитесь в чате, в каких многомодульных Flutter-проектах вы участвовали? С какими трудностями встречались?
Hola, Amigos! На связи Павел Гершевич, Flutter Team Lead в Amiga. Сегодня расскажу, как создавать большие приложения на Flutter с помощью многомодульности. Также она пригодится в случаях, когда нужно создать набор библиотек и когда общий код должен быть у 2 и более приложений.
У многомодульности есть 2 основных подхода: монорепозиторий и полирепозиторий. Сегодня рассмотрим первый. Кто-то изобретает велосипед, а мы используем готовый пакет Melos.
Для начала нам нужно установить его глобально через консоль.
dart pub global activate melos
Далее создаем папку под проект. В ней обязательно должно быть 2 файла:
pubspec.yaml
, в котором обозначим название проекта и версию Dart, а также melos.yaml
для настроек монорепозитория. Создаём нужные приложения, пакеты и плагины, в которые будем писать код. Вот примерное расположение папок для 2 приложений:my_project
|— apps
| |— app_1
| |— app_2
|— common
| |— ui_kit
| |— models
|— features
| |— feature_1
| |— feature_2
| |— feature_3
|— melos.yaml
|— pubspec.yaml
|— README.md
pubspec.yaml
name: my_project
environment:
sdk: '>=3.0.0 <4.0.0'
dev_dependencies:
melos: ^6.0.0
melos.yaml
name: my_project
packages:
- apps/**
- common/**
- features/**
После этого мы получаем зависимости для всех созданных нами пакетов. Также это сгенерирует файлы
pubspec_overrides.yaml
, которые нужно не забыть добавить в .gitignore
. Делается это командой:melos bootstrap
Так у нас появляется наш многомодульный проект на Dart и Flutter.
Поделитесь в чате, в каких многомодульных Flutter-проектах вы участвовали? С какими трудностями встречались?
Закончился весенний сезон конференций.
Пришла пора подвести итоги, так как было много всего. А также поставить себе план на осенний сезон, подготовка к которому уже началась.
С февраля по июнь:
- 3 выступления на конференциях
- 2 выступления на публичных митапах
- 3 внутренних митапа еще в Аспирити
- Посещение конференции и митапа как слушатель
Но были 2 отказа - один раз мне отказали и один раз отказался я.
Что-то было в первый раз:
- Первое приглашение спикером на конференцию (на осенний сезон уже получил приглашения)
- Выступление на митапе вне Аспирити, а именно у Тинькофф (уже Т-банк) и KozhinDev
- Выступление с мобильным докладом на конференции без мобильной секции
- Первая поездка в Ульяновск
- Первая конференция без указания компании на бейджике и мерче
Что запомнилось больше всего:
- Аудитории на KozhinDev Meetup и DUMP 2024, это очень круто, что столько человек приходят на мои доклады
- Спикерская тусовка на Стачке в Ульяновске и на Mobius (ну тут стандарт) - если читаете, вы крутые!
- Перелет из Ульяновска в Москву в бизнес-классе, что было очень неожиданно и приятно
- Афтер-пати Яндекса на DUMP, Mobius и особенно на CodeFest, где я забрал Яндекс.Станцию Макс
Что ждет осенью:
- Несколько митапов, как онлайн, так и оффлайн. Скорее всего они все будут публичными
- Много конференций. Уже готовлю темы и доклады как минимум на 4, думаю еще над одной и жду объявления последней
- 2 задумки, о которых вы скоро узнаете
Пришла пора подвести итоги, так как было много всего. А также поставить себе план на осенний сезон, подготовка к которому уже началась.
С февраля по июнь:
- 3 выступления на конференциях
- 2 выступления на публичных митапах
- 3 внутренних митапа еще в Аспирити
- Посещение конференции и митапа как слушатель
Но были 2 отказа - один раз мне отказали и один раз отказался я.
Что-то было в первый раз:
- Первое приглашение спикером на конференцию (на осенний сезон уже получил приглашения)
- Выступление на митапе вне Аспирити, а именно у Тинькофф (уже Т-банк) и KozhinDev
- Выступление с мобильным докладом на конференции без мобильной секции
- Первая поездка в Ульяновск
- Первая конференция без указания компании на бейджике и мерче
Что запомнилось больше всего:
- Аудитории на KozhinDev Meetup и DUMP 2024, это очень круто, что столько человек приходят на мои доклады
- Спикерская тусовка на Стачке в Ульяновске и на Mobius (ну тут стандарт) - если читаете, вы крутые!
- Перелет из Ульяновска в Москву в бизнес-классе, что было очень неожиданно и приятно
- Афтер-пати Яндекса на DUMP, Mobius и особенно на CodeFest, где я забрал Яндекс.Станцию Макс
Что ждет осенью:
- Несколько митапов, как онлайн, так и оффлайн. Скорее всего они все будут публичными
- Много конференций. Уже готовлю темы и доклады как минимум на 4, думаю еще над одной и жду объявления последней
- 2 задумки, о которых вы скоро узнаете
🔥2
Forwarded from Flutter. Много
Hola, Amigos! Недавно прошла главная конференция по мобильной разработке этой весны — Mobius 2024 Spring.
Mobius — техническая конференция для специалистов, связанных с мобильной разработкой: iOS- и Android-разработчиков, архитекторов мобильных приложений, специалистов по DevOps, тестировщиков, тимлидов и руководителей проектов.
Для каждой из платформ спикеры обсуждают как нативную, так и кроссплатформенную разработку. И всё, что «вокруг»: от Swift до систем сборки.
От Amiga на Mobius выступил Павел Гершевич, наш Flutter Team Lead с докладом «Создание indoor-карты здания на Flutter».
Обсудили реализацию интересной задачи — размещение на одном или нескольких экранах внутренней карты здания. Рассказали о подходах и собственном решении с использованием Flutter.
Кроме этого, Павел выступил экспертом у Кирилла Адещенко из РСХБ-Интех на теме «Многомодульное приложение на Flutter» и доказал, что на Flutter можно создавать крупные приложения.
Пока доступны только презентации. Видеозаписями поделимся немного позже!
Пишите в чат, кто был на конференции? Чьи доклады понравились больше всего?
Mobius — техническая конференция для специалистов, связанных с мобильной разработкой: iOS- и Android-разработчиков, архитекторов мобильных приложений, специалистов по DevOps, тестировщиков, тимлидов и руководителей проектов.
Для каждой из платформ спикеры обсуждают как нативную, так и кроссплатформенную разработку. И всё, что «вокруг»: от Swift до систем сборки.
От Amiga на Mobius выступил Павел Гершевич, наш Flutter Team Lead с докладом «Создание indoor-карты здания на Flutter».
Обсудили реализацию интересной задачи — размещение на одном или нескольких экранах внутренней карты здания. Рассказали о подходах и собственном решении с использованием Flutter.
Кроме этого, Павел выступил экспертом у Кирилла Адещенко из РСХБ-Интех на теме «Многомодульное приложение на Flutter» и доказал, что на Flutter можно создавать крупные приложения.
Пока доступны только презентации. Видеозаписями поделимся немного позже!
Пишите в чат, кто был на конференции? Чьи доклады понравились больше всего?
🔥2
Я потихоньку готовлюсь к заключительному этапу апгрейда рабочего места. Оно будет иметь теперь максимальный свой вид. Потом - только апгрейд некоторых устройств редкий будет происходить - ноутбук, монитор и может еще что-то.
Что в заключительном этапе:
- Уже появился новый коврик. Очень крутой
- Я провел апгрейд клавиатуры, пока привыкаю к ней. Расскажу потом что взял.
- Сегодня я заказал вещь, о которой думал около полутора лет. Она очень мне поможет.
- Немного прокачаю свой звук - ко мне уже едет микрофон. Пока временный вариант, на годик, чтобы понять как с этим работать, а потом уже и что-то подороже и профессиональней можно будет приобрести.
Ожидайте пост об этом примерно 10 июля.
Что в заключительном этапе:
- Уже появился новый коврик. Очень крутой
- Я провел апгрейд клавиатуры, пока привыкаю к ней. Расскажу потом что взял.
- Сегодня я заказал вещь, о которой думал около полутора лет. Она очень мне поможет.
- Немного прокачаю свой звук - ко мне уже едет микрофон. Пока временный вариант, на годик, чтобы понять как с этим работать, а потом уже и что-то подороже и профессиональней можно будет приобрести.
Ожидайте пост об этом примерно 10 июля.
🔥1
Я обещал, что будут сюрпризы. Вот и первый из них.
Многие из вас знают о книге “Основы Dart” за авторством Станислава Чернышева. Его постоянно просят сделать книгу по Flutter. Так вот - мы ее пишем!
У нас собралась супер-команда профессионалов:
- Станислав Чернышев - автор канала MADTeacher на YouTube и учебника "Основы Dart".
- Я, Павел Гершевич - Flutter Team Lead в Amiga и соавтор Flutter. Много. Спикер различных конференций и автор канала Flutter Tech-Lead Notes.
- Юрий Петров - Flutter Tech Lead в компании Friflex, автор YouTube и одноименного тг-канала «Мобильный разработчик», а также курсов на платформе Stepik
- Станислав Ильин - Flutter Team Lead в Поток'е. Автор YouTube и одноименного тг-канала "Стас Ильин"
Теперь важная информация про книгу:
✅ За прошедший месяц мы утвердили структуру книги и распределили главы
✅ Свежие материалы книги, прошедшие редактуру, будут выкладываться в курс на Stepik - Основы Flutter (в разработке)
Это позволит нам собирать быструю обратную связь по добавленному материалу и вносить правки
Хочешь принять участие? Предлагай тему сквозного проекта для книги, и если авторскому коллективу она понравится - мы добавим отдельное упоминание в графе с благодарностями.
Если хотите, чтобы книга получилась максимально полезной, ждем лайки и максимальную поддержку сообщества!
Многие из вас знают о книге “Основы Dart” за авторством Станислава Чернышева. Его постоянно просят сделать книгу по Flutter. Так вот - мы ее пишем!
У нас собралась супер-команда профессионалов:
- Станислав Чернышев - автор канала MADTeacher на YouTube и учебника "Основы Dart".
- Я, Павел Гершевич - Flutter Team Lead в Amiga и соавтор Flutter. Много. Спикер различных конференций и автор канала Flutter Tech-Lead Notes.
- Юрий Петров - Flutter Tech Lead в компании Friflex, автор YouTube и одноименного тг-канала «Мобильный разработчик», а также курсов на платформе Stepik
- Станислав Ильин - Flutter Team Lead в Поток'е. Автор YouTube и одноименного тг-канала "Стас Ильин"
Теперь важная информация про книгу:
✅ За прошедший месяц мы утвердили структуру книги и распределили главы
✅ Свежие материалы книги, прошедшие редактуру, будут выкладываться в курс на Stepik - Основы Flutter (в разработке)
Это позволит нам собирать быструю обратную связь по добавленному материалу и вносить правки
Хочешь принять участие? Предлагай тему сквозного проекта для книги, и если авторскому коллективу она понравится - мы добавим отдельное упоминание в графе с благодарностями.
Если хотите, чтобы книга получилась максимально полезной, ждем лайки и максимальную поддержку сообщества!
🔥5🆒2🐳1
Не знаю, в курсе ли вы, но у Flutter получилось сделать запуск по воздуху (без подключения кабелем к компьютеру). Главное, чтобы они были в одной сети.
Возможно, эта фишка вышла уже давно, но попробовал я ее только сейчас, и то случайно. Мне нужно было запустить приложение для одного из докладов, которые готовятся на осень (скоро пойдут анонсы уже) и я вместо эмулятора запустил у себя на iPhone.
Я очень ждал эту фишку, но думал, что она заработает сначала на Android. Теперь ждем и под Android (а может уже и есть способ?)
Возможно, эта фишка вышла уже давно, но попробовал я ее только сейчас, и то случайно. Мне нужно было запустить приложение для одного из докладов, которые готовятся на осень (скоро пойдут анонсы уже) и я вместо эмулятора запустил у себя на iPhone.
Я очень ждал эту фишку, но думал, что она заработает сначала на Android. Теперь ждем и под Android (а может уже и есть способ?)
Спасибо моему студенту Максиму за подсказку, что на Android тоже можно запустить без проводов. Чуть сложнее, чем под iOS (где тупо кнопку нажать), но можно. Ну и на Windows и Linux будет тоже работать.
Что нужно сделать:
- подключаем телефон к той же сети, что и компьютер
- подключаем телефон по кабелю к компьютеру
- вводим в консоль команду
- ищем IP-адрес телефона (Настройки - О телефоне). Нам нужен именно локальный IP
- выполняем команду
- отключаем кабель
Теперь мы можем отлаживать приложение по воздуху
Что нужно сделать:
- подключаем телефон к той же сети, что и компьютер
- подключаем телефон по кабелю к компьютеру
- вводим в консоль команду
adb tcpip 5555
- ищем IP-адрес телефона (Настройки - О телефоне). Нам нужен именно локальный IP
- выполняем команду
adb connect {Наш IP}:5555
- отключаем кабель
Теперь мы можем отлаживать приложение по воздуху
👍3🔥1
Я пропустил очередной чекпоинт по целям на год. Он должен был быть неделю назад. Поэтому подводим итоги:
- Весной выступил на 3 конференциях, на осень пока прошел на одну и готовлюсь еще по трем. Возможно еще на парочку залечу. Цель в 5 выступлений закрою либо в сентябре, либо в октябре
- По пет-проектам интереснее. Я готовлю бомбу и начинаю выделять время на это
- Рост отдела и все для разработки. Так как я покинул Аспирити, то эта цель пока отменяется
- После моего ухода из Аспирити у ребят осталось 2 крутых проекта, а в Amiga я работаю над очень крутым проектом. Но увы, все под NDA. Эта цель выполнена
- Курс в СФУ завершен. Мы выпустили более 100 студентов. Они нереально крутые! Ну и те, кто закончил в этом году университет уже получили свои дипломы о профессиональной переподготовке
- Возвращаю цель о поездке заграницу. Тут все интереснее, скорее всего, это будет ближнее зарубежье
Итого - 2 цели из 5 оставшихся уже достигнуты. Посмотрим, что будет через 3 месяца
- Весной выступил на 3 конференциях, на осень пока прошел на одну и готовлюсь еще по трем. Возможно еще на парочку залечу. Цель в 5 выступлений закрою либо в сентябре, либо в октябре
- По пет-проектам интереснее. Я готовлю бомбу и начинаю выделять время на это
- Рост отдела и все для разработки. Так как я покинул Аспирити, то эта цель пока отменяется
- После моего ухода из Аспирити у ребят осталось 2 крутых проекта, а в Amiga я работаю над очень крутым проектом. Но увы, все под NDA. Эта цель выполнена
- Курс в СФУ завершен. Мы выпустили более 100 студентов. Они нереально крутые! Ну и те, кто закончил в этом году университет уже получили свои дипломы о профессиональной переподготовке
- Возвращаю цель о поездке заграницу. Тут все интереснее, скорее всего, это будет ближнее зарубежье
Итого - 2 цели из 5 оставшихся уже достигнуты. Посмотрим, что будет через 3 месяца
🔥2👍1
Flutter Tech-Lead Notes
Я потихоньку готовлюсь к заключительному этапу апгрейда рабочего места. Оно будет иметь теперь максимальный свой вид. Потом - только апгрейд некоторых устройств редкий будет происходить - ноутбук, монитор и может еще что-то. Что в заключительном этапе: -…
Заключительный этап апгрейда проведен на выходных. Обошлось не без проблем на самом деле.
Как и обещал, подробный рассказ и фото будут завтра, 10 июля
Как и обещал, подробный рассказ и фото будут завтра, 10 июля
👀4
Forwarded from Flutter. Много
Hola, Amigos! На связи Павел Гершевич, Flutter Team Lead в Amiga. Недавно в чате вы спрашивали, в чем разница между go_router и auto_route. Рассказываем!
Сходства
Обе этих библиотеки работают на Navigator 2.0, что дает нам больший контроль над навигацией в наших приложениях. Также часть функционала в них совпадает.
Количество кода
В auto_route мы пишем намного меньше кода, так как используется кодогенерация. Но некоторые не любят ее, поэтому используют GoRouter. Также auto_route позволяет нам напрямую передавать нужные аргументы прямо в Route, не используя дополнительный код.
Разберем на примере вот такого экрана:
Для auto_route у нас будет:
А для go_router:
В следующей части поговорим о количестве багов, вложенной навигации и Route Guards.
А пока на этом всё, пишите в чате, было ли полезно?
Сходства
Обе этих библиотеки работают на Navigator 2.0, что дает нам больший контроль над навигацией в наших приложениях. Также часть функционала в них совпадает.
Количество кода
В auto_route мы пишем намного меньше кода, так как используется кодогенерация. Но некоторые не любят ее, поэтому используют GoRouter. Также auto_route позволяет нам напрямую передавать нужные аргументы прямо в Route, не используя дополнительный код.
Разберем на примере вот такого экрана:
class HomePage extends StatelessWidget {
final String appName;
const HomePage({required this.appName, super.key});
…
}
Для auto_route у нас будет:
AutoRoute(page: HomeRoute.page);
context.router.push(HomeRoute(appName: ‘My App Name’));
А для go_router:
GoRoute(
path: ‘/home’,
builder: (context, state) {
final appName = state.queryParams[‘appName’];
return HomePage(appName: appName);
}
);
GoRouter.of(context).push(‘/home?appName=”My App Name”’);
В следующей части поговорим о количестве багов, вложенной навигации и Route Guards.
А пока на этом всё, пишите в чате, было ли полезно?
👍1
Forwarded from Flutter. Много
Hola, Amigos! На связи Павел Гершевич, Flutter Team Lead в Amiga. Продолжаем рассказывать, в чем разница между go_router и auto_route.
Количество багов и костылей
На личном опыте можем сказать, что с go_router костылей и правок, которых нужно исправлять вручную, всегда больше, чем с auto_route. Да, первые версии могли пропускать кадры при переходах, но со временем это исправили.
Вложенная навигация
В auto_route вложенная навигация устроена намного удобнее, чем в go_router. Так как у нас есть возможность создать дополнительный роутер внутри нашего экрана и переходить внутри него.
Да, go_router поддерживает такое, но настройка будет в разы сложнее.
Route Guards
Настройка guards в go_router делается при настройке самого роутера, а перенаправление — при помощи функции redirect.
В auto_route мы можем создавать именно отдельные Route Guards и присваивать их путям в наших настройках.
Было полезно? Если у вас еще остались вопросы, то пишите в чат.
Количество багов и костылей
На личном опыте можем сказать, что с go_router костылей и правок, которых нужно исправлять вручную, всегда больше, чем с auto_route. Да, первые версии могли пропускать кадры при переходах, но со временем это исправили.
Вложенная навигация
В auto_route вложенная навигация устроена намного удобнее, чем в go_router. Так как у нас есть возможность создать дополнительный роутер внутри нашего экрана и переходить внутри него.
Scaffold(
…
body: AutoRoute(),
…
);
Да, go_router поддерживает такое, но настройка будет в разы сложнее.
Route Guards
Настройка guards в go_router делается при настройке самого роутера, а перенаправление — при помощи функции redirect.
В auto_route мы можем создавать именно отдельные Route Guards и присваивать их путям в наших настройках.
Было полезно? Если у вас еще остались вопросы, то пишите в чат.
👍3
Я тут немного заработался, поэтому с постом про изменения рабочего места запаздываю.
Изменение первое - новая клавиатура. Где-то в апреле у меня начала залипать Apple Magic Keyboard. К маю стало еще хуже, поэтому я стал выбирать. Изначально хотелось что-нибудь из Keychron, но у них были проблемы с доступностью в Красноярске. А выбрал я в итоге NuPhy Air75 первого поколения на красных переключателях. Думаю, расскажэу о ней в отдельном посте.
Изменение второе - микрофон. Так как я не профи в записи всякого, хотя и такие планы есть, плюс на работе жаловались на качество звука во время созвонов, решил купить. Заказывал на Али в официальном магазине производителя. Вместе с ним заказал еще 2 вещи. Про это все тоже в отдельном посте.
Изменение третье - коврик от JugRu Group и Geekboards, который подарили как спикеру на конференции Mobius.
Изменение четвертое - то, о чем я давно думал, но скупился - док-станция для Mac. Мой выбор пал на Ugreen, с которыми я очень давно знаком. Тут тоже нужно будет отдельным постом.
Поэтому ждите сегодня и завтра еще 3 поста про новые девайсы)
Изменение первое - новая клавиатура. Где-то в апреле у меня начала залипать Apple Magic Keyboard. К маю стало еще хуже, поэтому я стал выбирать. Изначально хотелось что-нибудь из Keychron, но у них были проблемы с доступностью в Красноярске. А выбрал я в итоге NuPhy Air75 первого поколения на красных переключателях. Думаю, расскажэу о ней в отдельном посте.
Изменение второе - микрофон. Так как я не профи в записи всякого, хотя и такие планы есть, плюс на работе жаловались на качество звука во время созвонов, решил купить. Заказывал на Али в официальном магазине производителя. Вместе с ним заказал еще 2 вещи. Про это все тоже в отдельном посте.
Изменение третье - коврик от JugRu Group и Geekboards, который подарили как спикеру на конференции Mobius.
Изменение четвертое - то, о чем я давно думал, но скупился - док-станция для Mac. Мой выбор пал на Ugreen, с которыми я очень давно знаком. Тут тоже нужно будет отдельным постом.
Поэтому ждите сегодня и завтра еще 3 поста про новые девайсы)
🔥5😎1
Про клавиатуру.
Кто долго читает мой канал помнит, что я рассказывал уже про то, что у меня их было 2 - Apple Magic Keyboard как основная и механическая Durgod для игр.
Почему я не перешел на Durgod после того, как решил менять клавиатуру? Тут все просто и объясняется тремя причинами - отсутствие раскладки под macOS, слишком высокие клавиши, она проводная. Поэтому это первые три критерия выбора у меня были.
Немного о самом выборе. Под все мои критерии подходит продукция 2 компаний - NuPhy и Keychron (не путать с Keyron). Я долго выбирал модель, в итоге после пары роликов и смотря на скорость доставки я выбрал NuPhy Air75 первого поколения на красных переключателях. Второе было ждать в несколько раз дольше.
Переключатели я тоже выбирал. Между красными и коричневыми. Теперь думаю заказать на всякий случай набор коричневых, так как мне они понравились (в наборе идет по 1 штуки каждого типа). Клавиатура очень крутая, но есть несколько минусов:
- Не хватает кнопки переключения языка, как на клавиатурах от Apple. Сначала я к ней привыкал, теперь привыкаю к ее отсутствию. И даже на самом MacBook я периодически пытаюсь сейчас переключать комбинацией клавиш.
- Не хватает TouchID, который был на прошлой клавиатуре. Поэтому пару-тройку раз в день приходится вводить пароль.
Кто долго читает мой канал помнит, что я рассказывал уже про то, что у меня их было 2 - Apple Magic Keyboard как основная и механическая Durgod для игр.
Почему я не перешел на Durgod после того, как решил менять клавиатуру? Тут все просто и объясняется тремя причинами - отсутствие раскладки под macOS, слишком высокие клавиши, она проводная. Поэтому это первые три критерия выбора у меня были.
Немного о самом выборе. Под все мои критерии подходит продукция 2 компаний - NuPhy и Keychron (не путать с Keyron). Я долго выбирал модель, в итоге после пары роликов и смотря на скорость доставки я выбрал NuPhy Air75 первого поколения на красных переключателях. Второе было ждать в несколько раз дольше.
Переключатели я тоже выбирал. Между красными и коричневыми. Теперь думаю заказать на всякий случай набор коричневых, так как мне они понравились (в наборе идет по 1 штуки каждого типа). Клавиатура очень крутая, но есть несколько минусов:
- Не хватает кнопки переключения языка, как на клавиатурах от Apple. Сначала я к ней привыкал, теперь привыкаю к ее отсутствию. И даже на самом MacBook я периодически пытаюсь сейчас переключать комбинацией клавиш.
- Не хватает TouchID, который был на прошлой клавиатуре. Поэтому пару-тройку раз в день приходится вводить пароль.
🔥1
Про микрофон.
Когда я делал серию постов про мои девайсы и не упомянул про запись звука, а это тоже важно, так как программисты часто участвуют в созвонах и мне как спикеру надо иногда записывать прогоны докладов.
Начну с того чем я пользовался.
В основном это были микрофоны от наушников либо от компьютеров. Первый стационарный микрофон я купил в начале 2022 года. Он был достаточно дешевым (около 3000), но с ним в наборе шли поп-фильтр и пантограф (стойка). Прожил я с ним около полугода, потом у меня появились Airpods Max и я перешел на них. Потом я перешел на микрофон от вебкамеры.
В начале этого года у меня появились беспроводные петлички. Хорошая штука, есть требуется быстро и в полевых условиях что-то записать.
А потом я решился. Заказал на Али 3 вещи у Fifine - микрофон AM8, пантограф BM88 и микшер SC3. Обошлось все в 12000, но это со скидками. Сейчас за эти деньги не купить такой набор.
Скажу сразу - микшер оказался не нужен. Я специально докупал для него кабель XLR, но разницы с подключением по USB-C нет.
Сам микрофон динамический и очень стильный. Качество звука меня потрясло, как будто микро для подкастов от Rode или Shure (на них я посматриваю, может через годик-другой и перейду). Для моих целей он меня полностью устраивает.
А вот пантограф я буду менять скорее всего. У него есть одна проблема - не регулируется нижняя часть по высоте.
Когда я делал серию постов про мои девайсы и не упомянул про запись звука, а это тоже важно, так как программисты часто участвуют в созвонах и мне как спикеру надо иногда записывать прогоны докладов.
Начну с того чем я пользовался.
В основном это были микрофоны от наушников либо от компьютеров. Первый стационарный микрофон я купил в начале 2022 года. Он был достаточно дешевым (около 3000), но с ним в наборе шли поп-фильтр и пантограф (стойка). Прожил я с ним около полугода, потом у меня появились Airpods Max и я перешел на них. Потом я перешел на микрофон от вебкамеры.
В начале этого года у меня появились беспроводные петлички. Хорошая штука, есть требуется быстро и в полевых условиях что-то записать.
А потом я решился. Заказал на Али 3 вещи у Fifine - микрофон AM8, пантограф BM88 и микшер SC3. Обошлось все в 12000, но это со скидками. Сейчас за эти деньги не купить такой набор.
Скажу сразу - микшер оказался не нужен. Я специально докупал для него кабель XLR, но разницы с подключением по USB-C нет.
Сам микрофон динамический и очень стильный. Качество звука меня потрясло, как будто микро для подкастов от Rode или Shure (на них я посматриваю, может через годик-другой и перейду). Для моих целей он меня полностью устраивает.
А вот пантограф я буду менять скорее всего. У него есть одна проблема - не регулируется нижняя часть по высоте.
🔥3
Сегодня расскажу про последнюю мою покупку для рабочего места - док-станцию
Я давно хотел себе на стол поставить хорошую док-станцию с большим количеством портов. Долго искал, смотрел все варианты, но они были очень дорогими. В итоге от того, что используют в Европе и США - TS4 - я отказался, так как тратить 400 долларов, не считая доставки из Штатов, не хотелось.
А когда заказывал микрофон подвернулась и станция от Ugreen. Да, это можно сказать минимальная версия - 3 USB-C (один для подключения зарядки, другой для подключения ноута, третий - для всего, что угодно), 3 USB-A, кард-ридер, Ethernet, 2 HDMI, DisplayPort и порт под наушники. Все это в наборе с 2 кабелями USB-C - USB-C и блоком питания GaN на 100 Вт.
После этого я попробовал сделать подключение одним кабелем к MacBook. Все подключил, только была проблема с монитором, но и ее решил простой заменой кабеля HDMI. Вылезла еще одна - регулировать звук только через сам монитор. Специальная программа помогла. Вроде должно быть и все, но не тут то было. Сижу, работаю и в какой-то момент все гаснет. Просто MacBook сел в 0. Пришлось оставаться на 2 кабелях - один от монитора, другой от док-станции.
Я давно хотел себе на стол поставить хорошую док-станцию с большим количеством портов. Долго искал, смотрел все варианты, но они были очень дорогими. В итоге от того, что используют в Европе и США - TS4 - я отказался, так как тратить 400 долларов, не считая доставки из Штатов, не хотелось.
А когда заказывал микрофон подвернулась и станция от Ugreen. Да, это можно сказать минимальная версия - 3 USB-C (один для подключения зарядки, другой для подключения ноута, третий - для всего, что угодно), 3 USB-A, кард-ридер, Ethernet, 2 HDMI, DisplayPort и порт под наушники. Все это в наборе с 2 кабелями USB-C - USB-C и блоком питания GaN на 100 Вт.
После этого я попробовал сделать подключение одним кабелем к MacBook. Все подключил, только была проблема с монитором, но и ее решил простой заменой кабеля HDMI. Вылезла еще одна - регулировать звук только через сам монитор. Специальная программа помогла. Вроде должно быть и все, но не тут то было. Сижу, работаю и в какой-то момент все гаснет. Просто MacBook сел в 0. Пришлось оставаться на 2 кабелях - один от монитора, другой от док-станции.
🔥2🆒1