Тёмный

Flutter. 3 важных правила при создании приложения. 

Petrov Yuri
Подписаться 13 тыс.
Просмотров 21 тыс.
50% 1

Приветствую 🖐 друзья, в данном видео уроке обсудим три важных правила при создании Flutter приложения которые лучше не нарушать)
🤝 Поддержка канала:
✅ ВКонтакте: donate_app?mid=-193881724
❗️ Важные ссылки ❗️
1️⃣ Задать вопрос по курсу, скачать иконки, тему для Android Studio можно в группе mobile_developing
2️⃣ Задать вопрос по курсу можно в чате Telegram t.me/mobile_developing_chat
3️⃣ Новости по Flutter t.me/mobile_developing
√ Тэги для поиска:
#flutter #dart #equatable

Опубликовано:

 

5 янв 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 158   
@mr.developer
@mr.developer 3 года назад
Поддержка канала: sobe.ru/na/petrovyuri Общение в телеграм: t.me/mobile_developing_chat Канал в телеграм: t.me/mobile_developing
@Mytest437
@Mytest437 3 года назад
Все советы можно свести к одному большому совету: минимизируйте в коде все константные подвязки. Код должен быть реализован через промежуточные переменные чтоб в них можно было гибко подставлять нужные значения. ) Любой опытный программист в других языках тоже сталкивается с теми самыми проблемами но в других сферах. Константные привязки которыми ты не можешь управлять нужно выносить за пределы основного кода.
@vafinruslan56
@vafinruslan56 3 года назад
Спасибо, отличное видео. Жду продолжения видосиков по Флатеру
@mr.developer
@mr.developer 3 года назад
Благодарю за отзыв 🤝
@rashiddeveloper5995
@rashiddeveloper5995 3 года назад
Топ👏 Побольше видосиков 👍
@Digger059
@Digger059 3 года назад
Эти правила в принципе приминимы для любого проекта на любом языке на любом фреймворке. Спасибо огромное!
@sovrinfo
@sovrinfo 3 года назад
Спасибо за видео.Коммент в поддержку!
@yauheniprakapenka8095
@yauheniprakapenka8095 2 года назад
Спасибо за советы. Третий совет очень понравился.
@cathello2900
@cathello2900 2 года назад
Спасибо. Полезно!
@AaaBbb-nw7gd
@AaaBbb-nw7gd 3 года назад
Спасибо большое за дельные советы джунам, продолжайте в том же духе) Лайк и подписка!
@dizelvinable
@dizelvinable 2 года назад
Супер! Спасибо большое! В плейлистах данного канала нашём много годноты)
@mr.developer
@mr.developer 2 года назад
Благодарю вас за отзыв 🤝
@user-im7ir9kk7w
@user-im7ir9kk7w 8 месяцев назад
Спасибо, полезно и понятно ❤
@ein44sam
@ein44sam 3 года назад
2:15 Локализация 10:13 Темы приложения 20:42 Обертки для виджетов из сторонних пакетов
@Abdukhalilov
@Abdukhalilov 3 года назад
Спасибо большое! Третий совет вообще топ!
@mr.developer
@mr.developer 3 года назад
Благодарю за отзыв 🤝
@xeno7828
@xeno7828 2 года назад
дельные советы . переосмысливаю свой код )
@temurkhan7725
@temurkhan7725 3 года назад
очень информативный туториал по effective flutter о которых я не знал,хорошая работа!
@mr.developer
@mr.developer 3 года назад
Благодарю за отзыв 🤝
@cranebird1467
@cranebird1467 2 года назад
Спасибо огромное!
@mr.developer
@mr.developer 2 года назад
Благодарю за отзыв 🤝
@rus_dos
@rus_dos 2 года назад
очень информативно. большое спасибо.
@mr.developer
@mr.developer 2 года назад
Благодарю за отзыв 🤝
@dmitrydyachenko4319
@dmitrydyachenko4319 3 года назад
Сотый лайк! Спасибо за видео, очень полезно!
@mr.developer
@mr.developer 3 года назад
Благодарю за отзыв 🤝
@volga_code
@volga_code 2 года назад
искал данную инфу, спасибо!
@WolfSkinFull
@WolfSkinFull 2 года назад
+100500 👍👍👍👍👍👍 Огромное человеческое спасибо!
@mr.developer
@mr.developer 2 года назад
Благодарю за отзыв 🤝
@van-zaam
@van-zaam 3 года назад
Спасибо за видео) Интересно было что же за 3 правила))) Думал в эту тройку попадет тестирование. Очень многие начинающие программисты про тестирования начинают думать не на старте проекта, или даже вообще его не начинают делать, только может думают об этом - "ну сейчас столько работы, потом начну использовать сейчас не до тестирования..."
@mr.developer
@mr.developer 3 года назад
Здравствуйте, благодарю за отзыв 🤝. По поводу тестирования, да, в ы правы, тестированию не все уделяют должного внимания. Но на это есть объективные причины. Время - это самая главная причина, когда сроки сжаты, и требуется результат, тежеловато объяснить, что тебе нужно время для покрытия кода тестами. Есть конечно техника TDD, но в нынешних условиях это утопия. Но, все таки я бы рекомендовал выделять чуток времени на покрытие хотя бы основных функций (работа с сетью, памятью и т.д.)
@Laudanum1ful
@Laudanum1ful 3 года назад
Пушка 🔥🔥🔥
@trahar
@trahar 2 года назад
круто!
@mr.developer
@mr.developer 2 года назад
Благодарю за отзыв)
@user-im1nj9ks3u
@user-im1nj9ks3u 2 года назад
Спасибо очень полезно
@mr.developer
@mr.developer 2 года назад
Благодарю за отзыв 🤝
@tuobraun
@tuobraun 3 года назад
Огромное спасибо за видео, очень полезно. Особенно после того как насмотришься всяких индусов на ютубе. Нужно и дальше развивать тему правильных практик и структурирования проектов. Большинство обучающих видео игнорируют эту тему.
@mr.developer
@mr.developer 3 года назад
Благодарю за отзыв 🤝
@arsalanbubeev3582
@arsalanbubeev3582 3 года назад
ахах, про индусов жизааа
@dotdump284
@dotdump284 3 года назад
Реализация первых двух правил у вас нарушила третье правило ) Спасибо за видео, отличный формат! Так намного удобнее находить нужную информацию когда она нужна, нежели выковыривать всё из сериалов типа "пишем свой клон %AppName%" в вспоминая "в каком же выпуске я что-то такое видел, в пятой серии или в восьмой". Если вдруг ищите идеи для новых коротких видео, то вот, осмелюсь предложить несколько пожеланий: "как сохранять и загружать настройки своего приложения", "как запустить задачу в отдельном потоке", "Реализация экрана с прокруткой как в Instagram".
@mr.developer
@mr.developer 3 года назад
Спасибо, за идеи
@mr.developer
@mr.developer 3 года назад
И почему нарушило?. Я же говорил, про сторонние библиотеки)
@xeleos
@xeleos 5 месяцев назад
Я думаю лучше перелопатить весь проект, чем локализацию делать в приложении, в котором она не предусмотрена в ТЗ и вообще никогда не планируется. Тем более это не так долго, ведь это будет копи паст в основном. А если будешь сразу делать - потеряешь время даже если локализации не будет.
@mr.developer
@mr.developer 5 месяцев назад
Да, сейчас я того же мнения. Слишком дорого выходит траты на локализацию. Сейчас мы делаем специальное расширение, для того чтобы можно было прикрутить локализацию.
@mikhailbagrov4398
@mikhailbagrov4398 2 года назад
Спасибо за видео. Советы интересные ! Хотел узнать, если делаешь быстрый прототип приложения, чтобы проверить идею, целесообразно ли возиться с темами, стилями и делать локализацию в отдельном файле или это у же второй этап когда идея приложения оказалась жизнеспособной?
@mr.developer
@mr.developer 2 года назад
Привет, все зависит от времени на изготовление прототипа
@user-iu6yz6ck6h
@user-iu6yz6ck6h 3 года назад
Спасибо за видео) Планируется ли разработка проекта в 2021, по типу клона телеграмм?
@mr.developer
@mr.developer 3 года назад
Постараюсь)
@nolandeinvort9984
@nolandeinvort9984 3 года назад
@@mr.developer на эту тему есть предложение. Видел на гитхабе репозиторий, где уже выложены 6-7 готовых клонов приложений (внешний вид без функционала вроде). Возможно вам будет проще разобрать готовый код, а не писать с нуля? P.s нашёл репозиторий. Там появилось много нового. Да и в целом было бы интересно услышать разбор такого кода от опытного разработчика) github.com/iampawan/FlutterExampleApps
@serious_psychologist
@serious_psychologist 3 года назад
на 17 минуте смешно немного было )))) когда тема вроде светлая, а все темное, и это не вызывает вопросов и ... )))) отсюда можно сделать версию 2.1 вывода, стараться не использовать Copy-Paste в проекте )) вообще первые два совета, аплодирую стоя!!! полностью согласен. 3-ий может быть да, не сильно очевидным, паттерн называется декоратор, и действительно если проект будет иметь длительный жизненный цикл это может когда нибудь в будущем очень сильно пригодиться. Не вообще для всего конечно это стоит использовать, но да, если компонент используется многократно, то лучше сделать.
@mr.developer
@mr.developer 3 года назад
Когда записываешь видео без монтажа, бывает ошибаешься). Главное смысл понятен)
@serious_psychologist
@serious_psychologist 3 года назад
@@mr.developer да, да, не спорю ) просто интересна сама по себе работа мозга оправдывать несоответствие. чисто как феномен. претензий нет, все правильно было. Видео огонь! спасибо за контент.
@user-il9gs9mt2y
@user-il9gs9mt2y 2 года назад
Спасибо за видео. Вопрос, сколько времени ушло на изучение flutter? Или по другому спрошу, за пол года реально до уровня джуна изучить? Я стартую с 1С
@mr.developer
@mr.developer 2 года назад
Привет, конечно можно. У вас хороший бекграунд, так, что даже не сомневайтесь 🙂
@MxMayers
@MxMayers 3 года назад
Однозначно лайк и подписка! Советы топ! Да, столкнулся я недавно с deprecated easy_localization при переключении флаттера на стабильный канал... пришлось перелопачивать все на нативнй l10n а easy использует формат "appbar.title".tr()... в итоге целый день переписывал код на S.of(context)... 😂 цвета и темы я конечно не хардкодил у меня все в отдельном классе, но чувствую придется еще и темы подключать. p.s. после этого случая с deprecated easy стараюсь не использовать такие "облегчалки"
@mr.developer
@mr.developer 3 года назад
Сочувствую вам), по началу я тоже так делал)
@MxMayers
@MxMayers 3 года назад
@@mr.developer блин это мне 5 экранов и к ним 12 файлов с компонентами переписывать... 😱 а перед этим в темах еще разобраться надо будет... мда.. флаттер серьезно учит не говнокодить с самого начала
@MxMayers
@MxMayers 3 года назад
@@mr.developer Подскажите, если у меня в проекте 2 OutlinedButton разного цвета, определяю я в теме цвет этой кнопки, у второй копирую тему через контекст, как мне при смене темы допустим на черную у второй кнопки менять цвет? Где его определить, проверку где то сделать? (и таких элементов 3 штуки кнопка текст и разделитель и всех по 2 цвета)
@mr.developer
@mr.developer 3 года назад
Сделайте расширение от Color scheme extension CustomThemeColor on ColorScheme { Color get textColor => brightness == Brightness.light ? Colors.black : Colors.white; } В коде обратитесь: Theme.of(context) .colorSchemе .textColor Она будет вам возвращать цвет текста в зависимости от темы.
@dmprog1671
@dmprog1671 Год назад
09:50 насчет использования AdaptiveTheme - автор не уточняет назначение пакета. Пакет "adaptive_theme" нужен в 1ю очередь только для автоматического выбора между только 2 и не более темами, светлая/темная, в соответствии с Системной темой, выбранной на устройстве. Если Вам надо большее количество тем, то этот пакет Вам не поможет. Вам просто надо будет их подключать к своим страницам при помощи обертки Builder. Если Вам не нужна адаптация под выбранную системную тему (светлая/темная), то вам и этот пакет также не нужен.
@mr.developer
@mr.developer 7 месяцев назад
👀
@fidelcastro4028
@fidelcastro4028 3 года назад
Добрый день , будут ли на канале выходить видео по типу telegram, только на flutter?
@mr.developer
@mr.developer 3 года назад
Будет, по крайней мере постараюсь.
@redbristle
@redbristle 3 года назад
Всё очень хорошо описано и подробно донесено. Хотел только уточнить, чем плохо стандартное определение темы в MaterialApp. Там насколько я понял тоже есть и dark и light?
@mr.developer
@mr.developer 3 года назад
Здравствуйте, да ничем, как вам удобнее.
@redbristle
@redbristle 3 года назад
@@mr.developer понял, спасибо за видео и за плейлист по redux. Очень помогло!
@kolega463
@kolega463 3 года назад
При работе с темами очень сложно найти места в material design для кастомизации. Попробуйте решить простую задачку: нужно задать цвет текста в appbar. Решается в 2 строки, но ответ нашел за час поиска в интернете (
@mr.developer
@mr.developer 7 месяцев назад
👍
@user-sv2qy1tx7q
@user-sv2qy1tx7q 3 года назад
Привет! Использую в качестве state management`a GetX, но хотелось бы освоить BLoC. Не планируешь случайно записать курс по Блоку? Готов купить курс. Думаю это актуальная тема для новичков.
@mr.developer
@mr.developer 3 года назад
Привет, хороший выбор. Отдельного курса пока не планирую. Но я пишу пишу на Flutter, и там в конце курса буду использовать блок.
@user-sv2qy1tx7q
@user-sv2qy1tx7q 3 года назад
@@mr.developer Я правильно понял, это где игру пишешь?
@mr.developer
@mr.developer 3 года назад
Да
@battle_in
@battle_in 3 года назад
Я смену темной\светлой темы через ValueLitnable и Hive реализую
@volga_code
@volga_code 2 года назад
а у вас нет видео как правильно структурировать проект? Папки и тд какие лучше создавать )
@mr.developer
@mr.developer 2 года назад
Да, вы правы это интересная тема, наверно сделаю отдельное видео)
@volga_code
@volga_code 2 года назад
@@mr.developer было бы здорово, если бы сделали. Я думаю оно будет очень актуальным для начинающих.
@Pryby
@Pryby 3 года назад
Подскажите, есть ли для Android studio что-то вроде плагин в для Vs code awesome flutter snippets? Не могу найти такое похожее
@mr.developer
@mr.developer 3 года назад
Здравствуйте, за есть, он так и называется Flutter Snippets
@Pryby
@Pryby 3 года назад
@@mr.developer я его установил, но что-то не могу понять как быстро сгенерировать stateless виджет? в vs code работает, а в АS нет, подскажите?
@mr.developer
@mr.developer 3 года назад
У меня в студии генерится когда я набираю stl
@DartMitai
@DartMitai 3 года назад
Cпасибо, расскажешь как делать адаптивные приложения? когда пишем сразу под 3 платформы мобилки десктоп веб
@yernarshambayev5246
@yernarshambayev5246 3 года назад
пока Flutter for web очень далек от идеала
@mr.z3813
@mr.z3813 3 года назад
Будут ли видео по нативу?
@mr.developer
@mr.developer 3 года назад
Здравствуйте, не могу точно сказать
@user-jt6oe1rb3d
@user-jt6oe1rb3d Год назад
Какой лучше использовать IDE для Flutter Dart ??
@mr.developer
@mr.developer Год назад
Привет, я использую преимущественно Android Studio. Но многие VSCode. Тут дело вкуса.
@compas013
@compas013 2 года назад
Очень полезное видео, спасибо! А не подскажешь как менять локализацию в интерфейсе, установленную таким образом?
@mr.developer
@mr.developer 2 года назад
Привет, спасибо), есть специальный метод Theme. set
@compas013
@compas013 2 года назад
@@mr.developer а смена локализации это разве тоже самое что смена темы?
@mr.developer
@mr.developer 2 года назад
А ошибка), S.load
@compas013
@compas013 2 года назад
@@mr.developer не совсем понятно, надо пробовать) переключение локализации правильным способом выглядит хорошо)
@mr.developer
@mr.developer 2 года назад
Сейчас я использую пакет easy_localization
@darklegend2023
@darklegend2023 3 года назад
А продолжение MVVM будет?
@mr.developer
@mr.developer 3 года назад
Здравствуйте, основные моменты я уже рассказал. Остальное, не так сложно.
@yernarshambayev5246
@yernarshambayev5246 3 года назад
Спойлер: 1. Делайте сразу локализацию 2. Выносите темы 3. Делайте обертки для сторонних виджетов
@maxbykov229
@maxbykov229 2 года назад
Третий пункт имеет аргументов и смысла
@mr.developer
@mr.developer 2 года назад
Этому видео почти год), скучаю уже многое поменялось)
@sensornyy
@sensornyy 2 года назад
Здравствуйте, срочный вопрос! В чем отличие ThemeData.dark().copyWith от ThemeData.light().copyWith и как реализовать смену тем в приложении? Заранее спасибо, 14:00
@mr.developer
@mr.developer 2 года назад
Привет, в первом случае вы перелпределяете тёмную тему, во втором светлую. Theme.setTheme
@sensornyy
@sensornyy 2 года назад
@@mr.developer спасибо Вам
@sensornyy
@sensornyy 2 года назад
@@mr.developer ещё один вопрос. В файле themes какие имена для цветов я могу использовать? Кроме primaryColor и backgroundColor? Кастомные названия не подходят почему-то
@mishashins
@mishashins 2 года назад
Основной посыл ролика - делай то, за что тебе не платят, но когда-нибудь тебе это пригодится. Фишки хорошие, но это если ты знаешь что это тебе надо.
@mr.developer
@mr.developer 7 месяцев назад
Сейчас многое поменялось, 😁
@alisher8802
@alisher8802 3 года назад
Подскажите, как Вы изучаете Flutter? С чего начать начать...
@mr.developer
@mr.developer 3 года назад
Здравствуйте, купите книгу по изучению flutter и идите по ней. После прочтения, поставьте сами себе задачу и попробуйте решить ее.
@yernarshambayev5246
@yernarshambayev5246 3 года назад
у Анжелы Ю есть неплохой курс для начинающих по флаттеру
@fidelcastro4028
@fidelcastro4028 3 года назад
Йоу , мужик , я так понимаю, курс по клону телеграмма закончился?
@alexandernifanin7366
@alexandernifanin7366 3 года назад
Клон получился?
@fidelcastro4028
@fidelcastro4028 3 года назад
@@alexandernifanin7366 Та не,я пока что не дошел до конца,просто говорят он баганный
@yura-fuckup
@yura-fuckup 2 года назад
По поводу последнего пункта. "Думаю, проблем с пробросом параметров не возникнет." - возникнет ) Как пробросить параметры с одного файла в другой и обратно? Хоть в общих чертах или киньте ссылку, где это понятно кто-то другой рассказал. Если нужно отслеживать состояние, то переносимый виджет вставлять в виджет с состоянием? Поймите, что большая часть вашей аудитории - новички, и этих деталей не хватает для того, чтобы ваши видео могла смотреть аудитория побольше.
@mr.developer
@mr.developer 7 месяцев назад
Приму к сведению, спасибо 😊
@vadymkon
@vadymkon Год назад
А на что ты нажимаешь чтобы у тебя вылазили подсказки??
@mr.developer
@mr.developer 7 месяцев назад
ctrl + space
@breakebrain6893
@breakebrain6893 2 года назад
Покажи пожалуйста как добавить кнопку что бы менять локализацию.
@mr.developer
@mr.developer 2 года назад
S.load(Locale("en")).whenComplete(() { // здесь что сделайте });
@ryzel5770
@ryzel5770 3 года назад
Ребят, я новичок в флаттер, всё сделал как автор, но у меня ошибка. NoSuchMethodError: The getter 'app_bar_title' was called on null. Помогите пожалийста.
@mr.developer
@mr.developer 7 месяцев назад
Вызываете титле а он null
@sno-oze
@sno-oze 3 года назад
Эх, видео настолько редко выходят, что я даже забыл его вчера посмотреть. Жаль, что по MVVM видео пока нет, жаль, что Юрий перешёл на flutter. Некоторые компании jetpack compose уже в проде используют.
@yernarshambayev5246
@yernarshambayev5246 3 года назад
MVVM и во флаттере используется
@mr.developer
@mr.developer 3 года назад
Нет
@user-bj6qt5px3w
@user-bj6qt5px3w 2 года назад
Все через пакеты делается. Нет нужного пакета и что получится? А вы качество данных пакетов проверяли? Вдруг через ж написано все?
@mr.developer
@mr.developer 2 года назад
Все пакеты открыты, можно всегда посмотреть на гитхабе. Если, что то нет, пишите свой через платформу, вообще никаких проблем.) Также, можете любой пакет доработать и использовать локально.
@asavchuk
@asavchuk 2 года назад
firebase_admob уже тоже deprecated
@mr.developer
@mr.developer 2 года назад
Да, все устарело)
@user-zf3eb7tv6s
@user-zf3eb7tv6s 3 года назад
Базовые вещи для Android и IOS разработчика. Почему Flutter из коробки это не реализует - очень странно
@yernarshambayev5246
@yernarshambayev5246 3 года назад
final kLightTheme = ThemeData.light().copyWith(
@mr.developer
@mr.developer 7 месяцев назад
👍
@CorgiBobber
@CorgiBobber 3 года назад
Пожалейте вашу клавиатуру :D
@curwalol6466
@curwalol6466 Год назад
Но все же, что за мем про жену?
@mr.developer
@mr.developer 7 месяцев назад
🙈
@parvizhojiev8567
@parvizhojiev8567 3 года назад
Где ты изучал flutter
@mr.developer
@mr.developer 3 года назад
Книги, документация, ютуб
@parvizhojiev8567
@parvizhojiev8567 3 года назад
@@mr.developer а какие именно можете подсказать
@mr.developer
@mr.developer 3 года назад
Их очень много разных) Берите любой доступный курс
@parvizhojiev8567
@parvizhojiev8567 3 года назад
@@mr.developer ок
@valerijt4344
@valerijt4344 3 года назад
кто-то уже побеждал локализацию в VS_code?
@mr.developer
@mr.developer 3 года назад
Что вы имеете ввиду?
@valerijt4344
@valerijt4344 3 года назад
@@mr.developer я только что попробовал сделать магию из части видео про локализацию. Правда не на базовом, в на своём проекте. После всех кодогенераций в новых файлах (из папки generator) ошибки. А еще приписки в файлах есть что их руками нельзя править. Хз как быть(
@trahar
@trahar 2 года назад
@@valerijt4344 я оставил коммент под видосом на ресурс с гайдом, мне помогло, главное однозначно добиться генерации новых строк в классе S в l10n.dart, взятых из .arb файлов локализации, тогда можно будет из любого места в приложении при подключении l10n.dart использовать S и все сгенерившиеся строки
@valerijt4344
@valerijt4344 2 года назад
@@trahar спасибо
@vladimirgorkov5904
@vladimirgorkov5904 3 года назад
Зачем префикс "k" везде писать?
@mr.developer
@mr.developer 3 года назад
Маленькая k по правилам Dart , обозначает константу.
@trahar
@trahar 2 года назад
​@@mr.developer уже неактуально
@dmitriyaleksandrovich4443
@dmitriyaleksandrovich4443 3 года назад
адаптив тэм блеать
@mr.developer
@mr.developer 7 месяцев назад
🤷‍♂️
@user-tv4kh4pc7s
@user-tv4kh4pc7s 3 года назад
Мда
@yernarshambayev5246
@yernarshambayev5246 3 года назад
Развел болтологию на 25 минут, хотя это можно было в трех словах за 5 минут рассказать
@mr.developer
@mr.developer 3 года назад
🤣, так попробуйте расскажите...
@ashestoashes336
@ashestoashes336 2 года назад
он все и изложил в 5 минут, таймкоды в топе комментов висят, для вас же постарался человек, все обьяснил и показал как делается, найдут же все равно до чего докапаться
@mr.developer
@mr.developer 2 года назад
Благодарю за поддержку 🤝. Такие недовольные всегда будут. Из-за этого и в Российском сегменте очень мало обучающих видео. )
@khurshidddbek
@khurshidddbek 3 года назад
Спасибо большое за дельные советы джунам, продолжайте в том же духе) Лайк и подписка!
@mr.developer
@mr.developer 7 месяцев назад
Благодарю вас за отзыв, очень приятно ☺️ 🤝
Далее
Кошка-ГОНЧАР #шортс #shorts
00:28
Просмотров 1 млн
Он тоже из IKEA 🙀
00:10
Просмотров 287 тыс.