Разделы презентаций


GDG Mobile Meetup Izhevsk, 20/02

Содержание

Навигация в Android с KotlinУпоров ДмитрийРуководитель отдела мобильной разработки, ЦВТ/

Слайды и текст этой презентации

Слайд 1GDG Mobile Meetup
Izhevsk, 20/02

GDG Mobile MeetupIzhevsk, 20/02

Слайд 2Навигация в Android
с Kotlin
Упоров Дмитрий
Руководитель отдела мобильной разработки, ЦВТ
/

Навигация в Android с KotlinУпоров ДмитрийРуководитель отдела мобильной разработки, ЦВТ/

Слайд 3Master-details

Master-details

Слайд 4Java - Junior way

Минусы:
Дублирование, многословность
Неочевиден контракт передачи данных

Java - Junior wayМинусы:Дублирование, многословностьНеочевиден контракт передачи данных

Слайд 5



Java - The way: Factory-method

Java - The way: Factory-method

Слайд 6Плюсы:
Лаконичность вызова
start(this)???
Boilerplate code
Нагрузка статикой, нарушение SR
Минусы:
Неочевидность
Java - The way

Плюсы:Лаконичность вызоваstart(this)???Boilerplate codeНагрузка статикой, нарушение SRМинусы:НеочевидностьJava - The way

Слайд 7Java -> Kotlin

Java -> Kotlin

Слайд 8Java -> Kotlin

Java -> Kotlin

Слайд 9 ̶Н̶̶̶е̶̶̶о̶̶̶ч̶̶̶е̶̶̶в̶̶̶и̶̶̶д̶̶̶н̶̶̶о̶̶̶с̶̶̶т̶̶̶ь̶
Boilerplate code
Нагрузка статикой, нарушение SR

Kotlin - a way

̶Н̶̶̶е̶̶̶о̶̶̶ч̶̶̶е̶̶̶в̶̶̶и̶̶̶д̶̶̶н̶̶̶о̶̶̶с̶̶̶т̶̶̶ь̶Boilerplate codeНагрузка статикой, нарушение SRKotlin - a way

Слайд 10Boilerplate code
̶Н̶а̶г̶р̶у̶з̶к̶а̶ ̶с̶т̶а̶т̶и̶к̶о̶й̶,̶ ̶н̶а̶р̶у̶ш̶е̶н̶и̶е̶ ̶S̶R̶
Kotlin - better way

Boilerplate code ̶Н̶а̶г̶р̶у̶з̶к̶а̶ ̶с̶т̶а̶т̶и̶к̶о̶й̶,̶ ̶н̶а̶р̶у̶ш̶е̶н̶и̶е̶ ̶S̶R̶Kotlin - better way

Слайд 11




Kotlin - better way

Kotlin - better way

Слайд 12Kotlin - better way

Kotlin - better way

Слайд 13Decompiled byte-code:



Kotlin - The best way

Decompiled byte-code:Kotlin - The best way

Слайд 14Intent
delivery
EXTRAS

IntentdeliveryEXTRAS

Слайд 15Parcelable

Parcelable

Слайд 16Model wrapping - pervy’ blin komom

Обертка над каждой моделью:
Плюсы:
Инкапсуляция
Читабельность
Минусы:
Boilerplate
Несколько объектов

одного типа

Model wrapping - pervy’ blin komomОбертка над каждой моделью:Плюсы:ИнкапсуляцияЧитабельностьМинусы:BoilerplateНесколько объектов одного типа

Слайд 17Плюсы:
Единая точка обработки
Расширяемость (ха-ха)
Минусы:
Необходимость расширения
RuntimeException
Неоформляемо
Model wrapping - pervy’ blin komom

Плюсы:Единая точка обработкиРасширяемость (ха-ха)Минусы:Необходимость расширенияRuntimeExceptionНеоформляемоModel wrapping - pervy’ blin komom

Слайд 20КОДОГЕНЕРАЦИЯ!!1! >:D

КОДОГЕНЕРАЦИЯ!!1! >:D

Слайд 22

Model wrapping - Wrong way

Model wrapping - Wrong way

Слайд 23Annotation processor

Annotation processor

Слайд 24
Model wrapping - Wrong way

Model wrapping - Wrong way

Слайд 25Java Mirror API

Java Mirror API

Слайд 26Нет информации о реализованных интерфейсах
Нет ограничения реализации “Или то, или

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

сказать пользователю, что мы хотим от него реализации интерфейса

APT == MirrorAPI != Reflection

Нет информации о реализованных интерфейсахНет ограничения реализации “Или то, или другое”Нет гарантии, что пользователь подставит в аннотацию

Слайд 28
“Используй дженерики..”

“Используй дженерики..”

Слайд 29RuntimeException

Kotlin - Wrapped model getting

RuntimeExceptionKotlin - Wrapped model getting

Слайд 30No way, but...
There is way to avoid RuntimeException?

No way, but...There is way to avoid RuntimeException?

Слайд 31Input
Any?
Serializable
Parcelable

InputAny?SerializableParcelable

Слайд 32



Model wrapping - Kotlin better way

Model wrapping - Kotlin better way

Слайд 33How to filter Serializable or Parcelable?

Перегрузка метода == ограничение всех

параметров одним интерфейсом
Ограничения реализации “Или то, или другое” (невозможно)
2 массива:

Serializable и Parcelable. Ограниченный порядок аргументов
How to filter Serializable or Parcelable?Перегрузка метода == ограничение всех параметров одним интерфейсомОграничения реализации “Или то, или

Слайд 34Model wrapping - Kotlin the best way

Model wrapping - Kotlin the best way

Слайд 35Model wrapping - Kotlin the best way


Model wrapping - Kotlin the best way

Слайд 36Improvements time

Improvements time

Слайд 37Improvements time

Improvements time

Слайд 38

Improvements time

Improvements time

Слайд 39


Improvements time

Improvements time

Слайд 40
Kotlin magic time

Kotlin magic time

Слайд 41
Improvements time

Improvements time

Слайд 42Success!

Success!

Слайд 43Improvements time 2

Improvements time 2

Слайд 44Improvements time 2

Improvements time 2

Слайд 45Success 2!

Success 2!

Слайд 46Improvements time 3 - ArgumentWithKey

Improvements time 3 - ArgumentWithKey

Слайд 47Improvements time 4: Intent.() -> Unit

Improvements time 4: Intent.() -> Unit

Слайд 48Improvements time 5: Other components

Fragment way:
Service way:
to be continued..

Improvements time 5: Other componentsFragment way:Service way:to be continued..

Слайд 51Спасибо за внимание!
Упоров Дмитрий
Руководитель отдела мобильной разработки, ЦВТ
/

Спасибо за внимание!Упоров ДмитрийРуководитель отдела мобильной разработки, ЦВТ/

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика