Slide 1

Slide 1 text

State of LSP in Kotlin Presented by Prasanna Kumar

Slide 2

Slide 2 text

Agenda - To IDE(A) or not to IDE(A)

Slide 3

Slide 3 text

To IDE(A) or not IDE(A) - IDE(A) as the name denotes integrates almost everything in to a single application - Project management with build tools - Autocompletion - Better code refactoring - Code conversion - Debugging & more - It also known for high resource usage when used with complex code base

Slide 4

Slide 4 text

Are we OK with this ?

Slide 5

Slide 5 text

Yeah …. I’m happy with IDE(A) the talk is over !!!! But wait … this talk is about LSP rite ???

Slide 6

Slide 6 text

State of LSP in Kotlin

Slide 7

Slide 7 text

Agenda - What this talk is not about - What is LSP & how it differs from IDE - LSP for Kotlin - Demo - Caveats - Why I’m presenting this ? - Kotlin LSP Community

Slide 8

Slide 8 text

What this talk is not about - Proposing an alternative to IDE’s - Finding out which is the best IDE - Celebrate LSP on more than the other - How to work on IDE

Slide 9

Slide 9 text

What is LSP ? - LSP (Language Server Protocol) by which Language / Compiler can interact with editors. - Protocol proposed by Microsoft - An emerging standard - Just a different way of working but not an alternative (yet !!!! * ) * Terms and conditions apply

Slide 10

Slide 10 text

How LSP compares with IDE(A)’s - IDE’s are generally full stack - Very much UI driven - HIgh Resource usage - Stable - Support provided by the IDE community and paid comitters - Only pick alternatives - Some features are commercial - IDE’s are generally full stack - Very much config driven - In both LSP Server and editor - Limited resource usage - Getting stable / unstable for certain features - Fully owned and supported by community - Choice of LSP server and editors is kept very open

Slide 11

Slide 11 text

LSP for Kotlin - Demo

Slide 12

Slide 12 text

Caveats - More than on lang server and editor support (may be a challenge for IDE folks) - Not all features may be available for an IDE kind of person - Lack of build tool integration - Debugger support in infant stage - Code refactoring is a challenge - Editors to support for every new LSP feature

Slide 13

Slide 13 text

Why I’m presenting this ? - To welcome members of this group to foster the interest for using LSP - Being a new users group, we can contribute to Kotlin Language Server project

Slide 14

Slide 14 text

Kotlin LSP Community - Discord - https://discordapp.com/invite/cNtppzN - evaluating and finding issues https://github.com/fwcd/kotlin-language-server/issues - By participating in the roadmap https://github.com/fwcd/kotlin-language-server/projects/1

Slide 15

Slide 15 text

Q&A

Slide 16

Slide 16 text

Thank You