Slide 1

Slide 1 text

Baparekraf Developer Day 2024 Leveraging GraphQL With KMP Raka Adi N Lead Software Engineer at Kitalulus

Slide 2

Slide 2 text

Baparekraf Developer Day 2024 Let’s start with The Beginning…

Slide 3

Slide 3 text

Baparekraf Developer Day 2024

Slide 4

Slide 4 text

Baparekraf Developer Day 2024 has anyone here ever used GraphQL?

Slide 5

Slide 5 text

Baparekraf Developer Day 2024 GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

Slide 6

Slide 6 text

Baparekraf Developer Day 2024 ● api.football.com/v1/livescore ● api.football.com/v2/topscrores ● api.football.com/v1/news

Slide 7

Slide 7 text

Baparekraf Developer Day 2024

Slide 8

Slide 8 text

Baparekraf Developer Day 2024 Query your API

Slide 9

Slide 9 text

Baparekraf Developer Day 2024

Slide 10

Slide 10 text

Baparekraf Developer Day 2024

Slide 11

Slide 11 text

Baparekraf Developer Day 2024 Network Communication Server Driven Client Driven Schema & Type Endpoints C R U D Query, Mutation, Subscription Fixed Data Specific Data

Slide 12

Slide 12 text

Baparekraf Developer Day 2024

Slide 13

Slide 13 text

Baparekraf Developer Day 2024 Starting From Apollo 3.0 Apollo Kotlin 3.0 rewrites most of Apollo Android's internals in Kotlin. Among other improvements, it features: - Kotlin-first, coroutine-based APIs - A unified runtime for both JVM and multiplatform - Declarative cache, @nonnull client directives, performance improvements and more...

Slide 14

Slide 14 text

Baparekraf Developer Day 2024

Slide 15

Slide 15 text

Baparekraf Developer Day 2024

Slide 16

Slide 16 text

Baparekraf Developer Day 2024

Slide 17

Slide 17 text

Baparekraf Developer Day 2024

Slide 18

Slide 18 text

Baparekraf Developer Day 2024 API Docs?

Slide 19

Slide 19 text

Baparekraf Developer Day 2024 GraphQL Codegen

Slide 20

Slide 20 text

Baparekraf Developer Day 2024 Real Time Communication

Slide 21

Slide 21 text

Baparekraf Developer Day 2024 GraphQL Subscription

Slide 22

Slide 22 text

Baparekraf Developer Day 2024

Slide 23

Slide 23 text

Baparekraf Developer Day 2024 has anyone here ever used KMP?

Slide 24

Slide 24 text

Baparekraf Developer Day 2024

Slide 25

Slide 25 text

Baparekraf Developer Day 2024 « Write once, run anywhere » that age-old dream is still alive today.

Slide 26

Slide 26 text

Baparekraf Developer Day 2024 Compose, Coroutines https://speakerdeck.com/rakaadinugroho

Slide 27

Slide 27 text

Baparekraf Developer Day 2024 UI Unification Jetpack Compose Swift UI

Slide 28

Slide 28 text

Baparekraf Developer Day 2024 Unified Anything 🥋

Slide 29

Slide 29 text

Baparekraf Developer Day 2024 What potential challenges do you think might arise when an application becomes complex and has many users?

Slide 30

Slide 30 text

Baparekraf Developer Day 2024 OS/Platform Fragmentation

Slide 31

Slide 31 text

Baparekraf Developer Day 2024 1 Entrypoint & POST Http Method

Slide 32

Slide 32 text

Baparekraf Developer Day 2024 Automatic Persisted Queries

Slide 33

Slide 33 text

Baparekraf Developer Day 2024 Monitoring Problem - Only use 1 entry-point (POST*) Solutions - Use 3rd party / monitoring tools thats support graphQL - ….

Slide 34

Slide 34 text

Baparekraf Developer Day 2024 Demo

Slide 35

Slide 35 text

Baparekraf Developer Day 2024 Summary ● Learning curve for GraphQL ● Kotlin 1st ● You start from Android Dev

Slide 36

Slide 36 text

Baparekraf Developer Day 2024 Are you all interested in trying out GraphQL with Kotlin Multiplatform?

Slide 37

Slide 37 text

Baparekraf Developer Day 2024

Slide 38

Slide 38 text

Baparekraf Developer Day 2024 Thankyou! github.com/rakaadinugroho linkedin.com/in/rakaadinugroho rakaadinugroho.com Raka Adi Nugroho Lead Software Engineer at KitaLulus