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

Sdílet
Vložit
  • čas přidán 5. 01. 2021
  • Приветствую 🖐 друзья, в данном видео уроке обсудим три важных правила при создании 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

Komentáře • 158

  • @mr.developer
    @mr.developer  Před 3 lety +2

    Поддержка канала: sobe.ru/na/petrovyuri
    Общение в телеграм: t.me/mobile_developing_chat
    Канал в телеграм: t.me/mobile_developing

  • @AaaBbb-nw7gd
    @AaaBbb-nw7gd Před 3 lety +2

    Спасибо большое за дельные советы джунам, продолжайте в том же духе) Лайк и подписка!

  • @Digger059
    @Digger059 Před 3 lety

    Эти правила в принципе приминимы для любого проекта на любом языке на любом фреймворке. Спасибо огромное!

  • @Mytest437
    @Mytest437 Před 3 lety +8

    Все советы можно свести к одному большому совету: минимизируйте в коде все константные подвязки. Код должен быть реализован через промежуточные переменные чтоб в них можно было гибко подставлять нужные значения. ) Любой опытный программист в других языках тоже сталкивается с теми самыми проблемами но в других сферах. Константные привязки которыми ты не можешь управлять нужно выносить за пределы основного кода.

  • @vafinruslan56
    @vafinruslan56 Před 3 lety +2

    Спасибо, отличное видео. Жду продолжения видосиков по Флатеру

    • @mr.developer
      @mr.developer  Před 3 lety +2

      Благодарю за отзыв 🤝

  • @van-zaam
    @van-zaam Před 3 lety +1

    Спасибо за видео) Интересно было что же за 3 правила))) Думал в эту тройку попадет тестирование. Очень многие начинающие программисты про тестирования начинают думать не на старте проекта, или даже вообще его не начинают делать, только может думают об этом - "ну сейчас столько работы, потом начну использовать сейчас не до тестирования..."

    • @mr.developer
      @mr.developer  Před 3 lety

      Здравствуйте, благодарю за отзыв 🤝. По поводу тестирования, да, в ы правы, тестированию не все уделяют должного внимания. Но на это есть объективные причины. Время - это самая главная причина, когда сроки сжаты, и требуется результат, тежеловато объяснить, что тебе нужно время для покрытия кода тестами. Есть конечно техника TDD, но в нынешних условиях это утопия.
      Но, все таки я бы рекомендовал выделять чуток времени на покрытие хотя бы основных функций (работа с сетью, памятью и т.д.)

  • @rashiddeveloper5995
    @rashiddeveloper5995 Před 3 lety +7

    Топ👏 Побольше видосиков 👍

  • @dizelvinable
    @dizelvinable Před 2 lety

    Супер! Спасибо большое! В плейлистах данного канала нашём много годноты)

    • @mr.developer
      @mr.developer  Před 2 lety +1

      Благодарю вас за отзыв 🤝

  • @sovrinfo
    @sovrinfo Před 3 lety

    Спасибо за видео.Коммент в поддержку!

  • @yauheniprakapenka8095
    @yauheniprakapenka8095 Před 2 lety +1

    Спасибо за советы. Третий совет очень понравился.

  • @cathello2900
    @cathello2900 Před 2 lety +1

    Спасибо. Полезно!

  • @user-im7ir9kk7w
    @user-im7ir9kk7w Před 9 měsíci +1

    Спасибо, полезно и понятно ❤

  • @temurkhan7725
    @temurkhan7725 Před 3 lety

    очень информативный туториал по effective flutter о которых я не знал,хорошая работа!

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Благодарю за отзыв 🤝

  • @tuobraun
    @tuobraun Před 3 lety +3

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

  • @xeno7828
    @xeno7828 Před 2 lety +1

    дельные советы . переосмысливаю свой код )

  • @dotdump284
    @dotdump284 Před 3 lety +2

    Реализация первых двух правил у вас нарушила третье правило ) Спасибо за видео, отличный формат! Так намного удобнее находить нужную информацию когда она нужна, нежели выковыривать всё из сериалов типа "пишем свой клон %AppName%" в вспоминая "в каком же выпуске я что-то такое видел, в пятой серии или в восьмой".
    Если вдруг ищите идеи для новых коротких видео, то вот, осмелюсь предложить несколько пожеланий: "как сохранять и загружать настройки своего приложения", "как запустить задачу в отдельном потоке", "Реализация экрана с прокруткой как в Instagram".

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Спасибо, за идеи

    • @mr.developer
      @mr.developer  Před 3 lety

      И почему нарушило?. Я же говорил, про сторонние библиотеки)

  • @Abdukhalilov
    @Abdukhalilov Před 3 lety

    Спасибо большое! Третий совет вообще топ!

  • @dmitrydyachenko4319
    @dmitrydyachenko4319 Před 3 lety

    Сотый лайк! Спасибо за видео, очень полезно!

  • @cranebird1467
    @cranebird1467 Před 2 lety +1

    Спасибо огромное!

  • @volga_code
    @volga_code Před 2 lety

    искал данную инфу, спасибо!

  • @rus_dos
    @rus_dos Před 2 lety

    очень информативно. большое спасибо.

  • @WolfSkinFull
    @WolfSkinFull Před 2 lety +1

    +100500 👍👍👍👍👍👍 Огромное человеческое спасибо!

  • @user-im1nj9ks3u
    @user-im1nj9ks3u Před 2 lety

    Спасибо очень полезно

  • @Laudanum1ful
    @Laudanum1ful Před 3 lety

    Пушка 🔥🔥🔥

  • @trahar
    @trahar Před 2 lety

    круто!

  • @xeleos
    @xeleos Před 6 měsíci +1

    Я думаю лучше перелопатить весь проект, чем локализацию делать в приложении, в котором она не предусмотрена в ТЗ и вообще никогда не планируется.
    Тем более это не так долго, ведь это будет копи паст в основном. А если будешь сразу делать - потеряешь время даже если локализации не будет.

    • @mr.developer
      @mr.developer  Před 6 měsíci

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

  • @serious_psychologist
    @serious_psychologist Před 3 lety

    на 17 минуте смешно немного было )))) когда тема вроде светлая, а все темное, и это не вызывает вопросов и ... )))) отсюда можно сделать версию 2.1 вывода, стараться не использовать Copy-Paste в проекте )) вообще первые два совета, аплодирую стоя!!! полностью согласен. 3-ий может быть да, не сильно очевидным, паттерн называется декоратор, и действительно если проект будет иметь длительный жизненный цикл это может когда нибудь в будущем очень сильно пригодиться. Не вообще для всего конечно это стоит использовать, но да, если компонент используется многократно, то лучше сделать.

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Когда записываешь видео без монтажа, бывает ошибаешься). Главное смысл понятен)

    • @serious_psychologist
      @serious_psychologist Před 3 lety

      @@mr.developer да, да, не спорю ) просто интересна сама по себе работа мозга оправдывать несоответствие. чисто как феномен. претензий нет, все правильно было. Видео огонь! спасибо за контент.

  • @ein44sam
    @ein44sam Před 3 lety +22

    2:15 Локализация
    10:13 Темы приложения
    20:42 Обертки для виджетов из сторонних пакетов

  • @MxMayers
    @MxMayers Před 3 lety

    Однозначно лайк и подписка! Советы топ! Да, столкнулся я недавно с deprecated easy_localization при переключении флаттера на стабильный канал... пришлось перелопачивать все на нативнй l10n а easy использует формат "appbar.title".tr()... в итоге целый день переписывал код на S.of(context)... 😂 цвета и темы я конечно не хардкодил у меня все в отдельном классе, но чувствую придется еще и темы подключать. p.s. после этого случая с deprecated easy стараюсь не использовать такие "облегчалки"

    • @mr.developer
      @mr.developer  Před 3 lety

      Сочувствую вам), по началу я тоже так делал)

    • @MxMayers
      @MxMayers Před 3 lety

      @@mr.developer блин это мне 5 экранов и к ним 12 файлов с компонентами переписывать... 😱 а перед этим в темах еще разобраться надо будет... мда.. флаттер серьезно учит не говнокодить с самого начала

    • @MxMayers
      @MxMayers Před 3 lety

      @@mr.developer Подскажите, если у меня в проекте 2 OutlinedButton разного цвета, определяю я в теме цвет этой кнопки, у второй копирую тему через контекст, как мне при смене темы допустим на черную у второй кнопки менять цвет? Где его определить, проверку где то сделать? (и таких элементов 3 штуки кнопка текст и разделитель и всех по 2 цвета)

    • @mr.developer
      @mr.developer  Před 3 lety

      Сделайте расширение от Color scheme
      extension CustomThemeColor on ColorScheme {
      Color get textColor =>
      brightness == Brightness.light ? Colors.black : Colors.white;
      }
      В коде обратитесь:
      Theme.of(context) .colorSchemе .textColor
      Она будет вам возвращать цвет текста в зависимости от темы.

  • @mikhailbagrov4398
    @mikhailbagrov4398 Před 2 lety

    Спасибо за видео. Советы интересные ! Хотел узнать, если делаешь быстрый прототип приложения, чтобы проверить идею, целесообразно ли возиться с темами, стилями и делать локализацию в отдельном файле или это у же второй этап когда идея приложения оказалась жизнеспособной?

    • @mr.developer
      @mr.developer  Před 2 lety

      Привет, все зависит от времени на изготовление прототипа

  • @user-iu6yz6ck6h
    @user-iu6yz6ck6h Před 3 lety +4

    Спасибо за видео) Планируется ли разработка проекта в 2021, по типу клона телеграмм?

    • @mr.developer
      @mr.developer  Před 3 lety +4

      Постараюсь)

    • @nolandeinvort9984
      @nolandeinvort9984 Před 3 lety

      @@mr.developer на эту тему есть предложение. Видел на гитхабе репозиторий, где уже выложены 6-7 готовых клонов приложений (внешний вид без функционала вроде). Возможно вам будет проще разобрать готовый код, а не писать с нуля?
      P.s нашёл репозиторий. Там появилось много нового. Да и в целом было бы интересно услышать разбор такого кода от опытного разработчика)
      github.com/iampawan/FlutterExampleApps

  • @dmprog1671
    @dmprog1671 Před rokem +1

    09:50 насчет использования AdaptiveTheme - автор не уточняет назначение пакета. Пакет "adaptive_theme" нужен в 1ю очередь только для автоматического выбора между только 2 и не более темами, светлая/темная, в соответствии с Системной темой, выбранной на устройстве. Если Вам надо большее количество тем, то этот пакет Вам не поможет. Вам просто надо будет их подключать к своим страницам при помощи обертки Builder. Если Вам не нужна адаптация под выбранную системную тему (светлая/темная), то вам и этот пакет также не нужен.

  • @user-il9gs9mt2y
    @user-il9gs9mt2y Před 2 lety +1

    Спасибо за видео. Вопрос, сколько времени ушло на изучение flutter? Или по другому спрошу, за пол года реально до уровня джуна изучить? Я стартую с 1С

    • @mr.developer
      @mr.developer  Před 2 lety +1

      Привет, конечно можно. У вас хороший бекграунд, так, что даже не сомневайтесь 🙂

  • @kolega463
    @kolega463 Před 3 lety

    При работе с темами очень сложно найти места в material design для кастомизации. Попробуйте решить простую задачку: нужно задать цвет текста в appbar. Решается в 2 строки, но ответ нашел за час поиска в интернете (

  • @redbristle
    @redbristle Před 3 lety

    Всё очень хорошо описано и подробно донесено. Хотел только уточнить, чем плохо стандартное определение темы в MaterialApp. Там насколько я понял тоже есть и dark и light?

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Здравствуйте, да ничем, как вам удобнее.

    • @redbristle
      @redbristle Před 3 lety

      @@mr.developer понял, спасибо за видео и за плейлист по redux. Очень помогло!

  • @battle_in
    @battle_in Před 3 lety

    Я смену темной\светлой темы через ValueLitnable и Hive реализую

  • @fidelcastro4028
    @fidelcastro4028 Před 3 lety

    Добрый день , будут ли на канале выходить видео по типу telegram, только на flutter?

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Будет, по крайней мере постараюсь.

  • @volga_code
    @volga_code Před 2 lety +1

    а у вас нет видео как правильно структурировать проект? Папки и тд какие лучше создавать )

    • @mr.developer
      @mr.developer  Před 2 lety +1

      Да, вы правы это интересная тема, наверно сделаю отдельное видео)

    • @volga_code
      @volga_code Před 2 lety +1

      @@mr.developer было бы здорово, если бы сделали. Я думаю оно будет очень актуальным для начинающих.

  • @compas013
    @compas013 Před 2 lety +1

    Очень полезное видео, спасибо! А не подскажешь как менять локализацию в интерфейсе, установленную таким образом?

    • @mr.developer
      @mr.developer  Před 2 lety

      Привет, спасибо), есть специальный метод Theme. set

    • @compas013
      @compas013 Před 2 lety

      @@mr.developer а смена локализации это разве тоже самое что смена темы?

    • @mr.developer
      @mr.developer  Před 2 lety

      А ошибка), S.load

    • @compas013
      @compas013 Před 2 lety

      @@mr.developer не совсем понятно, надо пробовать) переключение локализации правильным способом выглядит хорошо)

    • @mr.developer
      @mr.developer  Před 2 lety +1

      Сейчас я использую пакет easy_localization

  • @user-sv2qy1tx7q
    @user-sv2qy1tx7q Před 3 lety

    Привет! Использую в качестве state management`a GetX, но хотелось бы освоить BLoC. Не планируешь случайно записать курс по Блоку? Готов купить курс. Думаю это актуальная тема для новичков.

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Привет, хороший выбор. Отдельного курса пока не планирую. Но я пишу пишу на Flutter, и там в конце курса буду использовать блок.

    • @user-sv2qy1tx7q
      @user-sv2qy1tx7q Před 3 lety

      @@mr.developer Я правильно понял, это где игру пишешь?

    • @mr.developer
      @mr.developer  Před 3 lety

      Да

  • @Pryby
    @Pryby Před 3 lety

    Подскажите, есть ли для Android studio что-то вроде плагин в для Vs code awesome flutter snippets? Не могу найти такое похожее

    • @mr.developer
      @mr.developer  Před 3 lety

      Здравствуйте, за есть, он так и называется Flutter Snippets

    • @Pryby
      @Pryby Před 3 lety

      @@mr.developer я его установил, но что-то не могу понять как быстро сгенерировать stateless виджет? в vs code работает, а в АS нет, подскажите?

    • @mr.developer
      @mr.developer  Před 3 lety

      У меня в студии генерится когда я набираю stl

  • @mishashins
    @mishashins Před 3 lety

    Основной посыл ролика - делай то, за что тебе не платят, но когда-нибудь тебе это пригодится. Фишки хорошие, но это если ты знаешь что это тебе надо.

    • @mr.developer
      @mr.developer  Před 8 měsíci

      Сейчас многое поменялось, 😁

  • @DartMitai
    @DartMitai Před 3 lety +1

    Cпасибо, расскажешь как делать адаптивные приложения? когда пишем сразу под 3 платформы мобилки десктоп веб

    • @yernarshambayev5246
      @yernarshambayev5246 Před 3 lety +1

      пока Flutter for web очень далек от идеала

  • @yernarshambayev5246
    @yernarshambayev5246 Před 3 lety +1

    Спойлер:
    1. Делайте сразу локализацию
    2. Выносите темы
    3. Делайте обертки для сторонних виджетов

  • @mr.z3813
    @mr.z3813 Před 3 lety +1

    Будут ли видео по нативу?

    • @mr.developer
      @mr.developer  Před 3 lety

      Здравствуйте, не могу точно сказать

  • @darklegend2023
    @darklegend2023 Před 3 lety +1

    А продолжение MVVM будет?

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Здравствуйте, основные моменты я уже рассказал. Остальное, не так сложно.

  • @maxbykov229
    @maxbykov229 Před 2 lety

    Третий пункт имеет аргументов и смысла

    • @mr.developer
      @mr.developer  Před 2 lety

      Этому видео почти год), скучаю уже многое поменялось)

  • @yura-fuckup
    @yura-fuckup Před 2 lety

    По поводу последнего пункта. "Думаю, проблем с пробросом параметров не возникнет." - возникнет ) Как пробросить параметры с одного файла в другой и обратно? Хоть в общих чертах или киньте ссылку, где это понятно кто-то другой рассказал. Если нужно отслеживать состояние, то переносимый виджет вставлять в виджет с состоянием? Поймите, что большая часть вашей аудитории - новички, и этих деталей не хватает для того, чтобы ваши видео могла смотреть аудитория побольше.

    • @mr.developer
      @mr.developer  Před 8 měsíci

      Приму к сведению, спасибо 😊

  • @user-jt6oe1rb3d
    @user-jt6oe1rb3d Před rokem

    Какой лучше использовать IDE для Flutter Dart ??

    • @mr.developer
      @mr.developer  Před rokem

      Привет, я использую преимущественно Android Studio. Но многие VSCode. Тут дело вкуса.

  • @sensornyy
    @sensornyy Před 2 lety

    Здравствуйте, срочный вопрос! В чем отличие ThemeData.dark().copyWith от ThemeData.light().copyWith и как реализовать смену тем в приложении? Заранее спасибо, 14:00

    • @mr.developer
      @mr.developer  Před 2 lety

      Привет, в первом случае вы перелпределяете тёмную тему, во втором светлую.
      Theme.setTheme

    • @sensornyy
      @sensornyy Před 2 lety

      @@mr.developer спасибо Вам

    • @sensornyy
      @sensornyy Před 2 lety

      @@mr.developer ещё один вопрос. В файле themes какие имена для цветов я могу использовать? Кроме primaryColor и backgroundColor? Кастомные названия не подходят почему-то

  • @alisher8802
    @alisher8802 Před 3 lety +1

    Подскажите, как Вы изучаете Flutter? С чего начать начать...

    • @mr.developer
      @mr.developer  Před 3 lety +3

      Здравствуйте, купите книгу по изучению flutter и идите по ней. После прочтения, поставьте сами себе задачу и попробуйте решить ее.

    • @yernarshambayev5246
      @yernarshambayev5246 Před 3 lety +1

      у Анжелы Ю есть неплохой курс для начинающих по флаттеру

  • @yernarshambayev5246
    @yernarshambayev5246 Před 3 lety +2

    final kLightTheme = ThemeData.light().copyWith(

  • @vadymkon
    @vadymkon Před rokem

    А на что ты нажимаешь чтобы у тебя вылазили подсказки??

  • @sno-oze
    @sno-oze Před 3 lety +2

    Эх, видео настолько редко выходят, что я даже забыл его вчера посмотреть.
    Жаль, что по MVVM видео пока нет, жаль, что Юрий перешёл на flutter.
    Некоторые компании jetpack compose уже в проде используют.

  • @ryzel5770
    @ryzel5770 Před 3 lety

    Ребят, я новичок в флаттер, всё сделал как автор, но у меня ошибка. NoSuchMethodError: The getter 'app_bar_title' was called on null. Помогите пожалийста.

    • @mr.developer
      @mr.developer  Před 8 měsíci

      Вызываете титле а он null

  • @breakebrain6893
    @breakebrain6893 Před 2 lety +1

    Покажи пожалуйста как добавить кнопку что бы менять локализацию.

    • @mr.developer
      @mr.developer  Před 2 lety

      S.load(Locale("en")).whenComplete(() {
      // здесь что сделайте
      });

  • @fidelcastro4028
    @fidelcastro4028 Před 3 lety

    Йоу , мужик , я так понимаю, курс по клону телеграмма закончился?

    • @alexandernifanin7366
      @alexandernifanin7366 Před 3 lety

      Клон получился?

    • @fidelcastro4028
      @fidelcastro4028 Před 3 lety +1

      @@alexandernifanin7366 Та не,я пока что не дошел до конца,просто говорят он баганный

  • @user-bj6qt5px3w
    @user-bj6qt5px3w Před 2 lety

    Все через пакеты делается. Нет нужного пакета и что получится? А вы качество данных пакетов проверяли? Вдруг через ж написано все?

    • @mr.developer
      @mr.developer  Před 2 lety

      Все пакеты открыты, можно всегда посмотреть на гитхабе. Если, что то нет, пишите свой через платформу, вообще никаких проблем.) Также, можете любой пакет доработать и использовать локально.

  • @user-zf3eb7tv6s
    @user-zf3eb7tv6s Před 3 lety

    Базовые вещи для Android и IOS разработчика. Почему Flutter из коробки это не реализует - очень странно

  • @asavchuk
    @asavchuk Před 2 lety

    firebase_admob уже тоже deprecated

  • @CorgiBobber
    @CorgiBobber Před 3 lety

    Пожалейте вашу клавиатуру :D

  • @curwalol6466
    @curwalol6466 Před rokem

    Но все же, что за мем про жену?

  • @parvizhojiev8567
    @parvizhojiev8567 Před 3 lety

    Где ты изучал flutter

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Книги, документация, ютуб

    • @parvizhojiev8567
      @parvizhojiev8567 Před 3 lety +1

      @@mr.developer а какие именно можете подсказать

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Их очень много разных) Берите любой доступный курс

    • @parvizhojiev8567
      @parvizhojiev8567 Před 3 lety +1

      @@mr.developer ок

  • @valerijt4344
    @valerijt4344 Před 3 lety

    кто-то уже побеждал локализацию в VS_code?

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Что вы имеете ввиду?

    • @valerijt4344
      @valerijt4344 Před 3 lety

      @@mr.developer я только что попробовал сделать магию из части видео про локализацию. Правда не на базовом, в на своём проекте. После всех кодогенераций в новых файлах (из папки generator) ошибки. А еще приписки в файлах есть что их руками нельзя править.
      Хз как быть(

    • @trahar
      @trahar Před 2 lety

      @@valerijt4344 я оставил коммент под видосом на ресурс с гайдом, мне помогло, главное однозначно добиться генерации новых строк в классе S в l10n.dart, взятых из .arb файлов локализации, тогда можно будет из любого места в приложении при подключении l10n.dart использовать S и все сгенерившиеся строки

    • @valerijt4344
      @valerijt4344 Před 2 lety

      @@trahar спасибо

  • @vladimirgorkov5904
    @vladimirgorkov5904 Před 3 lety

    Зачем префикс "k" везде писать?

    • @mr.developer
      @mr.developer  Před 3 lety

      Маленькая k по правилам Dart , обозначает константу.

    • @trahar
      @trahar Před 2 lety

      ​@@mr.developer уже неактуально

  • @dmitriyaleksandrovich4443

    адаптив тэм блеать

  • @user-tv4kh4pc7s
    @user-tv4kh4pc7s Před 3 lety

    Мда

  • @yernarshambayev5246
    @yernarshambayev5246 Před 3 lety

    Развел болтологию на 25 минут, хотя это можно было в трех словах за 5 минут рассказать

    • @mr.developer
      @mr.developer  Před 3 lety

      🤣, так попробуйте расскажите...

    • @ashestoashes336
      @ashestoashes336 Před 3 lety +1

      он все и изложил в 5 минут, таймкоды в топе комментов висят, для вас же постарался человек, все обьяснил и показал как делается, найдут же все равно до чего докапаться

    • @mr.developer
      @mr.developer  Před 3 lety +1

      Благодарю за поддержку 🤝. Такие недовольные всегда будут. Из-за этого и в Российском сегменте очень мало обучающих видео. )

  • @khurshidddbek
    @khurshidddbek Před 3 lety +3

    Спасибо большое за дельные советы джунам, продолжайте в том же духе) Лайк и подписка!

    • @mr.developer
      @mr.developer  Před 8 měsíci

      Благодарю вас за отзыв, очень приятно ☺️ 🤝