[[kotlin-getting-started]]
= Getting Started

The easiest way to learn how to build a Spring application with Kotlin is to follow
{spring-site-guides}/tutorials/spring-boot-kotlin/[the dedicated tutorial].



[[start-spring-io]]
== `start.spring.io`

The easiest way to start a new Spring Framework project in Kotlin is to create a new Spring
Boot 2 project on https://start.spring.io/#!language=kotlin&type=gradle-project[start.spring.io].



[[choosing-the-web-flavor]]
== Choosing the Web Flavor

Spring Framework now comes with two different web stacks: xref:web/webmvc.adoc#mvc[Spring MVC] and
xref:testing/unit.adoc#mock-objects-web-reactive[Spring WebFlux].

Spring WebFlux is recommended if you want to create applications that will deal with latency,
long-lived connections, streaming scenarios or if you want to use the web functional
Kotlin DSL.

For other use cases, especially if you are using blocking technologies such as JPA, Spring
MVC and its annotation-based programming model is the recommended choice.




