Delightful Delegate Design (droidcon Americas 2020)

Delightful Delegate Design (droidcon Americas 2020)

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.

4047c64e3a1e2f81addd4ba675ddc451?s=128

Marton Braun

November 17, 2020
Tweet

Transcript

  1. Delightful Delegate Design Márton Braun zsmb.co zsmb13

  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. None
  17. None
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. AutSoft/Krate

  34. krate

  35. krate

  36. krate app

  37. app krate

  38. app krate

  39. krate app

  40. krate app

  41. app krate

  42. app krate

  43. krate app

  44. app krate

  45. app krate

  46. app krate

  47. app krate

  48. app krate

  49. app krate

  50. app krate

  51. app krate

  52. app krate

  53. app krate

  54. app krate

  55. app krate

  56. app krate

  57. zsmb.co/mastering-api-visibility-in-kotlin/

  58. app krate

  59. app krate

  60. app krate

  61. app krate

  62. app krate

  63. app krate

  64. app krate

  65. app krate

  66. app krate

  67. app krate

  68. app krate

  69. app krate

  70. app krate

  71. app krate

  72. app krate

  73. app krate

  74. app krate

  75. app krate

  76. app krate

  77. app krate

  78. app krate

  79. app krate

  80. app krate

  81. app krate

  82. app krate

  83. app krate

  84. app krate

  85. app krate

  86. app krate

  87. app krate

  88. app krate

  89. app krate

  90. app krate

  91. app krate

  92. app krate

  93. app krate

  94. app krate

  95. zsmb.co/maintaining-compatibility-in-kotlin-libraries/

  96. Krate*

  97. Krate*

  98. Krate*

  99. Krate*

  100. Krate*

  101. Krate*

  102. Krate*

  103. Krate*

  104. 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/
  105. zsmb.co/talks zsmb13