When developing a library, designing an easy to use API while hiding unnecessary implementation details from clients is fundamental. This talk looks at some of the API design choices made for Krate, an Android SharedPreferences wrapper library.
Delightful Delegate DesignMárton Braunzsmb.co zsmb13
View Slide
AutSoft/Krate
krate
krateapp
appkrate
zsmb.co/mastering-api-visibility-in-kotlin/
zsmb.co/maintaining-compatibility-in-kotlin-libraries/
Krate*
References• Krate https://github.com/AutSoft/Krate• Delightful Delegate Design https://blog.autsoft.hu/delightful-delegate-design/• Further reading Mastering API Visibility in Kotlin https://zsmb.co/mastering-api-visibility-in-kotlin/ Maintaining Compatibility in Kotlin libraries https://zsmb.co/maintaining-compatibility-in-kotlin-libraries/ DSL Design https://zsmb.co/kotlin-dsl-design-with-village-dsl/ Tips for writing a library https://www.kotlindevelopment.com/tips-for-writing-a-library-in-kotlin/
zsmb.co/talkszsmb13