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

Ғылым және технология

Алексей Панов делится тем, как 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 Заключение

Пікірлер: 43

  • @AndroidBroadcast
    @AndroidBroadcast3 ай бұрын

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

  • @user-gj5rj2ig6i
    @user-gj5rj2ig6i2 ай бұрын

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

  • @dmitriymitroshin7525
    @dmitriymitroshin75252 ай бұрын

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

  • @Libra7by
    @Libra7by2 ай бұрын

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

  • @kaisar.yeldes
    @kaisar.yeldes2 ай бұрын

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

  • @user-zi8zw3yf2t
    @user-zi8zw3yf2t2 ай бұрын

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

  • @AJIEKC96

    @AJIEKC96

    2 ай бұрын

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

  • @m0rtis-nwo

    @m0rtis-nwo

    2 ай бұрын

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

  • @user-xl5yr1dr4s
    @user-xl5yr1dr4s2 ай бұрын

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

  • @AJIEKC96

    @AJIEKC96

    2 ай бұрын

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

  • @AndroidBroadcast

    @AndroidBroadcast

    2 ай бұрын

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

  • @user-ps6mg2eb8u
    @user-ps6mg2eb8u2 ай бұрын

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

  • @AndroidBroadcast

    @AndroidBroadcast

    2 ай бұрын

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

  • @bulatgalimov7677
    @bulatgalimov76772 ай бұрын

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

  • @AJIEKC96

    @AJIEKC96

    2 ай бұрын

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

  • @AndroidBroadcast

    @AndroidBroadcast

    2 ай бұрын

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

  • @alexanderchip988
    @alexanderchip9882 ай бұрын

    Retrofit -> ktor

  • @AndroidBroadcast

    @AndroidBroadcast

    2 ай бұрын

    Retrofit -> Ktorfit

  • @trollberserker1515
    @trollberserker15152 ай бұрын

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

  • @AJIEKC96

    @AJIEKC96

    2 ай бұрын

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

  • @AndroidBroadcast

    @AndroidBroadcast

    2 ай бұрын

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

  • @mrgor4505
    @mrgor45052 ай бұрын

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

  • @AJIEKC96

    @AJIEKC96

    2 ай бұрын

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

  • @Polite_person_

    @Polite_person_

    2 ай бұрын

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

  • @AJIEKC96

    @AJIEKC96

    2 ай бұрын

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

  • @Polite_person_

    @Polite_person_

    2 ай бұрын

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

  • @m0rtis-nwo

    @m0rtis-nwo

    2 ай бұрын

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

  • @mndtr0
    @mndtr02 ай бұрын

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

  • @AJIEKC96

    @AJIEKC96

    2 ай бұрын

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

  • @mndtr0

    @mndtr0

    2 ай бұрын

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

  • @AndroidBroadcast

    @AndroidBroadcast

    2 ай бұрын

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

  • @_velord
    @_velord2 ай бұрын

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

  • @AndroidBroadcast

    @AndroidBroadcast

    2 ай бұрын

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

  • @m0rtis-nwo

    @m0rtis-nwo

    2 ай бұрын

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

  • @m0rtis-nwo

    @m0rtis-nwo

    2 ай бұрын

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

  • @_velord
    @_velord2 ай бұрын

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

  • @m0rtis-nwo

    @m0rtis-nwo

    2 ай бұрын

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

  • @AndroidBroadcast

    @AndroidBroadcast

    2 ай бұрын

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

  • @ruzoompartygmail4273
    @ruzoompartygmail42732 ай бұрын

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