00:01:08 Первое правило: Избегайте жесткого кода • Никогда не пишите жестко закодированные строки в коде. • Это может привести к проблемам при добавлении новых языков. • Рекомендуется использовать плагин Flutter Intl для локализации. 00:04:16 Использование плагина Flutter Intl • Плагин генерирует необходимые файлы и подписывается на изменения. • Юрий объясняет, как добавить плагин и настроить его. • Плагин позволяет легко добавлять и изменять локализованные строки. 00:07:11 Преимущества плагина Flutter Intl • Плагин позволяет централизованно управлять строковыми ресурсами. • Это упрощает процесс добавления новых локализаций. • Юрий подчеркивает важность изначальной локализации приложения. 00:08:18 Заключение • Юрий проверяет работу плагина и демонстрирует его преимущества. • Он подчеркивает, что локализация должна быть заложена на этапе создания проекта. • Юрий завершает видео, подчеркивая важность соблюдения правил при создании Flutter-приложений. 00:09:35 Введение в адаптивные темы • Создание приложения с одной темой, например, светлой. • Добавление темной темы по требованию заказчика. • Не рекомендуется жестко задавать цвета в коде. 00:10:36 Использование пакета "адаптер" • Пакет "адаптер" помогает управлять темами. • Добавление пакета в проект. • Обертывание приложения в виджет "адаптер". 00:11:56 Настройка тем • Добавление параметров для инициализации темы. • Создание файла "темы" для хранения различных тем. • Переопределение цветов для каждой темы. 00:13:50 Пример использования тем • Создание светлой и темной тем. • Установка тем в билдере. • Определение темы в монтировал ап. 00:15:45 Изменение цветов текста • Использование контекста для изменения цветов. • Пример изменения цвета текста в зависимости от темы. • Избегание жесткого кодирования цветов. 00:17:01 Изменение темы на лету • Использование флоу-экшн батона для изменения темы. • Обращение к адаптивной теме через контекст. • Сохранение данных через преференции. 00:19:46 Заключение • Создание тем для различных цветовых схем. • Переопределение цветов текста и других элементов. • Избегание жесткого кодирования цветов в коде. 00:20:33 Создание оберток для библиотек • Рекомендуется создавать свои обертки для библиотек и виджетов, которые вы тянете из Pab. • Пример: использование Flow Action Button из Pab. • Это позволяет избежать проблем с поддержкой и изменениями в библиотеках. 00:21:26 Преимущества создания оберток • Обертки позволяют легко заменять библиотеки без необходимости переписывать весь код. • Пример: замена одного баннера на другой. • Обертки помогают избежать ошибок и упрощают поддержку приложения. 00:22:25 Пример создания обертки • Создание пакета для виджета и создание обертки для Flow Action Button. • Обертка возвращает виджет, что упрощает его использование в приложении. • Пример кода для создания и использования обертки. 00:23:15 Преимущества использования оберток • Обертки защищают от необходимости переписывать код при изменении библиотек. • Пример использования обертки для замены Flow Action Button. • Обертки экономят время и нервы при поддержке и обновлении приложений. 00:24:56 Заключение • Обертки полезны для различных виджетов и библиотек. • Пример с навигационным баром и кнопками.
Все советы можно свести к одному большому совету: минимизируйте в коде все константные подвязки. Код должен быть реализован через промежуточные переменные чтоб в них можно было гибко подставлять нужные значения. ) Любой опытный программист в других языках тоже сталкивается с теми самыми проблемами но в других сферах. Константные привязки которыми ты не можешь управлять нужно выносить за пределы основного кода.
Реализация первых двух правил у вас нарушила третье правило ) Спасибо за видео, отличный формат! Так намного удобнее находить нужную информацию когда она нужна, нежели выковыривать всё из сериалов типа "пишем свой клон %AppName%" в вспоминая "в каком же выпуске я что-то такое видел, в пятой серии или в восьмой". Если вдруг ищите идеи для новых коротких видео, то вот, осмелюсь предложить несколько пожеланий: "как сохранять и загружать настройки своего приложения", "как запустить задачу в отдельном потоке", "Реализация экрана с прокруткой как в Instagram".
Огромное спасибо за видео, очень полезно. Особенно после того как насмотришься всяких индусов на ютубе. Нужно и дальше развивать тему правильных практик и структурирования проектов. Большинство обучающих видео игнорируют эту тему.
Спасибо за видео) Интересно было что же за 3 правила))) Думал в эту тройку попадет тестирование. Очень многие начинающие программисты про тестирования начинают думать не на старте проекта, или даже вообще его не начинают делать, только может думают об этом - "ну сейчас столько работы, потом начну использовать сейчас не до тестирования..."
Здравствуйте, благодарю за отзыв 🤝. По поводу тестирования, да, в ы правы, тестированию не все уделяют должного внимания. Но на это есть объективные причины. Время - это самая главная причина, когда сроки сжаты, и требуется результат, тежеловато объяснить, что тебе нужно время для покрытия кода тестами. Есть конечно техника TDD, но в нынешних условиях это утопия. Но, все таки я бы рекомендовал выделять чуток времени на покрытие хотя бы основных функций (работа с сетью, памятью и т.д.)
09:50 насчет использования AdaptiveTheme - автор не уточняет назначение пакета. Пакет "adaptive_theme" нужен в 1ю очередь только для автоматического выбора между только 2 и не более темами, светлая/темная, в соответствии с Системной темой, выбранной на устройстве. Если Вам надо большее количество тем, то этот пакет Вам не поможет. Вам просто надо будет их подключать к своим страницам при помощи обертки Builder. Если Вам не нужна адаптация под выбранную системную тему (светлая/темная), то вам и этот пакет также не нужен.
@@mr.developer на эту тему есть предложение. Видел на гитхабе репозиторий, где уже выложены 6-7 готовых клонов приложений (внешний вид без функционала вроде). Возможно вам будет проще разобрать готовый код, а не писать с нуля? P.s нашёл репозиторий. Там появилось много нового. Да и в целом было бы интересно услышать разбор такого кода от опытного разработчика) github.com/iampawan/FlutterExampleApps
Я думаю лучше перелопатить весь проект, чем локализацию делать в приложении, в котором она не предусмотрена в ТЗ и вообще никогда не планируется. Тем более это не так долго, ведь это будет копи паст в основном. А если будешь сразу делать - потеряешь время даже если локализации не будет.
Да, сейчас я того же мнения. Слишком дорого выходит траты на локализацию. Сейчас мы делаем специальное расширение, для того чтобы можно было прикрутить локализацию.
Однозначно лайк и подписка! Советы топ! Да, столкнулся я недавно с deprecated easy_localization при переключении флаттера на стабильный канал... пришлось перелопачивать все на нативнй l10n а easy использует формат "appbar.title".tr()... в итоге целый день переписывал код на S.of(context)... 😂 цвета и темы я конечно не хардкодил у меня все в отдельном классе, но чувствую придется еще и темы подключать. p.s. после этого случая с deprecated easy стараюсь не использовать такие "облегчалки"
@@mr.developer блин это мне 5 экранов и к ним 12 файлов с компонентами переписывать... 😱 а перед этим в темах еще разобраться надо будет... мда.. флаттер серьезно учит не говнокодить с самого начала
@@mr.developer Подскажите, если у меня в проекте 2 OutlinedButton разного цвета, определяю я в теме цвет этой кнопки, у второй копирую тему через контекст, как мне при смене темы допустим на черную у второй кнопки менять цвет? Где его определить, проверку где то сделать? (и таких элементов 3 штуки кнопка текст и разделитель и всех по 2 цвета)
Сделайте расширение от Color scheme extension CustomThemeColor on ColorScheme { Color get textColor => brightness == Brightness.light ? Colors.black : Colors.white; } В коде обратитесь: Theme.of(context) .colorSchemе .textColor Она будет вам возвращать цвет текста в зависимости от темы.
При работе с темами очень сложно найти места в material design для кастомизации. Попробуйте решить простую задачку: нужно задать цвет текста в appbar. Решается в 2 строки, но ответ нашел за час поиска в интернете (
на 17 минуте смешно немного было )))) когда тема вроде светлая, а все темное, и это не вызывает вопросов и ... )))) отсюда можно сделать версию 2.1 вывода, стараться не использовать Copy-Paste в проекте )) вообще первые два совета, аплодирую стоя!!! полностью согласен. 3-ий может быть да, не сильно очевидным, паттерн называется декоратор, и действительно если проект будет иметь длительный жизненный цикл это может когда нибудь в будущем очень сильно пригодиться. Не вообще для всего конечно это стоит использовать, но да, если компонент используется многократно, то лучше сделать.
@@mr.developer да, да, не спорю ) просто интересна сама по себе работа мозга оправдывать несоответствие. чисто как феномен. претензий нет, все правильно было. Видео огонь! спасибо за контент.
Привет! Использую в качестве state management`a GetX, но хотелось бы освоить BLoC. Не планируешь случайно записать курс по Блоку? Готов купить курс. Думаю это актуальная тема для новичков.
Всё очень хорошо описано и подробно донесено. Хотел только уточнить, чем плохо стандартное определение темы в MaterialApp. Там насколько я понял тоже есть и dark и light?
Спасибо за видео. Советы интересные ! Хотел узнать, если делаешь быстрый прототип приложения, чтобы проверить идею, целесообразно ли возиться с темами, стилями и делать локализацию в отдельном файле или это у же второй этап когда идея приложения оказалась жизнеспособной?
Здравствуйте, срочный вопрос! В чем отличие ThemeData.dark().copyWith от ThemeData.light().copyWith и как реализовать смену тем в приложении? Заранее спасибо, 14:00
@@mr.developer ещё один вопрос. В файле themes какие имена для цветов я могу использовать? Кроме primaryColor и backgroundColor? Кастомные названия не подходят почему-то
Все пакеты открыты, можно всегда посмотреть на гитхабе. Если, что то нет, пишите свой через платформу, вообще никаких проблем.) Также, можете любой пакет доработать и использовать локально.
Ребят, я новичок в флаттер, всё сделал как автор, но у меня ошибка. NoSuchMethodError: The getter 'app_bar_title' was called on null. Помогите пожалийста.
Эх, видео настолько редко выходят, что я даже забыл его вчера посмотреть. Жаль, что по MVVM видео пока нет, жаль, что Юрий перешёл на flutter. Некоторые компании jetpack compose уже в проде используют.
@@mr.developer я только что попробовал сделать магию из части видео про локализацию. Правда не на базовом, в на своём проекте. После всех кодогенераций в новых файлах (из папки generator) ошибки. А еще приписки в файлах есть что их руками нельзя править. Хз как быть(
@@valerijt4344 я оставил коммент под видосом на ресурс с гайдом, мне помогло, главное однозначно добиться генерации новых строк в классе S в l10n.dart, взятых из .arb файлов локализации, тогда можно будет из любого места в приложении при подключении l10n.dart использовать S и все сгенерившиеся строки
он все и изложил в 5 минут, таймкоды в топе комментов висят, для вас же постарался человек, все обьяснил и показал как делается, найдут же все равно до чего докапаться
Поддержка канала: sobe.ru/na/petrovyuri
Общение в телеграм: t.me/mobile_developing_chat
Канал в телеграм: t.me/mobile_developing
00:01:08
Первое правило: Избегайте жесткого кода
• Никогда не пишите жестко закодированные строки в коде.
• Это может привести к проблемам при добавлении новых языков.
• Рекомендуется использовать плагин Flutter Intl для локализации.
00:04:16
Использование плагина Flutter Intl
• Плагин генерирует необходимые файлы и подписывается на изменения.
• Юрий объясняет, как добавить плагин и настроить его.
• Плагин позволяет легко добавлять и изменять локализованные строки.
00:07:11
Преимущества плагина Flutter Intl
• Плагин позволяет централизованно управлять строковыми ресурсами.
• Это упрощает процесс добавления новых локализаций.
• Юрий подчеркивает важность изначальной локализации приложения.
00:08:18
Заключение
• Юрий проверяет работу плагина и демонстрирует его преимущества.
• Он подчеркивает, что локализация должна быть заложена на этапе создания проекта.
• Юрий завершает видео, подчеркивая важность соблюдения правил при создании Flutter-приложений.
00:09:35
Введение в адаптивные темы
• Создание приложения с одной темой, например, светлой.
• Добавление темной темы по требованию заказчика.
• Не рекомендуется жестко задавать цвета в коде.
00:10:36
Использование пакета "адаптер"
• Пакет "адаптер" помогает управлять темами.
• Добавление пакета в проект.
• Обертывание приложения в виджет "адаптер".
00:11:56
Настройка тем
• Добавление параметров для инициализации темы.
• Создание файла "темы" для хранения различных тем.
• Переопределение цветов для каждой темы.
00:13:50
Пример использования тем
• Создание светлой и темной тем.
• Установка тем в билдере.
• Определение темы в монтировал ап.
00:15:45
Изменение цветов текста
• Использование контекста для изменения цветов.
• Пример изменения цвета текста в зависимости от темы.
• Избегание жесткого кодирования цветов.
00:17:01
Изменение темы на лету
• Использование флоу-экшн батона для изменения темы.
• Обращение к адаптивной теме через контекст.
• Сохранение данных через преференции.
00:19:46
Заключение
• Создание тем для различных цветовых схем.
• Переопределение цветов текста и других элементов.
• Избегание жесткого кодирования цветов в коде.
00:20:33
Создание оберток для библиотек
• Рекомендуется создавать свои обертки для библиотек и виджетов, которые вы тянете из Pab.
• Пример: использование Flow Action Button из Pab.
• Это позволяет избежать проблем с поддержкой и изменениями в библиотеках.
00:21:26
Преимущества создания оберток
• Обертки позволяют легко заменять библиотеки без необходимости переписывать весь код.
• Пример: замена одного баннера на другой.
• Обертки помогают избежать ошибок и упрощают поддержку приложения.
00:22:25
Пример создания обертки
• Создание пакета для виджета и создание обертки для Flow Action Button.
• Обертка возвращает виджет, что упрощает его использование в приложении.
• Пример кода для создания и использования обертки.
00:23:15
Преимущества использования оберток
• Обертки защищают от необходимости переписывать код при изменении библиотек.
• Пример использования обертки для замены Flow Action Button.
• Обертки экономят время и нервы при поддержке и обновлении приложений.
00:24:56
Заключение
• Обертки полезны для различных виджетов и библиотек.
• Пример с навигационным баром и кнопками.
Спасибо бро
Все советы можно свести к одному большому совету: минимизируйте в коде все константные подвязки. Код должен быть реализован через промежуточные переменные чтоб в них можно было гибко подставлять нужные значения. ) Любой опытный программист в других языках тоже сталкивается с теми самыми проблемами но в других сферах. Константные привязки которыми ты не можешь управлять нужно выносить за пределы основного кода.
Это видео в общей сумме сэкономило время на годы жизни
Реализация первых двух правил у вас нарушила третье правило ) Спасибо за видео, отличный формат! Так намного удобнее находить нужную информацию когда она нужна, нежели выковыривать всё из сериалов типа "пишем свой клон %AppName%" в вспоминая "в каком же выпуске я что-то такое видел, в пятой серии или в восьмой".
Если вдруг ищите идеи для новых коротких видео, то вот, осмелюсь предложить несколько пожеланий: "как сохранять и загружать настройки своего приложения", "как запустить задачу в отдельном потоке", "Реализация экрана с прокруткой как в Instagram".
Спасибо, за идеи
И почему нарушило?. Я же говорил, про сторонние библиотеки)
2:15 Локализация
10:13 Темы приложения
20:42 Обертки для виджетов из сторонних пакетов
Спасибо за советы. Третий совет очень понравился.
Спасибо большое за дельные советы джунам, продолжайте в том же духе) Лайк и подписка!
Супер! Спасибо большое! В плейлистах данного канала нашём много годноты)
Благодарю вас за отзыв 🤝
Эти правила в принципе приминимы для любого проекта на любом языке на любом фреймворке. Спасибо огромное!
Спасибо, отличное видео. Жду продолжения видосиков по Флатеру
Благодарю за отзыв 🤝
дельные советы . переосмысливаю свой код )
Огромное спасибо за видео, очень полезно. Особенно после того как насмотришься всяких индусов на ютубе. Нужно и дальше развивать тему правильных практик и структурирования проектов. Большинство обучающих видео игнорируют эту тему.
Благодарю за отзыв 🤝
ахах, про индусов жизааа
Спасибо за видео.Коммент в поддержку!
Спасибо, полезно и понятно ❤
Топ👏 Побольше видосиков 👍
Спасибо за видео) Интересно было что же за 3 правила))) Думал в эту тройку попадет тестирование. Очень многие начинающие программисты про тестирования начинают думать не на старте проекта, или даже вообще его не начинают делать, только может думают об этом - "ну сейчас столько работы, потом начну использовать сейчас не до тестирования..."
Здравствуйте, благодарю за отзыв 🤝. По поводу тестирования, да, в ы правы, тестированию не все уделяют должного внимания. Но на это есть объективные причины. Время - это самая главная причина, когда сроки сжаты, и требуется результат, тежеловато объяснить, что тебе нужно время для покрытия кода тестами. Есть конечно техника TDD, но в нынешних условиях это утопия.
Но, все таки я бы рекомендовал выделять чуток времени на покрытие хотя бы основных функций (работа с сетью, памятью и т.д.)
очень информативный туториал по effective flutter о которых я не знал,хорошая работа!
Благодарю за отзыв 🤝
+100500 👍👍👍👍👍👍 Огромное человеческое спасибо!
Благодарю за отзыв 🤝
Спасибо. Полезно!
09:50 насчет использования AdaptiveTheme - автор не уточняет назначение пакета. Пакет "adaptive_theme" нужен в 1ю очередь только для автоматического выбора между только 2 и не более темами, светлая/темная, в соответствии с Системной темой, выбранной на устройстве. Если Вам надо большее количество тем, то этот пакет Вам не поможет. Вам просто надо будет их подключать к своим страницам при помощи обертки Builder. Если Вам не нужна адаптация под выбранную системную тему (светлая/темная), то вам и этот пакет также не нужен.
👀
искал данную инфу, спасибо!
очень информативно. большое спасибо.
Благодарю за отзыв 🤝
Спасибо огромное!
Благодарю за отзыв 🤝
Спасибо большое! Третий совет вообще топ!
Благодарю за отзыв 🤝
Спасибо за видео) Планируется ли разработка проекта в 2021, по типу клона телеграмм?
Постараюсь)
@@mr.developer на эту тему есть предложение. Видел на гитхабе репозиторий, где уже выложены 6-7 готовых клонов приложений (внешний вид без функционала вроде). Возможно вам будет проще разобрать готовый код, а не писать с нуля?
P.s нашёл репозиторий. Там появилось много нового. Да и в целом было бы интересно услышать разбор такого кода от опытного разработчика)
github.com/iampawan/FlutterExampleApps
Я думаю лучше перелопатить весь проект, чем локализацию делать в приложении, в котором она не предусмотрена в ТЗ и вообще никогда не планируется.
Тем более это не так долго, ведь это будет копи паст в основном. А если будешь сразу делать - потеряешь время даже если локализации не будет.
Да, сейчас я того же мнения. Слишком дорого выходит траты на локализацию. Сейчас мы делаем специальное расширение, для того чтобы можно было прикрутить локализацию.
а у вас нет видео как правильно структурировать проект? Папки и тд какие лучше создавать )
Да, вы правы это интересная тема, наверно сделаю отдельное видео)
@@mr.developer было бы здорово, если бы сделали. Я думаю оно будет очень актуальным для начинающих.
Сотый лайк! Спасибо за видео, очень полезно!
Благодарю за отзыв 🤝
Какой лучше использовать IDE для Flutter Dart ??
Привет, я использую преимущественно Android Studio. Но многие VSCode. Тут дело вкуса.
Однозначно лайк и подписка! Советы топ! Да, столкнулся я недавно с deprecated easy_localization при переключении флаттера на стабильный канал... пришлось перелопачивать все на нативнй l10n а easy использует формат "appbar.title".tr()... в итоге целый день переписывал код на S.of(context)... 😂 цвета и темы я конечно не хардкодил у меня все в отдельном классе, но чувствую придется еще и темы подключать. p.s. после этого случая с deprecated easy стараюсь не использовать такие "облегчалки"
Сочувствую вам), по началу я тоже так делал)
@@mr.developer блин это мне 5 экранов и к ним 12 файлов с компонентами переписывать... 😱 а перед этим в темах еще разобраться надо будет... мда.. флаттер серьезно учит не говнокодить с самого начала
@@mr.developer Подскажите, если у меня в проекте 2 OutlinedButton разного цвета, определяю я в теме цвет этой кнопки, у второй копирую тему через контекст, как мне при смене темы допустим на черную у второй кнопки менять цвет? Где его определить, проверку где то сделать? (и таких элементов 3 штуки кнопка текст и разделитель и всех по 2 цвета)
Сделайте расширение от Color scheme
extension CustomThemeColor on ColorScheme {
Color get textColor =>
brightness == Brightness.light ? Colors.black : Colors.white;
}
В коде обратитесь:
Theme.of(context) .colorSchemе .textColor
Она будет вам возвращать цвет текста в зависимости от темы.
Очень полезное видео, спасибо! А не подскажешь как менять локализацию в интерфейсе, установленную таким образом?
Привет, спасибо), есть специальный метод Theme. set
@@mr.developer а смена локализации это разве тоже самое что смена темы?
А ошибка), S.load
@@mr.developer не совсем понятно, надо пробовать) переключение локализации правильным способом выглядит хорошо)
Сейчас я использую пакет easy_localization
Подскажите, как Вы изучаете Flutter? С чего начать начать...
Здравствуйте, купите книгу по изучению flutter и идите по ней. После прочтения, поставьте сами себе задачу и попробуйте решить ее.
у Анжелы Ю есть неплохой курс для начинающих по флаттеру
При работе с темами очень сложно найти места в material design для кастомизации. Попробуйте решить простую задачку: нужно задать цвет текста в appbar. Решается в 2 строки, но ответ нашел за час поиска в интернете (
👍
на 17 минуте смешно немного было )))) когда тема вроде светлая, а все темное, и это не вызывает вопросов и ... )))) отсюда можно сделать версию 2.1 вывода, стараться не использовать Copy-Paste в проекте )) вообще первые два совета, аплодирую стоя!!! полностью согласен. 3-ий может быть да, не сильно очевидным, паттерн называется декоратор, и действительно если проект будет иметь длительный жизненный цикл это может когда нибудь в будущем очень сильно пригодиться. Не вообще для всего конечно это стоит использовать, но да, если компонент используется многократно, то лучше сделать.
Когда записываешь видео без монтажа, бывает ошибаешься). Главное смысл понятен)
@@mr.developer да, да, не спорю ) просто интересна сама по себе работа мозга оправдывать несоответствие. чисто как феномен. претензий нет, все правильно было. Видео огонь! спасибо за контент.
Спасибо за видео. Вопрос, сколько времени ушло на изучение flutter? Или по другому спрошу, за пол года реально до уровня джуна изучить? Я стартую с 1С
Привет, конечно можно. У вас хороший бекграунд, так, что даже не сомневайтесь 🙂
Привет! Использую в качестве state management`a GetX, но хотелось бы освоить BLoC. Не планируешь случайно записать курс по Блоку? Готов купить курс. Думаю это актуальная тема для новичков.
Привет, хороший выбор. Отдельного курса пока не планирую. Но я пишу пишу на Flutter, и там в конце курса буду использовать блок.
@@mr.developer Я правильно понял, это где игру пишешь?
Да
Я смену темной\светлой темы через ValueLitnable и Hive реализую
Всё очень хорошо описано и подробно донесено. Хотел только уточнить, чем плохо стандартное определение темы в MaterialApp. Там насколько я понял тоже есть и dark и light?
Здравствуйте, да ничем, как вам удобнее.
@@mr.developer понял, спасибо за видео и за плейлист по redux. Очень помогло!
Спасибо очень полезно
Благодарю за отзыв 🤝
Спасибо за видео. Советы интересные ! Хотел узнать, если делаешь быстрый прототип приложения, чтобы проверить идею, целесообразно ли возиться с темами, стилями и делать локализацию в отдельном файле или это у же второй этап когда идея приложения оказалась жизнеспособной?
Привет, все зависит от времени на изготовление прототипа
Здравствуйте, срочный вопрос! В чем отличие ThemeData.dark().copyWith от ThemeData.light().copyWith и как реализовать смену тем в приложении? Заранее спасибо, 14:00
Привет, в первом случае вы перелпределяете тёмную тему, во втором светлую.
Theme.setTheme
@@mr.developer спасибо Вам
@@mr.developer ещё один вопрос. В файле themes какие имена для цветов я могу использовать? Кроме primaryColor и backgroundColor? Кастомные названия не подходят почему-то
Cпасибо, расскажешь как делать адаптивные приложения? когда пишем сразу под 3 платформы мобилки десктоп веб
пока Flutter for web очень далек от идеала
Спойлер:
1. Делайте сразу локализацию
2. Выносите темы
3. Делайте обертки для сторонних виджетов
А продолжение MVVM будет?
Здравствуйте, основные моменты я уже рассказал. Остальное, не так сложно.
круто!
Благодарю за отзыв)
Будут ли видео по нативу?
Здравствуйте, не могу точно сказать
Подскажите, есть ли для Android studio что-то вроде плагин в для Vs code awesome flutter snippets? Не могу найти такое похожее
Здравствуйте, за есть, он так и называется Flutter Snippets
@@mr.developer я его установил, но что-то не могу понять как быстро сгенерировать stateless виджет? в vs code работает, а в АS нет, подскажите?
У меня в студии генерится когда я набираю stl
Покажи пожалуйста как добавить кнопку что бы менять локализацию.
S.load(Locale("en")).whenComplete(() {
// здесь что сделайте
});
Основной посыл ролика - делай то, за что тебе не платят, но когда-нибудь тебе это пригодится. Фишки хорошие, но это если ты знаешь что это тебе надо.
Сейчас многое поменялось, 😁
А на что ты нажимаешь чтобы у тебя вылазили подсказки??
ctrl + space
Добрый день , будут ли на канале выходить видео по типу telegram, только на flutter?
Будет, по крайней мере постараюсь.
Все через пакеты делается. Нет нужного пакета и что получится? А вы качество данных пакетов проверяли? Вдруг через ж написано все?
Все пакеты открыты, можно всегда посмотреть на гитхабе. Если, что то нет, пишите свой через платформу, вообще никаких проблем.) Также, можете любой пакет доработать и использовать локально.
Пушка 🔥🔥🔥
Третий пункт имеет аргументов и смысла
Этому видео почти год), скучаю уже многое поменялось)
firebase_admob уже тоже deprecated
Да, все устарело)
Ребят, я новичок в флаттер, всё сделал как автор, но у меня ошибка. NoSuchMethodError: The getter 'app_bar_title' was called on null. Помогите пожалийста.
Вызываете титле а он null
Эх, видео настолько редко выходят, что я даже забыл его вчера посмотреть.
Жаль, что по MVVM видео пока нет, жаль, что Юрий перешёл на flutter.
Некоторые компании jetpack compose уже в проде используют.
MVVM и во флаттере используется
Нет
Йоу , мужик , я так понимаю, курс по клону телеграмма закончился?
Клон получился?
@@alexandernifanin7366 Та не,я пока что не дошел до конца,просто говорят он баганный
Где ты изучал flutter
Книги, документация, ютуб
@@mr.developer а какие именно можете подсказать
Их очень много разных) Берите любой доступный курс
@@mr.developer ок
Базовые вещи для Android и IOS разработчика. Почему Flutter из коробки это не реализует - очень странно
final kLightTheme = ThemeData.light().copyWith(
👍
Пожалейте вашу клавиатуру :D
Но все же, что за мем про жену?
🙈
кто-то уже побеждал локализацию в VS_code?
Что вы имеете ввиду?
@@mr.developer я только что попробовал сделать магию из части видео про локализацию. Правда не на базовом, в на своём проекте. После всех кодогенераций в новых файлах (из папки generator) ошибки. А еще приписки в файлах есть что их руками нельзя править.
Хз как быть(
@@valerijt4344 я оставил коммент под видосом на ресурс с гайдом, мне помогло, главное однозначно добиться генерации новых строк в классе S в l10n.dart, взятых из .arb файлов локализации, тогда можно будет из любого места в приложении при подключении l10n.dart использовать S и все сгенерившиеся строки
@@trahar спасибо
Зачем префикс "k" везде писать?
Маленькая k по правилам Dart , обозначает константу.
@@mr.developer уже неактуально
адаптив тэм блеать
🤷♂️
Мда
Развел болтологию на 25 минут, хотя это можно было в трех словах за 5 минут рассказать
🤣, так попробуйте расскажите...
он все и изложил в 5 минут, таймкоды в топе комментов висят, для вас же постарался человек, все обьяснил и показал как делается, найдут же все равно до чего докапаться
Благодарю за поддержку 🤝. Такие недовольные всегда будут. Из-за этого и в Российском сегменте очень мало обучающих видео. )
Спасибо большое за дельные советы джунам, продолжайте в том же духе) Лайк и подписка!
Благодарю вас за отзыв, очень приятно ☺️ 🤝