Немультиплатформенные привычки Android-разработки

Sdílet
Vložit
  • čas přidán 29. 07. 2024
  • Алексей Панов делится тем, как Android разработчику начать писать на Kotlin Multiplatform и отучиться от платформенных привычек
    🔗 Каналы "Android Broadcast" taplink.cc/android_broadcast
    ✉️ Написать Кирилл kirill@androidbroadcast.dev
    🔗 Канал Алексея в TG t.me/+1r1oSeZxPuMxZjE6
    🔗 Канал Compose Broadcast в TG t.me/+P5Q4Xrye_uo4NTA6
    🔗 Канал Kotlin Broadcast в TG t.me/+nPKsnmtOE6I5N2Iy
    #kotlin #multiplatform #androiddev #android #программирование #kotlin #КириллРозов #андроид #androidbroadcast
    0:00 Вступление
    0:18 Для кого доклад
    0:38 План
    1:19 Об эксперте
    2:35 Важно!
    2:46 KMP Стек технологий
    11:32 Переход с Java API
    18:01 Переход с Android API
    29:03 Использование Compose
    36:07 Итоговые советы
    37:47 Заключение
  • Věda a technologie

Komentáře • 44

  • @AndroidBroadcast
    @AndroidBroadcast  Před 3 měsíci

    🔗 Каналы "Android Broadcast" taplink.cc/android_broadcast
    🔗 Канал Compose Broadcast в TG t.me/+P5Q4Xrye_uo4NTA6
    🔗 Канал Kotlin Broadcast в TG t.me/+nPKsnmtOE6I5N2Iy

  • @user-gj5rj2ig6i
    @user-gj5rj2ig6i Před 3 měsíci +4

    спасибо за весь ваш контент!

  • @dmitriymitroshin7525
    @dmitriymitroshin7525 Před 3 měsíci +6

    Алексей, спасибо большое за доклад.

  • @Libra7by
    @Libra7by Před 3 měsíci +5

    Много полезной информации. Спасибо.

  • @kaisar.yeldes
    @kaisar.yeldes Před 3 měsíci

    Спасибо за доклад, решил пока не переходить ;)

  • @user-zi8zw3yf2t
    @user-zi8zw3yf2t Před 3 měsíci +2

    А превью для ImageVector завезли чтобы было приемлемо использовать их?

    • @AJIEKC96
      @AJIEKC96 Před 3 měsíci +1

      Ну конкретно для ImageVector нет миниатюры, чтобы сразу посмотреть какая иконка. Но в Compose Preview они вполне себе отображаются

    • @m0rtis-nwo
      @m0rtis-nwo Před 3 měsíci

      Я подозреваю, что это делает плагин к Идее. При чем тут непосредственно KMP? Можно поставить (наверное, не пробовал) поставить плагин от андроид-студии и получить тот же эффект

  • @user-xl5yr1dr4s
    @user-xl5yr1dr4s Před 3 měsíci

    А что на счет PreCompose навигации не сказал? Тоже работа с зависимостями, есть viewmodel

    • @AJIEKC96
      @AJIEKC96 Před 3 měsíci

      Эти навигации появляются как грибы после дождя, не вижу смысла все упоминать, тут насколько вижу просто скопировали API Jetpack Navigation Compose, что не очень хорошо

    • @AndroidBroadcast
      @AndroidBroadcast  Před 3 měsíci

      Навигации всегда так появляются. Кажется сделать простое и универсальное решение невозможно, поэтому и такой лес навигаций

  • @user-ps6mg2eb8u
    @user-ps6mg2eb8u Před 2 měsíci

    В отличии от того же Flutter KMP можно использовать когда в приложении нужны нативные фичи, например работа с блютусом, при этом у KMP высокая производительность. Возникает глупый вопрос, а есть ли кейсы, когда нам подойдёт ИСКЛЮЧИТЕЛЬНО нативная разработка отдельно для iOS и Android вместо KMP? Может ли KMP заменить всю привычную нам сейчас нативную мобильную разработку в будущем ?

    • @AndroidBroadcast
      @AndroidBroadcast  Před 2 měsíci

      Выделить общие части всегда можно. Очень сложно выделить общие части при работе с API специфичным под желехо: медиа процессинг, Bluetooth, доступ к чипам и пр.

    • @allprm
      @allprm Před 2 dny

      Я flutter разработчик и я использовал Bluetooth в проектах, не понимаю в чём у вас там могла быть проблема?

  • @bulatgalimov7677
    @bulatgalimov7677 Před 3 měsíci

    Не в минус, но забавно было слышать про Ktorfit "библиотеку непонятно кто развивает", а в слайде с Decomposе есть упоминание Аркадия, то есть тоже написан одним разработчиком)

    • @AJIEKC96
      @AJIEKC96 Před 3 měsíci +4

      Все так, политика двойных стандартов 😀
      Просто Аркадия я знаю, и это не первая его популярная либ, и есть уверенность, что он ее не забросит, но в случае чего я беру на себя эти риски и буду готов самостоятельно поддерживать эту либу, которую я затащил в проект

    • @AndroidBroadcast
      @AndroidBroadcast  Před 3 měsíci

      Лучше всего смотреть на статистику в Github: активность, когда версии выходили, как много issues и пр

  • @alexanderchip988
    @alexanderchip988 Před 3 měsíci

    Retrofit -> ktor

  • @mrgor4505
    @mrgor4505 Před 3 měsíci +1

    Остаётся вопрос, зачем это всё нужно, если есть Flutter+Dart, который охватывают не только мобильную разработку, но и десктоп.
    Это не слова в небо, я писал и на java, и на kotlin, пока не появился Flutter. Если сейчас встанет вопрос о написании любого приложения, то только Flutter.
    Я понимаю, что для разработки плагинов, нужно будет опускаться до нативного кода и писать на swift и kotlin, но только там, и то всё что может пригодиться, уже написано.

    • @AJIEKC96
      @AJIEKC96 Před 3 měsíci +1

      KMP и Compose тоже прекрасно поддерживают десктоп, поддержка WEB также есть и в KMP и Flutter, но везде ужасная.
      Flutter больше про новые приложения с единым UI здесь и сейчас, а KMP это больше про существующие приложения, в них KMP легко встраивать постепенно в отличие от Flutter, а через годик другой Compose Multiplatform будет ничем не хуже Flutter и тогда уже не понятно, зачем вообще нужен будет Flutter

    • @Polite_person_
      @Polite_person_ Před 3 měsíci

      @@AJIEKC96 Про "годик другой" Алексей Гладков повторяет нам уже как годик другой и все никак. Вот-вот, ща-ща-ща будет, ну вот еще чуть-чуть, допилят то и добавят это и полетим, вот да-да-да уже совсем скоро =) Правда за это время Flutter улетит в космос. А потом, ой, ну не смогла я)

    • @AJIEKC96
      @AJIEKC96 Před 3 měsíci

      @@Polite_person_ Ну поживем увидим, с огромной вероятностью все останется на плаву, так и будут запускать проекты на React Native, Flutter, KMP, нативные, поэтому не вижу смысла тут спорить

    • @Polite_person_
      @Polite_person_ Před 3 měsíci

      @@AJIEKC96 Вот это уже более объективно. Вопрос в том, у кого будет самый жирный кусок пирога.

    • @m0rtis-nwo
      @m0rtis-nwo Před 3 měsíci +3

      Кстати, отличное замечание про кусок пирога. Почему-то Дарт и Флаттер этот кусок так и не отхватили, хотя лет им не мало. И почему-то Гугл не делает Дарт основным языком для Андроида, например. В общем, постановка вопроса "зачем нужно вот это, если есть вот это" сама по себе проигрышна.
      Я, например, в своё время так устал от js, что с огромным нетерпением жду любую технологию, которая позволит ничего не писать на js для браузера.
      В этом смысле KMP для меня сильно предпочтительнее, потому что я обожаю Котлин и его синтаксический сахар (думаю, у меня уже синтаксический кариес).
      Дарт пробовал лет пять назад и он мне тогда не очень зашел, да и времени было немного для нормального в него погружения.
      А на KMP я написал боевое приложение на работе, которое прямо в браузере строит граф. Его можно зумить, перемещать мышкой, перемещать отдельно ноды с сохранением граней и т.д. И мне очень понравилось - и результат, и процесс, и как выглядит код (для меня это важно).

  • @trollberserker1515
    @trollberserker1515 Před 3 měsíci

    Про вьюмодель не понятно ничего. Какие-то компоненты, какие-то сторы, какие-то контейнеры.

    • @AJIEKC96
      @AJIEKC96 Před 3 měsíci

      Почитайте статью на Хабре про "View Model не обязательно наследоваться от ViewModel", там хорошо описан данный способ ухода от наследования

    • @AndroidBroadcast
      @AndroidBroadcast  Před 3 měsíci

      Так это все еще с ViewModel c Android идет

  • @mndtr0
    @mndtr0 Před 3 měsíci

    Актуально ли учить разработку и программирование? Часто слышу в Интернете от различных инженеров-разработчиков и просто людей из индустрии, что не надо на это тратить время, потому что скоро ИИ и нейросети заменят программистов...

    • @AJIEKC96
      @AJIEKC96 Před 3 měsíci +1

      Актуально, никто никого не заменит, а будет больше помощником программиста, но заменит тех, кто не хочет развиваться и меняться в условиях быстро меняющегося мира

    • @mndtr0
      @mndtr0 Před 3 měsíci +1

      @@AJIEKC96 спасибо за ответ, такая позиция помогает сохранять мотивацию во время учёбы!

    • @AndroidBroadcast
      @AndroidBroadcast  Před 3 měsíci

      Пока они заменят вы успеете отучиться и уже начать зарабатывать, а ИИ еще будут законами вставлять палки в колеса чтобы они не лишали людей работы

  • @_velord
    @_velord Před 3 měsíci +4

    Явным лидером является "Decompose"... ахахахахаах
    Ага, щяс будем 3-4 класса писать, чтоб только навигация отработала. Из более менее адекватных там только Voyager

    • @AndroidBroadcast
      @AndroidBroadcast  Před 3 měsíci

      Я тоже удивился но решение популярно, хоть и сложное в использовании

    • @m0rtis-nwo
      @m0rtis-nwo Před 3 měsíci

      Не знаю, я попробовал в одном проекте - мне понрваилось в целом. Там не столько про навигацию, сколько про фича-компонетны и отделение логики от ui.

    • @m0rtis-nwo
      @m0rtis-nwo Před 3 měsíci +1

      Сейчас мельком глянул Voyager. Мне кажется, это затаскивание за уши андроидовских ВьюМодели и Активити в мультиплатформу. Почему, если мне нужна только навигация, мне навязывают подход к построению архитектуры в целом? Так себе план.

  • @_velord
    @_velord Před 3 měsíci +3

    О боже еще один эксперт со своим экспертным мнением о преимуществах великолепной технологии KMP

    • @m0rtis-nwo
      @m0rtis-nwo Před 3 měsíci +11

      Все с нетерпением ждут вашего экспертного мнения на эту тему.

    • @AndroidBroadcast
      @AndroidBroadcast  Před 3 měsíci +1

      Я так понимаю человек в восторге, даже высшие силы благодарит

  • @ruzoompartygmail4273
    @ruzoompartygmail4273 Před 3 měsíci +2

    Очень полезный материал. Спасибо!