3 ms·
Many people dislike Gradle, but it's a good build system. It's both correct and as fast as you can reasonably get on the JVM. - build.gradle.kts: the main buil
by hocuspocus 3y ago
Many people dislike Gradle, but it's a good build system. It's both correct and as fast as you can reasonably get on the JVM.
- build.gradle.kts: the main build file
- settings.gradle.kts: the meta build file, you shouldn't have to change it often
- gradlew(.bat): just shell/batch wrapper scripts, while it's the recommended practice, there's no need to commit them into every repo if you have Gradle set up locally
- gradle folder: nothing for you to see there
Annotations everywhere. Yeah, that's Spring, you can't blame that on Kotlin. Check out http4k or Ktor if you want to see a different take on HTTP libraries in pure Kotlin.
Factory methods: the reason Kotlin designers went this way rather than overloading constructors or using static of() methods on the respective classes/interfaces is beyond me. As for the complex hierarchy, you need to understand the baggage coming from the Java standard library here. Kotlin exposes readonly interfaces, thinly wrapping underlying Java collections (which are not immutable) for performance and compatibility reasons.