«Улучшаем жизнь Android-разработчика с Coroutines и ViewModel», Жанибек Маршал

«Улучшаем жизнь Android-разработчика с Coroutines и ViewModel», Жанибек Маршал

Похожие видео

Описание

Процесс разработки становится сложнее с каждым годом, из-за отсутствия единого подхода. Расскажу, как с помощью этих простых библиотек упростить жизнь Android разработчиков и как данный подход помогает снизить порог вхождения в команду Kolesa Group.

Текстовая версия

Первый докладчик jonibek маршал мой коллега тимлид айос разработки и он расскажет. Вам как облегчить жизнь и он расскажет как объекте жизнь android разработчику поехали.

Переносим ну меня представили и сегодняшняя тема я буду рассказывать про так лучше все-таки жизнь разработчика вот этих ежедневных задачах. Нужно решать ваши функционал и решать баг фиксы это все как проще делать и как облегчить жизнь именно тот разочку вот. Меня уже писали но я еще также ведут техничка бог у себя на сайте также всяко:

Пишу в твиттере технически доклады там про наше событий которые происходят казахстане вот и также обращайтесь в 3 гамме можно перейти. Патриком не уронить женщин вот ну и в целом чтобы узнать о сегодняшнем мы рассмотрим как все-таки задача вот мобильные приложения.

Android на то что мы получаем из api какие-нибудь. Данные и это отображаем пользователю и по факту это какой-то выполняет роль fontaine да ну то есть мы как плен цска часть. И взаимодействуем с данным который предоставляется от api и это самое главное то что есть в разработке android ну там есть еще в бизнес кейсы разные.

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

Код ring of dance ну и также. Мы рассмотрим артур и паттерн вен чтобы взаимодействие картинки и как это все уложится в сторону м венах . ну и покажу. Как бы немного такой полезный совет и может быть то что мы столкнулись с при разводке положение колеса крыша market и авто ровно такие вот мини советы:

Может быть ну и посмотрим следующий то есть наше приложение взаимодействовать с объявлениями то есть у нас есть какой-то entity в котором: Есть заголовки текст цена также картинки и ну допустим качество фотографий может быть и адрес ну и дополнительные!

Данные которые мы получаем из api ну и как же это все получить сопи то есть у нас есть такие внешние источники! Данных с которой мы получаем вот ну естественно делаем какой то запрос и получаем ответе ну и по сути это то: Что нам нужно выполнить при разводке но помимо этого нужно все-таки решать.

Разные задачи как допустим у вас есть внутри базы данных все принцы файлы которые мы вас хранится кэширование все всякое разное то есть есть такие вот множество. Таких нюансов которые вам нужно решать при обращении это слой но в этом случае мы конечно.

Же используем при по столь потому я думаю не нужно объяснять это то есть у нас есть посредники между этими обращение данными! И по истории и мы вот это получение говори по истории обращаемся и там решайте.

Вопросы с какой источник все-таки нужно выбрать. Данные вот мы чаще всего было что вот есть ими маркиш там баз данных и ваши внешний источник который.

Является api но давайте объявить интерфейсе по истории!

У нас есть это запрос объявление список но и если мы это выполнен код на стороне. И акте эти фрагменты прямиком то у вас может возникнуть такой этаж и потому что приложение не отвечают только может возникнуть. Если у вас есть обращение к чипе свой globe и как раз таки вот этот вопрос решается именно с помощью котлин картин.

И есть также множество инструментов но конкретно мы рассмотрим кудрин contents и как это все это упрощает жизнь и вот ну и что это.

Такое же картинки сутки это легковесный очень инструмент в котором позволяет вас выполнить а сифон вообще. Как уже говорил ну и он облегчает!

Жизнь мужика вот переключение потоков между главным потоком и фоном где вас все это происходит операции запросов и главном: Где вас отображение вы выполняете но и повседневности вы все-таки решает эти задачи того что вот нужно сходить базу. Там потом база обращение должен быть только фоне главном потоке нужно там обращение рисок view текст ну выставляете такси но и также.

Далее вот то есть есть какой-то ответственность каждого этих потоков но и может быть waxing попросту что а почему!

Же все-таки не рык стенда я думаю что многие из вас к вы использовали xxi поднимите будь то все-таки:

Практике применять алекс и будет интересно ну достаточно многие уже используют ну да даны на no rx и а кто же использовать практике картинки но поменьше. Вот тогда но и мы практикам посмотреть.

Что все такие коротенькие он нам мешает именно ту задачу которую мы хотим но все-таки вопрос такой задается а зачем вы используете.

Rex то есть это же инструмент которые делают до сих пор задачи и либо же не только сифон задачи то есть по факту рыться конечно очень. Удобный то есть он решает свои вопросы того чтобы можно сделать.

Запрос европе и ну перекачать потоки между савской маме и получать! Вот эти там обзоров уведомляется о готовности данный но все-таки rx был не он была изготовлена.

Из для того чтобы обрабатывать стрим данных то есть это все таки больше похож на обработку события которые. Происходят на самом деле экстрималов был разработан нож предоставлено нетфликсом к давным-давно и они это использовали.

Для того чтобы обработать какие-то поток данных которые приходят для обработки из изображение видео стримов и они это все удобным образом. Как-то вот обрабатывать то есть у них есть какого-то потока данных для бородки но он вот это инструмент rx все-таки не предназначен:

Для а сильфонная но коротенький как раз-таки под точен под того чтобы вот вам решать оси х на задаче! То что нужно вот андроид-разработке но и если бы вы писали бы кот именно картинки это запуск переключение.

Ну вообще в целом код кино картинкой выглядел так то есть что тут мы видим есть какой-то.

Код launch это означает что запускается контекст по умолчанию вы можете запускать минут клан потоки. То есть мы указали lounge и все дальше выполняешь вот в этом блоке будет исполняться glam.

Потоки и мы видим что есть vip contex и передаем туда. Без подчас aion это означает что у вас контекст которые есть картинки перемещается?

На ipad и ipod ну где происходят такие тяжеловесные операции и то есть как раз таки наш момент где должны. Выполнять вот такие обращения api в либо истории и мы у нас есть кот которые мы обращаемся в по истории! Для того что получите список объявлений и все и получать что код который написано на картинке?

Красив он и задачи выполнять вот такие небольшим кодом и мы видим что исполнение кода он достаточно простой то есть мы сверху!

Вниз про гоняемся и исполняется что это означает этот он вот где начале было launch далее у нас блоки распускается. Главный поток и мы можем там сделать.

Обращение вьюшки мы пишем название activity фрагмента что вот нужна пила учетом сначала показать прописи то есть утяжка! Крутится и далее мы переходим фон и поток чтобы пока торгуется мы фоне там делаем.

Обращение к api но это тоже не по истории но и всё дальше могут получить данные сбоку и contex возвращается получим данные.

Список объявления и у нас дальше мы можем выполнить кого-то код который ну регулируют эти данные получены? Сторону билан потока чтобы отображает адаптеры ну и вот мы видим. Что турки по цепочке если так исполняется:

The park если мы видим вот такое понятный. Код где наглядно показать выполняется задача разработчика то есть ему нужно вот загрузить. Данные сходить в фон и сел но нужно учитывать еще и сегодня картинки картин скоб и мы как android разработчики ну тут не включаемое.

Срыв да но нужно следить за тем чтобы у вас есть вот с жизни цикла activity фрагменты что он должен жить. Только в рамках этого скоб и есть понятие такое что когда исполняется ваши эти фрагменты и уничтожается то больше. Не должно выполняться никаких операций ну потому что осёл это экран нету больше нету и что-то такое короткий скоб это просто.

Обычный интерфейс который нужно предоставить в контекст котором будет выполняться ваши контексте. На картинке и тут мы придаем что когда. Запускается вообще дефолта и контекст это мы хотим чтобы он исполняться только ныне и вот и тогда:

Получается что ходе ну ключевое слово ночь когда мы вызываем то у вас код будет блоки выполняется. Именно в том контексте который 210 предоставили?

Вот и далее есть джо бы то есть у вас когда выполняете какие-то операции контекстов там против. Это нужно предоставить какой-то работу то есть пока выполняется. Работа мы можем что делать с этим работами но работу можно начать и завершить и когда мы такие рассматриваем жизнь.

Цикла activity то у нас есть он клеить потом конце вызывается он достроен до мы знаем и вот и когда.

Вызывается ondestroy либо же переключается конфигурации стоит и то нам нужно учитывать важность что нужно закрывать вот эти.

Операции чтобы не выполняться лишние дело sti и вот и как это же все таки выглядеть. Наглядным то есть у нас есть список отведения и пользовать нажимать. На кого нет объявлений нa и при переходе ну то есть мы накачаем грузить.

Какие-то дополнительные данные параметры спецификации может быть еще длительные формации которые можно получить рассрочку машины. Вот это все на фоне как бы начинает грузить в контекст мои происходит. Воле контексте загрузка но пока там грузится мы нажали на кнопку назад пропустим и если мы ничего не делаем minox кодом.

Который завершает то у нас твою контекст:

И будет все еще продолжаться запросы и так что ну он выполнить: Запросы но а досыта а кто будет обрабатывать то есть нужно все таки учитывать. Отмену работы и это тоже важно семена вот учитывание работы.

С ценностям вот и нам нужно сделать так чтобы когда мы вернулись? Назад то у нас бы все выполнялся отмены то есть зачем мы объявляли. Вот эту job это всего лишь для того чтобы вы могли удобно вызвать.

Консоль либо же проверять статус ее работы то есть функция консоль? И которая сообщает контексту коротенький о том что все можно дальше не выполнять.

Работу и рикошет ничего не делать и вот и если бы у вас был бы жизнь циклов коробчинского бы там допустим он быстро!

И то все уменьшалась экран мы хотим это остановить. Но и вызываем shopkins и это достаточно. И таким образом мы видим что перед переключение картинки между лучшим и весь.

Контекст ваш после того как вызывается концу картинки остановится только дауд переключение между вот этих контекстов между лучшим. И весь контекст если будет ещё дополнительным место где вас вызываться какие-то.

Операции между перехода контекстов картинки то там тоже будет отменяться то есть он смотрит между такими местами! Когда весь контекст смотрит а нужно ли там дальше продолжать.

Работу не остановился ли там контекст картинки и вот но есть проблема что вот эта история. Которой вы обращаетесь он не знает о том что что такой ваши картинки и как же сообщить в этому выполнении. Запроса или по старинке о том что все вопрос.

Не нужно дальше работать после того же он ушел назад и поэтому нужно отменить и это момент нужно решать именно с помощью. Кучу слова саспенс и в интерфейсе из теорий по истории объявляли там указывается spend ведь таким образом мы говорим. Что это функция которую вызывайте могут быть приостановлены.

Иностранные реализации по истории вы будете проверять на статус и контекстов но и можно дальше. Сообщать вот эти кто-нибудь проверкам то что нужно ли там дальше исполнять код внутри.

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

Ретро хиты для android развозкой ну это всем известная библиотека которая помогает вам обращение! И запас и делать но есть всем нам известно и кварт он которые. Нужно восхищаемся дал он очень удобный ну и создает такие инструменты как картин с плюс retrofit чтобы он позволяет что если мы отменяем!

Картинки то и соответственно эти запросы который? Упал няется автоматически будет завершать если еще все еще продолжается вот эти конечно между очень степи и вот ну то есть. Мы видим что наглядно такие инструмент появляться и нам ну то есть мы подключаем теннесси card with our feet а то даже.

У вас не нужно быть заводится на то что нужно завершать потоки и закрывать ну и далее по подробнее вообще. 5 от самого коротенькие можете на предыдущих слайдах ну доклада. Который рассказываю наш 0 мы это было корп 3 вот может прийти и по qr кодам есть будет интересно дальше.

Вот но еще какие же есть вопросы там при разводке android это еще одна головная? Боль н проблема на самом деле вот то что нужно решать при разводке это имя сохранять состояние у нас могут меняться локализации могут повернуть! Экран и и это те моменты которые происходят при вызове он кафе грешен fingers!

Нужно как-то решить и по факту мы могли бы следует код который исполнялся. Аптеке фрагменте а сифон значит все также. Оставить все больше мы ничего не наделать там запускаем по плану подальше но не так то было.

У android есть такие моменты как что вот все что мы боремся вот при разводке нужно сохранять состояние и мы этот момент. Смешаем с мощью актерском по минскому дом ну и что ж такой?

Я думаю уже многие озвучка уже слышали наслышаны. Но и по факту это все является лишь контейнером для хранения?

Как ведь по переменных данных для того чтобы он переживал изменить конфигурацию ну то есть он также будет существовать пока там аптеке фрагмент перри создается вас те данные. Которые записали в модели будет также лежать.

На днем но если бы у вас был переменная список?

Объявлений который мы загрузили по истории то мы просто лишь объявляем view модули список объявления. И все мы дальше не делал ничего. То для того чтобы сохранять в эту банду ли либо же он сейфе инстанса либо он весь торт это сегодня нужно делать.

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

Объявлять о круть in scope то мы должны это ведь код который. Они то есть есть к будет стоить с копытом но теперь нужно решить именно вопрос как предоставить данные. Который получили в ему дали ну то есть мы переключили вот это при постой реализацию в сторону или моду и нам нужно.

Теперь кого-то сообщить а то что-то нужно отображать данные которые получили себе по истории. Одно из решений конечно может быть это создать кого-то для эндо функцию call back которые мы сообщаем.

Что вот когда мы получили данные давай-ка был отображаем список объявлений такая реализация принципе нужно потребуется еще что пока там аптеке фрагмент из переса сдаться нам нужно!

Заново вызвать call back а потому что у нас уже есть загружен данные нам нужно не обязательно ходить еще раз в сеть мы то есть решать. Какое то вопрос каширования сохранить данные и 2 места появляется вот эти вызовы full dp ну и так же проблема:

В том что реализация этого вершки является именно вот юшка но есть правило что время не должен? Быть на ссылка на вилл нас ранее в моду и поэтому? От как это решается есть лайда ты 0 до то думаю.

Может быть тоже уже использовали кто-то но это по факту является обзор паттерн то есть есть подписчики и таким образом мы горим что вообще. Кто подписывается в моду не знает кто это является свое подписчиками? Мог быть кто угодно только long вас есть за тем чтобы там подписчики уничтожились правильно там не нужно будет писать.

На сосках чтобы когда у вас он бы строить там власть закона уже нету то есть наши activity фрагменты больше. Не суют не существует то он автоматически будет за вас копытом отписку делать ну и мы убрали callback и объявили какой-то life.

Дату в котором мы записываем данным таким образом мы принципе решаем вопросы между wish киви моду для того чтобы ваши данные. Были отображены наставлений ушки вот но и мы показали вот реализацию we мода совершить. Ну и как-то все это привязать именно с картинками как уже говорил?

То что ему то есть свой скот и нужно: Смотреть на то чтобы вот так же перенести вот эта картина с копами то есть мы интерфейс принесем также. Обилием переменной и представим тут же скотт который.

Был ну и джок тоже перенесён канал уничтожается в моду это когда вызывается ondestroy а не ondestroy но он пир по факту больше: Ничего не надо там то есть через самый код который:

Было в аптеке момент мы так он очень таким же образом.

Перенесем но это тоже является какой-то лишним кодом то есть можно все это оптимизировать и такие инструменты android ics появляется для того чтобы: Упростить весь лично вы такие действия до пенсии указали вот такой берете клан туртикс lifecycle и нам больше не нужно заботиться в модуле для. Того чтобы следить за вот эти отмены работу и вот увидим что появляется можете инструментов.

И он решает фото те моменты того чтобы убрать все лишнее. Код который мы не хотим не знать там вот это самый работ примешься того что является картинками.

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

Там от оружием и решается асинхронные задачи ну сек будет то есть по факту? Мы решили вопросами нас того чтобы событий? По которой близко от фишки мы открыли кран и нам нужно как загрузить:

Вот пользователя вот какие то данные но и начались в это был был конечно вот что у нас был бы вот это source это такой быть вопрос! Оправляем и получаем но в итоге том применив эти решение которой есть коротенькие в моду мы видим что есть на стороне. Представлении слоя презентация вот эти моменту что вот вершки обращаются ли modulo с помощью.

Обзор оба молода и выдам ляет им крючков а далее уже слой данных.

Мы имеем репозитории и разные источника данных ну и примерно аж тура выглядит. Так потом грузом конечно между посредником между этими слоями могут появляться domain но это уже подходит чисто артур и можете.

Дальше уже регуляция но данном представлении кабы не важно принципе какой есть аж тура иностранец свое представления. У вас мог быть там также вен но мы видим что почему-то у нас уменьшается подпись. Пан и не нужно будет писать вот эти моменты того что который нужно сохранять состояние.

Конечно был бы was happy to вам также нужно будет тогда решать вопросы вот сохранения так. Что есть конечно вот разные актёры которые но существует и на практике ну принципе. Вот многим озабочен становится более простым при использовании вен и попросите там участников android который канал группа в телеграме но и там запустили.

Тонут участников опроса но и сказать что больше половины довольно принципе они используют активно и вот но и мы так и также. Прочих видим что вот все-таки команде колеса android он был более простой но и подробнее о всех этих аспектов где modulo!

С артур вы можете также посмотреть на предыдущих докладах который?

Был а вот но и самое главное то что сейчас мы посмотрю да вот есть и венах . и с копий картин все что это было: Как бы может быть применить таким образом.

Что вот есть у нас схема такая что у нас есть вершке которая есть ответственость именно за юань то есть мы там решаем отображение стс делаем. Меня какие-то вьюшки x мелки трогаем от и там.

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

Дополнительные материалы

Поделиться или сохранить к себе:
Моя Мотивация