Slide 1

Slide 1 text

AutoValue & Extensions David Tiago Conceição [email protected] twitter.com/davidtiagocon androiddevbr.slack.com @daviddeveloper

Slide 2

Slide 2 text

Hi! bonuz.me

Slide 3

Slide 3 text

Android Dev BR androiddevbr.org slack.androiddevbr.org

Slide 4

Slide 4 text

Value Classes

Slide 5

Slide 5 text

Value Classes

Slide 6

Slide 6 text

Value Classes

Slide 7

Slide 7 text

Value Classes

Slide 8

Slide 8 text

Value Classes

Slide 9

Slide 9 text

AutoValue

Slide 10

Slide 10 text

AutoValue

Slide 11

Slide 11 text

AutoValue

Slide 12

Slide 12 text

AutoValue

Slide 13

Slide 13 text

AutoValue

Slide 14

Slide 14 text

AutoValue.Builder

Slide 15

Slide 15 text

AutoValue.Builder

Slide 16

Slide 16 text

Extensions ● Platform specific ● AutoValue 1.2 ● Custom code processors

Slide 17

Slide 17 text

AutoValue-Parcel

Slide 18

Slide 18 text

AutoValue-Parcel

Slide 19

Slide 19 text

AutoValue-Parcel

Slide 20

Slide 20 text

AutoValue-Parcel

Slide 21

Slide 21 text

AutoValue-Gson

Slide 22

Slide 22 text

AutoValue-Gson

Slide 23

Slide 23 text

AutoValue-Gson

Slide 24

Slide 24 text

Android Extensions ● Moshi ● Cursor ● With ● Redact

Slide 25

Slide 25 text

The bad ● Dex count ● Template class ● Verbose builder ● Extensions changelog

Slide 26

Slide 26 text

Alternatives ● Immutables.org ○ Clean code ○ Values, builders, collections, optionals ○ Jackson, GSON, MongoDB

Slide 27

Slide 27 text

Alternatives ● Project Lombok ○ Boilerplate ○ Generics & Collections ○ .class ○ Complex setup

Slide 28

Slide 28 text

Links ● AutoValue: https://github.com/google/auto/tree/master/value ● AutoValue-Parcel: https://github.com/rharter/auto-value-parcel ● AutoValue-GSON: https://github.com/rharter/auto-value-gson ● AutoValue-Moshi:https://github.com/rharter/auto-value-moshi ● AutoValue-Cursor:https://github.com/gabrielittner/auto-value-cursor ● AutoValue-With:https://github.com/gabrielittner/auto-value-with ● AutoValue-Redacted:https://github.com/square/auto-value-redacted ● AutoValue em aplicativos Android: https://medium.com/android-dev-br/autovalue-em-aplicativos-android-8f37f0005899#.y0hgu2srl ● AutoValue Extensions - Jake Wharton: http://jakewharton.com/auto-value-extensions-ny-android-meetup/ ● Immutables.org: https://immutables.github.io/ ● Project Lombok: https://projectlombok.org/

Slide 29

Slide 29 text

Thank you!