Conversation
2789731 to
85162ea
Compare
sarahhaggarty
left a comment
There was a problem hiding this comment.
Nice! Only a few minor suggestions. Mostly around the compiler plugin section.
| While the converter is not fool-proof, it does a pretty decent job of converting most boilerplate code from Java to Kotlin. | ||
| However, some manual tweaking is sometimes required. | ||
|
|
||
| ## Explore compiler plugins {initial-collapse-state="collapsed" collapsible="true"} |
There was a problem hiding this comment.
Since the section is so small, does this need to be under a collapsible?
There was a problem hiding this comment.
It's not a necessary step in this tutorial, and we don't want to overcomplicate the onboarding
There was a problem hiding this comment.
Well, the collapsible block looks a bit confusing. If the info is important but we don't want to overcomplicate the onboarding — could we find another place for it?
| annotations. This is particularly useful for frameworks like Spring that require classes to be non-final. | ||
|
|
||
| For Spring, you can use a special [`kotlin-spring`](all-open-plugin.md#spring-support) plugin, | ||
| which is a wrapper on top of `all-open`. It helps to specify Spring annotations automatically. |
There was a problem hiding this comment.
Can we make it more active and say that "It specifies"?
| This allows Java Persistence API (JPA) to instantiate classes that otherwise wouldn't have a default constructor. | ||
|
|
||
| You can also use a special [`kotlin-jpa`](no-arg-plugin.md#jpa-support) plugin, which is a wrapper on top of `no-arg`. | ||
| It helps to specify no-arg annotations automatically. |
There was a problem hiding this comment.
Similarly, can we say "specifies"?
Co-authored-by: Sarah Haggarty <81160244+sarahhaggarty@users.noreply.github.com>
2ab0a66 to
3506370
Compare
koshachy
left a comment
There was a problem hiding this comment.
Nice job!
I left some comments PTAL.
Cheers!
docs/topics/jvm/server-overview.md
Outdated
| Configure your Java project to work with Kotlin and make use of the automated Java-to-Kotlin converter | ||
| included in IntelliJ IDEA: | ||
|
|
||
| <a href="mixing-java-kotlin-intellij.md"><img src="backend-get-started-button.svg" width="350" alt="Introduce Kotlin to your Java project" style="block"/></a> |
There was a problem hiding this comment.
For some reason buttons are not centered 🤔
I'm pretty sure that we are able to put them right in the center, aren't we? 🤔
There was a problem hiding this comment.
Also, the arrows look differently (if we compare them with the ones we have in the Kotlin tour).
|
|
||
| <web-summary>Build server applications with Kotlin using Spring, Ktor, and other backend frameworks</web-summary> | ||
|
|
||
| Kotlin is a great fit for developing server-side applications. It allows you to write concise and expressive code while |
There was a problem hiding this comment.
WDYT about this change:
It allows you to write
swap to
You can write concise and expressive ...
|
|
||
| ## Get started | ||
|
|
||
| Kotlin supports gradual migration of large codebases from Java to Kotlin. You can start |
There was a problem hiding this comment.
As I understand from the doc. we'd lke to prioritize the MIgration option over starting the project from scratch.
Don't we want to add a note at least here about "Start a new application with Spring/Ktor"?
| ## Explore frameworks | ||
|
|
||
| Kotlin is fully compatible with all Java-based frameworks, so you can use your familiar technology stack while | ||
| benefiting from Kotlin syntax. In addition to great IDE support in general, Kotlin offers framework-specific tooling, |
There was a problem hiding this comment.
| benefiting from Kotlin syntax. In addition to great IDE support in general, Kotlin offers framework-specific tooling, | |
| benefiting from Kotlin syntax. In addition to great IDE support, Kotlin offers framework-specific tooling, |
|
|
||
| Kotlin is fully compatible with all Java-based frameworks, so you can use your familiar technology stack while | ||
| benefiting from Kotlin syntax. In addition to great IDE support in general, Kotlin offers framework-specific tooling, | ||
| for example, for Spring and Ktor plugins, in IntelliJ IDEA Ultimate. |
There was a problem hiding this comment.
| for example, for Spring and Ktor plugins, in IntelliJ IDEA Ultimate. | |
| such as support for Spring and Ktor in IntelliJ IDEA Ultimate. |
|
|
||
| <a href="https://ktor.io/docs/server-create-a-new-project.html"><img src="ktor-get-started-button.svg" alt="Create a new Ktor project" style="block"/></a> | ||
|
|
||
| Here are some other examples of the backend frameworks for Kotlin: |
There was a problem hiding this comment.
The transition is quite unclear.
I understand that we want to focus on Ktor / Spring mostly but rn the table is a part of Ktor section (which doesn't make mush sense).
Looks like Other frameworks still necessary here.
|
|
||
| ## Deploy your applications | ||
|
|
||
| Kotlin applications can be deployed into any host that supports Java Web applications, including Amazon Web Services, |
There was a problem hiding this comment.
Could we provide links to AWS/GCP docs for example? Do they have corresponding tutorials, overviews?
| | [http4k](https://http4k.org/) | The functional toolkit with a tiny footprint for Kotlin HTTP applications, written in pure Kotlin. The library is based on the "Your Server as a Function" paper from Twitter and represents modeling both HTTP servers and clients as simple Kotlin functions that can be composed together. | | ||
| | [Javalin](https://javalin.io) | A very lightweight web framework for Kotlin and Java which supports WebSockets, HTTP2, and async requests. | | ||
|
|
||
| ## Deploy your applications |
There was a problem hiding this comment.
This section is very fragmented.
Every new para doesn't linked with the previous one.
Maybe we need to rearrange the content to craete a list or smth else?
|
|
||
| * Learn how to [test your Java Maven project with Kotlin and JUnit](jvm-test-using-junit.md). | ||
| * Explore how to [build asynchronous server applications with Ktor](https://ktor.io/docs/server-create-a-new-project.html). | ||
| * Watch a webinar [Micronaut for microservices with Kotlin](https://micronaut.io/2020/12/03/webinar-micronaut-for-microservices-with-kotlin/) |
There was a problem hiding this comment.
Could we check how popular were links to Micronaut/http4k.
Is it necessary to leave them here or maybe it's better focus only on 2 major frameworks?
| While the converter is not fool-proof, it does a pretty decent job of converting most boilerplate code from Java to Kotlin. | ||
| However, some manual tweaking is sometimes required. | ||
|
|
||
| ## Explore compiler plugins {initial-collapse-state="collapsed" collapsible="true"} |
There was a problem hiding this comment.
Well, the collapsible block looks a bit confusing. If the info is important but we don't want to overcomplicate the onboarding — could we find another place for it?
No description provided.