{"id":499404,"date":"2024-08-08T09:49:44","date_gmt":"2024-08-08T08:49:44","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=499404"},"modified":"2024-11-19T12:56:25","modified_gmt":"2024-11-19T11:56:25","slug":"kotlin-roundup-ktor-in-focus","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/ko\/kotlin\/2024\/08\/kotlin-roundup-ktor-in-focus","title":{"rendered":"Kotlin Roundup: Ktor in Focus"},"content":{"rendered":"\n<p>Welcome to this special edition of Kotlin Roundup, where we shine the spotlight on <a href=\"http:\/\/ktor.io\" target=\"_blank\" rel=\"noreferrer noopener\">Ktor<\/a>, our framework for building asynchronous servers and clients in connected systems!&nbsp;<\/p>\n\n\n\n<p>This issue is packed with the latest updates, insightful news, and exciting developments in the Ktor ecosystem, appealing to everyone from seasoned Ktor enthusiasts to those just getting started. Plus, we have a few other exciting stories about Kotlin you won&#8217;t want to miss!<\/p>\n\n\n            <div class=\"newsletter\">\n                            <h2>Ktor Updates<\/h2>\n                                                            <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/Social_Share_1280x720-2x.png\" alt=\"Ktor 3.0.0 Beta-2 is here\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Ktor 3.0.0 Beta-2 is here!<\/h3>\n                                                        <p>Last month, we announced Ktor 3.0.0 Beta-2. The key features of this release include:<\/p>\n<p>&#8211; Kotlin 2.0 support<br \/>\n&#8211; I\/O management with the new kotlinx\u2024io library<br \/>\n&#8211; HTTP error handling support for server-sent events (SSE)<br \/>\n&#8211; Ktor client for Kotlin\/Wasm<\/p>\n<p>Click below to see the full list of changes.<\/p>\n                                                            <a href=\"https:\/\/kotl.in\/wgsafg\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Give it a try<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/ktor-generator.png\" alt=\"The updated Ktor generator, a tool for creating a new Ktor application\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Updated Ktor generator<\/h3>\n                                                        <p>We have updated the Ktor generator, a tool that allows you to easily create a new Ktor application and configure the required functionality. Part of the Ktor generator\u2019s new look and feel includes the easy project configuration and a one-click preview. Additionally, you can now add your plugins to the Ktor plugin registry. Be sure to take this opportunity to contribute to the Ktor ecosystem!<\/p>\n                                                            <a href=\"https:\/\/kotl.in\/quzapv\" class=\"btn\" target=\"_blank\" rel=\"noopener\">See it in action<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/JETBRAINS-Ktor.png\" alt=\"Ktor for building asynchronous servers and clients with Kotlin\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Revamped Ktor tutorials<\/h3>\n                                                        <p>We have refreshed our <i>Get Started with Ktor Server<\/i> tutorials to provide a more streamlined and user-friendly experience. These refreshed tutorials now offer more precise instructions, improved examples, and enhanced guidance to help you quickly master the fundamentals of building applications with Ktor. Dive in and explore the new content to kickstart your Ktor journey with ease.<\/p>\n                                                            <a href=\"https:\/\/ktor.io\/docs\/server-create-a-new-project.html\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Check out the tutorials<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/Thumbnail_1280x720-14.png\" alt=\"The Managing Complexity With Ktor talk recording (KotlinConf 2024)\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>The <i>Managing Complexity With Ktor<\/i> talk recording<\/h3>\n                                                        <p>Unlock the full potential of Ktor! The recording of the KotlinConf talk <i>Managing Complexity With Ktor<\/i> by <a href=\"https:\/\/x.com\/GarthGilmour\" target=\"_blank\">Garth Gilmour<\/a> is now available for you to watch and enjoy. Discover how to leverage server-sent events and WebSockets. Plus, master dependency injection with Koin, Kodein, and Hilt.<\/p>\n                                                            <a href=\"https:\/\/youtu.be\/RiNRQNLcpj8?si=6AadM42cYJWvfbXO\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Watch now<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/JETBRAINS-Ktor.png\" alt=\"Ktor for building asynchronous servers and clients with Kotlin\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>New Kotlin RPC tutorial<\/h3>\n                                                        <p>Explore our new tutorial to learn more about Kotlin RPC (remote procedure call). An exciting new addition to the Kotlin ecosystem, Kotlin RPC builds on well-established foundations and runs on the kotlinx.rpc library. Read the tutorial to understand the core Kotlin RPC concepts and discover how to build a simple application with the technology.<\/p>\n                                                            <a href=\"https:\/\/ktor.io\/docs\/tutorial-first-steps-with-kotlin-rpc.html\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Explore further<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <\/div>\n    \n\n\n<div style=\"background-color: #f1f6fe; margin-bottom: 2px; padding: 5px; margin-right: 0%; text-align: left; min-height: px;\">\n<p>Did you know that the JetBrains team regularly publishes a newsletter featuring major Kotlin ecosystem news? <a href=\"https:\/\/info.jetbrains.com\/kotlin-communication-center-page.html\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Sign up to stay up to date with all things Kotlin.<\/em><\/a><\/p>\n<\/div>\n<p><\/p>\n\n\n            <div class=\"newsletter\">\n                            <h2>More Stories and News<\/h2>\n                                                            <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/image-copy.png\" alt=\"The kotlinx.rpc library\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>The kotlinx.rpc library<\/h3>\n                                                        <p>The kotlinx.rpc library is live! Now, you can add asynchronous remote procedure call (RPC) services to your Kotlin Multiplatform applications. Visit our GitHub page and share your feedback and feature requests.<\/p>\n                                                            <a href=\"https:\/\/github.com\/Kotlin\/kotlinx-rpc\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Go to the GitHub page<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/Blog-Featured-1280x720-1-2.png\" alt=\"KotlinConf tickets are now on sale\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>KotlinConf 2025 tickets are now on sale!<\/h3>\n                                                        <p>The countdown to <a href=\"https:\/\/kotlinconf.com\/\" target=\"_blank\" rel=\"noopener\">KotlinConf 2025<\/a> has officially begun, and we\u2019re excited to announce that tickets are now on sale for this premier event, which will take place from May 21\u201323, 2025, in Copenhagen, Denmark! The Early Bird tickets have already sold out, so don&#8217;t miss the opportunity to get one of the remaining tickets.<\/p>\n                                                            <a href=\"https:\/\/kotlinconf.com\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Get your tickets now<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/image-13.png\" alt=\"Kotzilla has joined the Kotlin Foundation as a Silver member\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Kotzilla joins the Kotlin Foundation<\/h3>\n                                                        <p><a href=\"https:\/\/kotzilla.io\/\" target=\"_blank\" rel=\"noopener\">Kotzilla<\/a> has joined the Kotlin Foundation as a Silver member. This new partnership will advance the ecosystem and enrich the Kotlin community. The Kotzilla team has put significant effort into the advancement of Kotlin, especially with the creation of <a href=\"https:\/\/insert-koin.io\/\" target=\"_blank\" rel=\"noopener\">Koin<\/a>, an open-source dependency injection (DI) framework.<\/p>\n                                                            <a href=\"https:\/\/kotlinfoundation.org\/news\/kotzilla-joins-kotlin-foundation-silver-member\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Read the news<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/Group-9.jpg\" alt=\"Kotlin 2.0.10 released\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Kotlin 2.0.10 released<\/h3>\n                                                        <p>Kotlin 2.0.10 is now available. This is a bug-fix release for Kotlin 2.0.0. For more details, click the link below to check out the release notes on GitHub.<\/p>\n                                                            <a href=\"https:\/\/github.com\/JetBrains\/kotlin\/releases\/tag\/v2.0.10\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Learn more<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/Group-9-1.jpg\" alt=\"Kotlin 2.0.20-RC released\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Kotlin 2.0.20-RC released<\/h3>\n                                                        <p>We\u2019ve also released Kotlin 2.0.20-RC. The highlights of this release include:<\/p>\n<p>&#8211; Language: Data class copy function to have the same visibility as constructor<br \/>\n&#8211; Kotlin Multiplatform: Static accessors for source sets from the default target hierarchy<br \/>\n&#8211; Kotlin\/Native: Concurrent marking in the garbage collector<br \/>\n&#8211; Kotlin\/Wasm: New location of ExperimentalWasmDsl annotation<br \/>\n&#8211; Gradle improvements: Support for versions 8.6\u20138.8<\/p>\n                                                            <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew-eap.html\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Get more details<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/amper-featured-blog-m.png\" alt=\"Amper Update August 2024 \u2013 Standalone Projects, Settings Tracing, and More\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Amper update: standalone projects, settings tracing, and more<\/h3>\n                                                        <p>The latest release of Amper, <a href=\"https:\/\/github.com\/JetBrains\/amper\/releases\/tag\/v0.4.0\" target=\"_blank\" rel=\"noopener\">version 0.4.0<\/a>, is now available! In this update, we introduce a clear definition for the project root, provide a first look at settings tracing in Amper, and include various bug fixes and improvements.<\/p>\n                                                            <a href=\"https:\/\/blog.jetbrains.com\/amper\/2024\/08\/amper-update-august-2024\/\" class=\"btn\" target=\"_blank\">Read the blog post<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/Social-Share-1280x720-3.png\" alt=\"Enhanced Column Selection DSL in Kotlin DataFrame\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Enhanced Column Selection DSL in Kotlin DataFrame<\/h3>\n                                                        <p>The Kotlin DataFrame library simplifies the process of extracting values from structured data. Our recent blog post unveils the power and versatility of the Column Selection DSL. Explore new functions and improved syntax for selecting values from structured data in Kotlin DataFrame.<\/p>\n                                                            <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2024\/07\/enhanced-column-selection-dsl-in-kotlin-dataframe\/\" class=\"btn\">Read on<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <\/div>\n    ","protected":false},"author":1323,"featured_media":499615,"comment_status":"closed","ping_status":"closed","template":"","categories":[89],"tags":[7031,4292],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/499404"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/1323"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=499404"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/499404\/revisions"}],"predecessor-version":[{"id":503428,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/499404\/revisions\/503428"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/499615"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=499404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=499404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=499404"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=499404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}