implementation "com.deliveroo.android:ui-kit:1.0.1"a
./gradlew assembleRelease artifactoryPublish
A private Maven repository for Android in 30 min
Jeroen Mols
Styles
+ Easy to setup
+ Easy to extend
- Less consistency
- Might be restrictive
Custom Views
+ Full control
+ Decide properties
and restrictions
- Harder to extend
⚖
var type: Type = Type.PRIMARY
set(value) {
field = value
updateColours()
}
var text: CharSequence?
get() = textView.text
set(value) {
textView.text = value
}
button.type = UiKitButton.Type.PRIMARY
button.text = "Hello Android Makers”
Slide 57
Slide 57 text
Forces consistency
Simplifies the component
Slide 58
Slide 58 text
Forces consistency
Simplifies the component
Slide 59
Slide 59 text
No content
Slide 60
Slide 60 text
No content
Slide 61
Slide 61 text
Designers + Engineers
need to be aware
of limitations
Slide 62
Slide 62 text
No content
Slide 63
Slide 63 text
No content
Slide 64
Slide 64 text
No content
Slide 65
Slide 65 text
Simplicity
Consistency
Reusability
Slide 66
Slide 66 text
Simplicity
Consistency
Reusability
Slide 67
Slide 67 text
Simplicity
Consistency
Reusability
Slide 68
Slide 68 text
Updating
components
Slide 69
Slide 69 text
Slide 70
Slide 70 text
Slide 71
Slide 71 text
enum class Type {
PRIMARY,
SECONDARY,
TERTIARY,
@Deprecated("Use property instead")
DESTRUCTIVE
}
Slide 72
Slide 72 text
var type: Type = Type.PRIMARY
set(value) {a
if (value == Type.DESTRUCTIVE) {a
Timber.w("Using deprecated destructive type!
Use destructive property instead")
field = Type.PRIMARY
isDestructive = true
}aelse {a
field = value
}a
updateColours()
}a
Slide 73
Slide 73 text
var type: Type = Type.PRIMARY
set(value) {a
if (value == Type.DESTRUCTIVE) {a
Timber.w("Using deprecated destructive type!
Use destructive property instead")
field = Type.PRIMARY
isDestructive = true
}aelse {a
field = value
}a
updateColours()
}a
Slide 74
Slide 74 text
var type: Type = Type.PRIMARY
set(value) {a
field = value
updateColours()
}a
Slide 75
Slide 75 text
No content
Slide 76
Slide 76 text
Atomic Design
Slide 77
Slide 77 text
Atoms Molecules Organisms Templates Pages
Slide 78
Slide 78 text
Atoms Molecules Organisms Templates Pages
Slide 79
Slide 79 text
Atoms Molecules Organisms Templates Pages
Slide 80
Slide 80 text
Atoms Molecules Organisms Templates Pages
Slide 81
Slide 81 text
Atoms Molecules Organisms Templates Pages
Slide 82
Slide 82 text
Atoms Molecules Organisms Templates Pages
Design System