{"id":69783,"date":"2020-08-27T15:38:26","date_gmt":"2020-08-27T15:38:26","guid":{"rendered":"http:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=69783"},"modified":"2020-08-27T15:38:26","modified_gmt":"2020-08-27T15:38:26","slug":"kotlin-1-4-ist-da","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/de\/kotlin\/2020\/08\/kotlin-1-4-ist-da\/","title":{"rendered":"Kotlin 1.4 ist da \u2013 Qualit\u00e4t und Performance im Mittelpunkt"},"content":{"rendered":"<p>Kotlin 1.4.0 ist da! In den letzten Jahren haben wir hart daran gearbeitet, Kotlin zu einer Programmiersprache zu machen, die Spa\u00df macht, angenehmes Arbeiten erm\u00f6glicht und hohe Produktivit\u00e4t bietet. Um mit der neuen Kotlin-Version diesem Ziel noch n\u00e4her zu kommen, haben wir keine M\u00fche gescheut, um die Performance und Qualit\u00e4t von Kotlin und den dazugeh\u00f6rigen Werkzeugen zu verbessern. Ebenso freuen wir uns, Ihnen mehrere neue Sprachmerkmale vorstellen zu k\u00f6nnen \u2013 etwa die lang erwarteten SAM-Konvertierungen f\u00fcr Kotlin-Schnittstellen.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/08\/image-1597417083773.png\" alt=\"datei\"><\/p>\n<p>Wir m\u00f6chten, dass Sie von den in Kotlin 1.4 eingef\u00fchrten \u00c4nderungen und Verbesserungen optimal profitieren. Deshalb laden wir Sie zu einem <a href=\"https:\/\/kotlinlang.org\/lp\/event-14\" target=\"_blank\" rel=\"noopener\">Online-Event rund um Kotlin 1.4<\/a> ein. Genie\u00dfen Sie vier Tage Kotlin-Diskussionen, Fragerunden mit dem Kotlin-Team und vieles mehr \u2013 v\u00f6llig kostenlos.<\/p>\n<h2 id=\"compiler-and-ecosystem\">Community und \u00d6kosystem<\/h2>\n<p>Mehr als 5,8 Millionen Menschen haben in den letzten 12 Monaten an Kotlin-Code gearbeitet \u2013 und diese Zahl nimmt t\u00e4glich zu:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/08\/image-1597316273309.png\" alt=\"datei\"><\/p>\n<p>Wir sehen mit enormer Freude, wie popul\u00e4r Kotlin geworden ist! Besonders vielversprechend ist die Entwicklung bei den aktiven Benutzern (eine Kennziffer, der wir demn\u00e4chst einen eigenen Blogbeitrag widmen werden). Bei diesem wichtigen Kriterium beobachten wir einen 1,5-fachen Anstieg gegen\u00fcber dem Vorjahr.<\/p>\n<p>Gem\u00e4\u00df dem <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2020#most-popular-technologies\" target=\"_blank\" rel=\"noopener\">StackOverflow Developer Survey 2020<\/a> hat Kotlin den 13. Platz der meistverwendeten Programmiersprachen f\u00fcr professionelle Entwickler erobert \u2013 und wir freuen uns ganz besonders, dass Kotlin zu den f\u00fcnf Sprachen geh\u00f6rt, mit denen Entwickler am liebsten arbeiten.<\/p>\n<p>Viele Unternehmen setzen Kotlin erfolgreich auf allen Plattformen ein \u2013 f\u00fcr sie ist Kotlin zur Sprache der Wahl geworden. Wir freuen uns \u00fcber diese Tendenz und sind au\u00dferordentlich dankbar, dass so viele dieser Unternehmen ihre Erfahrungen in Fallstudien f\u00fcr die Community zur Verf\u00fcgung gestellt haben. Hier sind einige wenige faszinierende Beispiele f\u00fcr Software, die in letzter Zeit in Kotlin entwickelt wurde:<\/p>\n<ul>\n<li>Serverseitig: <a href=\"https:\/\/www.youtube.com\/watch?v=4GkoB4hZUnw\" target=\"_blank\" rel=\"noopener\">Atlassian<\/a>, <a href=\"https:\/\/medium.com\/adobetech\/streamlining-server-side-app-development-with-kotlin-be8cf9d8b61a\" target=\"_blank\" rel=\"noopener\">Adobe<\/a>, <a href=\"https:\/\/medium.com\/ing-blog\/introducing-kotlin-at-ing-a-long-but-rewarding-story-1bfcd3dc8da0\" target=\"_blank\" rel=\"noopener\">ING Bank<\/a>;<\/li>\n<li>Android: <a href=\"https:\/\/developer.android.com\/stories\/apps\/google-home\" target=\"_blank\" rel=\"noopener\">Google Home<\/a>, <a href=\"https:\/\/developer.android.com\/stories\/apps\/duolingo-kotlin\" target=\"_blank\" rel=\"noopener\">Duolingo<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=ao9QvtpszOU\" target=\"_blank\" rel=\"noopener\">Zomato<\/a>;<\/li>\n<li>Multiplattform-Mobilentwicklung: <a href=\"https:\/\/medium.com\/vmware-end-user-computing\/adopting-a-cross-platform-strategy-for-mobile-apps-59495ffa23b0\" target=\"_blank\" rel=\"noopener\">VMware<\/a>, <a href=\"https:\/\/kotlinconf.com\/2019\/talks\/video\/2019\/116027\/\" target=\"_blank\" rel=\"noopener\">PlanGrid und CashApp<\/a>, <a href=\"https:\/\/shift.mirego.com\/en\/trikot\" target=\"_blank\" rel=\"noopener\">Trikot<\/a> by Mirego;<\/li>\n<li>Web: <a href=\"https:\/\/kotlinconf.com\/2019\/talks\/video\/2019\/137062\/\" target=\"_blank\" rel=\"noopener\">Space by JetBrains<\/a>, <a href=\"https:\/\/www.karhoo.com\/\" target=\"_blank\" rel=\"noopener\">Karhoo<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=lzsF0NuhS6g\" target=\"_blank\" rel=\"noopener\">VisionForge<\/a> (entwickelt vom <a href=\"https:\/\/github.com\/mipt-npm\" target=\"_blank\" rel=\"noopener\">MIPT-Labor f\u00fcr kernphysikalische Methoden)<\/a>.<\/li>\n<\/ul>\n<p>Auch unsere Kotlin-Communities wachsen rasant. Mehr als 30.000 Kotlin-Entwickler unterst\u00fctzen sich mittlerweile gegenseitig auf <a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-slack-sign-up\" target=\"_blank\" rel=\"noopener\">Slack<\/a> und <a href=\"https:\/\/www.reddit.com\/r\/Kotlin\/\" target=\"_blank\" rel=\"noopener\">Reddit<\/a> und tauschen ihre Erfahrungen aus. Au\u00dferdem verfolgen mehr als 90.000 Interessierte unseren offiziellen <a href=\"https:\/\/twitter.com\/kotlin\" target=\"_blank\" rel=\"noopener\">Twitter-Account<\/a>, um unsere Tipps, Tricks und Ank\u00fcndigungen nicht zu verpassen. Die mehr als 200 Benutzergruppen weltweit sind ein weiterer Beleg f\u00fcr die dynamische Entwicklung der Kotlin-Gemeinschaft. Wir danken Ihnen allen, dass Sie uns durch Mundpropaganda unterst\u00fctzen, Ihr Wissen teilen und f\u00fcr andere Kotlin-Entwickler da sind. Die freundliche, einladende Atmosph\u00e4re, die dadurch entsteht, macht das gemeinsame Erkunden von Kotlin zu einem wunderbaren Erlebnis. Ohne Sie w\u00e4re es nicht so toll.<\/p>\n<h3 id=\"online-event\">Online-Event f\u00fcr Kotlin 1.4<\/h3>\n<p>Wir m\u00f6chten daf\u00fcr sorgen, dass Sie gro\u00dfartige Erfahrungen mit Kotlin 1.4 machen und eine gute Vorstellung davon haben, wohin als N\u00e4chstes die Reise geht. Deshalb freuen wir uns, Sie alle zu unserem Online-Event f\u00fcr Kotlin 1.4 einladen zu d\u00fcrfen!<\/p>\n<p>Freuen Sie sich auf vier Tage Wissens- und Gedankenaustausch \u00fcber Kotlin und die Zukunft der Sprache und des \u00d6kosystems: Wir werden \u00fcber die \u00c4nderungen und Verbesserungen sprechen, die wir mit Kotlin 1.4 eingef\u00fchrt haben, aber auch \u00fcber unsere Pl\u00e4ne f\u00fcr die Zukunft der Sprache. Die Mitglieder unseres Kotlin-Teams werden bei t\u00e4glichen Fragerunden Ihre Fragen beantworten. Tweeten Sie uns Ihre Fragen im Voraus mit dem Hashtag <a href=\"https:\/\/twitter.com\/search?q=%23kotlin14ask&amp;src=typed_query\" target=\"_blank\" rel=\"noopener\">#kotlin14ask<\/a> oder reichen Sie sie \u00fcber <a href=\"https:\/\/surveys.jetbrains.com\/s3\/Q-A-Your-question-for-the-Kotlin-team\" target=\"_blank\" rel=\"noopener\">dieses Formular<\/a> ein.<\/p>\n<p>Das Online-Event zu Kotlin 1.4 wird vom 12. bis 15. Oktober gestreamt \u2013 registrieren Sie sich <em>kostenlos<\/em> hier:<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/kotlinlang.org\/lp\/event-14#registration\" target=\"_blank\" rel=\"noopener\"><i class=\"download-icon\"><\/i>F\u00fcr Online-Event zu Kotlin 1.4 registrieren<\/a><\/p>\n<p>Wir freuen uns, Sie alle dort zu sehen!<\/p>\n<h2 id=\"focusing-on-quality\">Qualit\u00e4t im Fokus<\/h2>\n<p>Unser Hauptaugenmerk bei dieser Version lag auf der Verbesserung der allgemeinen Entwicklungserfahrung mit Kotlin \u2013 einschlie\u00dflich verbesserter IDE-Performance und -Stabilit\u00e4t. Unser Ziel ist es, Kotlin-Benutzer so produktiv wie m\u00f6glich zu machen. Wir haben uns also darauf konzentriert, die Dinge zu verbessern, die f\u00fcr die Benutzer am wichtigsten sind \u2013 damit sie bei der Arbeit mit Kotlin noch zufriedener sind.<\/p>\n<p>Wir haben <a href=\"https:\/\/youtrack.jetbrains.com\/issues?q=%23%7BPerformance%20Problem%7D%20Subsystems:%20%7BIDE*%7D%20%23Fixed%20resolved%20date:%202019-10%20..%20Today%20and%20Target%20versions:%20-1.4.20\" target=\"_blank\" rel=\"noopener\">mehr als 60<\/a> Leistungsprobleme \u00fcberpr\u00fcft und behoben \u2013 darunter viele, die zu IDE-H\u00e4ngern oder Speicherlecks f\u00fchrten. W\u00e4hrend der EAP-Phase f\u00fcr Kotlin 1.4.0 haben wir zahlreiche positive R\u00fcckmeldungen von Benutzern erhalten, die von einer viel angenehmeren Gesamterfahrung berichteten.<\/p>\n<p>Wenn Sie bei der Arbeit an einem Projekt eine gro\u00dfe Kotlin-Datei zum ersten Mal \u00f6ffnen, wird die Syntax jetzt viel schneller hervorgehoben. Die Hervorhebung ist jetzt in den meisten F\u00e4llen 1,5- bis 4-mal schneller:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/08\/image-1596832840332.png\" data-gif-src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/Kotlin\/1.4-release-highlighting.gif\" width=\"607\" height=\"454\"><\/p>\n<p>Auch die Vorschl\u00e4ge der Auto-Completion werden jetzt viel schneller angezeigt. Die folgende Grafik zeigt die durchschnittlichen Wartezeiten, die Kotlin-Benutzer bei Verwendung der Auto-Completion erleben. Die Anzahl der F\u00e4lle, in denen die Completion mehr als 500\u00a0ms ben\u00f6tigt, wurde fast halbiert:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/08\/image-1597151211621.png\" alt=\"datei\"><\/p>\n<p>Bitte beachten Sie, dass f\u00fcr diese neuesten Verbesserungen, einschlie\u00dflich der Beschleunigung der Codehervorhebung, IntelliJ IDEA 2020.1 oder h\u00f6her bzw. Android Studio 4.1 oder h\u00f6her erforderlich sind.<\/p>\n<p>Die Leistungsoptimierung ist ein fortlaufender Prozess, und wir haben noch viele weitere Verbesserungen in Planung, z.\u00a0B. eine weitere Reduzierung von UI-H\u00e4ngern und eine noch fl\u00fcssigere Texteingabe. Die Integration des neuen, experimentellen <a href=\"#new-compiler\">Compiler-Frontends<\/a> f\u00fcr Kotlin, das die IDE viel schneller machen wird, hat bereits begonnen. Es handelt sich um ein gro\u00dfes Unterfangen, bei dem weite Teile des Plugins neu geschrieben werden m\u00fcssen. Daf\u00fcr wird jedoch die Performance in vielen Bereichen der IDE verbessert, etwa bei der Code-Completion, der Syntaxhervorhebung und bei Compiler-Fehlermeldungen.<\/p>\n<h3 id=\"new-ide-functionality\">Neue IDE-Funktionen<\/h3>\n<p>Bei JetBrains sehen wir es als unsere Mission an, die Softwareentwicklung produktiver und angenehmer zu gestalten. Deshalb liegt uns nat\u00fcrlich viel daran, dass f\u00fcr Kotlin hervorragende Tools zur Verf\u00fcgung stehen, die das Programmieren mit Kotlin so einfach wie m\u00f6glich machen.<\/p>\n<p>Um Ihnen die Arbeit mit Coroutinen und insbesondere das Auffinden von Fehlern in parallelisierten Anwendungen zu erleichtern, haben wir den <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#coroutine-debugger\" target=\"_blank\" rel=\"noopener\">Coroutine-Debugger<\/a> eingef\u00fchrt. Wir werden den aktuellen Funktionsumfang um die von der Community am meisten ben\u00f6tigten Funktionen erweitern \u2013 vergessen Sie daher nicht, uns Ihr Feedback \u00fcber einen unserer Kommunikationskan\u00e4le oder im Kommentarbereich weiter unten mitzuteilen.<\/p>\n<p>Eine weitere Neuerung ist ein flexibler <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#new-flexible-project-wizard\" target=\"_blank\" rel=\"noopener\">Kotlin-Projektassistent<\/a>. Der neue Assistent ist Ihre zentrale Anlaufstelle zum Erstellen und Konfigurieren von Kotlin-Projekten verschiedener Typen. Jetzt k\u00f6nnen Sie auch komplexere Strukturen wie etwa Multiplattform-Projekte problemlos in Angriff nehmen.<\/p>\n<p>Kotlin 1.4.0 enth\u00e4lt mehr als <a href=\"https:\/\/youtrack.jetbrains.com\/issues?q=%23Feature%20Subsystems:%20%7BIDE.%20Inspections%20and%20Intentions%7D%20%23Fixed%20resolved%20date:%202019-10%20..%20Today%20and%20Target%20versions:%20-1.4.20\" target=\"_blank\" rel=\"noopener\">40 neue Quick-Fixes<\/a>, Intentions und Inspektionen, die Ihnen genau dann angeboten werden, wenn Sie sie ben\u00f6tigen \u2013 dr\u00fccken Sie einfach <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/intention-actions.html#apply-intention-actions\" target=\"_blank\" rel=\"noopener\">Alt+Enter<\/a>, um zu sehen, welche M\u00f6glichkeiten im jeweiligen Kontext verf\u00fcgbar sind.<\/p>\n<h3 id=\"new-compiler\">Neuer Compiler<\/h3>\n<p>Seit geraumer Zeit arbeiten wir an einem neuen Kotlin-Compiler, der in Bezug auf Performance und Erweiterbarkeit einen gro\u00dfen Schub f\u00fcr die Entwicklung von Kotlin bedeuten wird. Die Hauptziele f\u00fcr den neuen Compiler: Er sollte sehr schnell sein, alle von Kotlin unterst\u00fctzten Plattformen vereinheitlichen und eine API f\u00fcr Compiler-Erweiterungen bereitstellen. Wir f\u00fchren die neuen Komponenten Schritt f\u00fcr Schritt ein, damit die neuen Funktionalit\u00e4ten so schnell wie m\u00f6glich bei unseren Benutzern ankommen. Kotlin 1.4.0 enth\u00e4lt bereits mehrere Bausteine aus diesem laufenden Projekt:<\/p>\n<ul>\n<li>Ein <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#new-more-powerful-type-inference-algorithm\" target=\"_blank\" rel=\"noopener\">neuer, leistungsf\u00e4higerer Typinferenzalgorithmus<\/a> ist standardm\u00e4\u00dfig aktiviert. Er kann Typen in mehr Anwendungsf\u00e4llen automatisch erkennen, unterst\u00fctzt Smart-Casts selbst in komplizierten Szenarien, verbessert die Inferenz bei delegierten Eigenschaften und vieles mehr.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#unified-backends-and-extensibility\" target=\"_blank\" rel=\"noopener\">Neue JVM- und JS-Backends<\/a> sind im <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/evolution\/components-stability.html\" target=\"_blank\" rel=\"noopener\">Alpha<\/a>-Modus verf\u00fcgbar. Sobald ihre Stabilit\u00e4t erwiesen ist, werden sie zum neuen Standard.<\/li>\n<\/ul>\n<p>Wir arbeiten aktiv an einer neuen Frontend-Implementierung \u2013 diese wird der Compiler-Pipeline den gr\u00f6\u00dften Leistungsschub verschaffen. Das Frontend ist der Teil des Compilers, der den Code analysiert, Namen aufl\u00f6st, Typpr\u00fcfungen durchf\u00fchrt und noch vieles mehr unternimmt. Nat\u00fcrlich hat dies auch auf die IDE-Performance einen erheblichen Einfluss. Eine Vorschau wird in einer der n\u00e4chsten Versionen verf\u00fcgbar sein \u2013 bleiben Sie gespannt!<\/p>\n<h2 id=\"language-features\">Sprachmerkmale<\/h2>\n<p>Kotlin 1.4 bietet viele neue Sprachmerkmale:<\/p>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#sam-conversions-for-kotlin-interfaces\" target=\"_blank\" rel=\"noopener\">SAM-Konvertierungen f\u00fcr Kotlin-Schnittstellen<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#explicit-api-mode-for-library-authors\" target=\"_blank\" rel=\"noopener\">Expliziter API-Modus f\u00fcr Bibliotheksautoren<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#mixing-named-and-positional-arguments\" target=\"_blank\" rel=\"noopener\">Mischen von benannten und Positionsargumenten<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#trailing-comma\" target=\"_blank\" rel=\"noopener\">Abschlie\u00dfendes Komma<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#callable-reference-improvements\" target=\"_blank\" rel=\"noopener\">Verbesserungen f\u00fcr Callable-Referenzen<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#using-break-and-continue-inside-when-expressions-included-in-loops\" target=\"_blank\" rel=\"noopener\">Verwendung von <code>break<\/code> und <code>continue<\/code> in <code>when<\/code>-Schleifen<\/a><\/li>\n<\/ul>\n<h2 id=\"library-improvements\">Bibliotheksverbesserungen<\/h2>\n<p>Unsere grunds\u00e4tzliche Priorit\u00e4t f\u00fcr die Standardbibliothek besteht darin, die Einheitlichkeit sowohl auf den verschiedenen Plattformen als auch zwischen den Operationen selbst zu verbessern. In dieser Version erh\u00e4lt die Kotlin-Standardbibliothek <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#new-functions-for-arrays-and-collections\" target=\"_blank\" rel=\"noopener\">neue Collection-Operatoren<\/a>, <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#delegated-properties-improvements\" target=\"_blank\" rel=\"noopener\">Verbesserungen bei delegierten Eigenschaften<\/a>, <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#arraydeque\" target=\"_blank\" rel=\"noopener\">die doppelseitige Warteschlange <code>ArrayDeque<\/code><\/a> und vieles <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#standard-library\" target=\"_blank\" rel=\"noopener\">mehr<\/a>. <\/p>\n<p>Sie k\u00f6nnen die Standardbibliothek im \u201eCommon\u201c-Code verwenden, also dem Code, der von verschiedenen Plattformen \u2013 Android &amp; iOS oder JVM &amp; JS \u2013 gemeinsam genutzt wird. Wir erweitern die Common-Bibliothek schrittweise um fehlende Funktionen.<\/p>\n<p>Es ist auch nicht mehr erforderlich, in Gradle-Kotlin-Projekten eine <code>stdlib<\/code>-Abh\u00e4ngigkeit zu deklarieren, ganz unabh\u00e4ngig davon, ob Sie f\u00fcr eine einzelne Plattform entwickeln oder an einem Multiplattform-Projekt arbeiten. Ab Kotlin 1.4.0 wird diese Abh\u00e4ngigkeit <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#dependency-on-the-standard-library-added-by-default\" target=\"_blank\" rel=\"noopener\">standardm\u00e4\u00dfig hinzugef\u00fcgt<\/a>.<\/p>\n<p>Wir arbeiten auch an anderen Teilen des Kotlin-\u00d6kosystems:<\/p>\n<ul>\n<li>Basierend auf Ihrem Feedback entwickeln wir <a href=\"https:\/\/github.com\/Kotlin\/kotlinx.coroutines\" target=\"_blank\" rel=\"noopener\">kotlinx.coroutines<\/a> immer weiter.<\/li>\n<li>Die <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/serialization.html\" target=\"_blank\" rel=\"noopener\">Serialisierungsbibliothek<\/a> n\u00e4hert sich der Einsatzreife. Heute haben wir das Release Candidate 1.0.0-RC von <a href=\"https:\/\/github.com\/Kotlin\/kotlinx.serialization\/releases\/tag\/1.0.0-RC\" target=\"_blank\" rel=\"noopener\">kotlinx.serialization<\/a> ver\u00f6ffentlicht!<\/li>\n<li>Eine Vorschau auf die DateTime-API in Form der experimentellen <a href=\"https:\/\/github.com\/Kotlin\/kotlinx-datetime\" target=\"_blank\" rel=\"noopener\">kotlinx-datetime<\/a>-Bibliothek haben wir bereits <a href=\"https:\/\/discuss.kotlinlang.org\/t\/kotlinx-datetime-0-1-has-been-published\/18766\" target=\"_blank\" rel=\"noopener\">ver\u00f6ffentlicht<\/a>.<\/li>\n<\/ul>\n<h2 id=\"kotlin-jvm\">Kotlin\/JVM<\/h2>\n<p>Wir w\u00fcrden uns freuen, wenn Sie die Alpha-Version des neuen <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#new-jvm-ir-backend\" target=\"_blank\" rel=\"noopener\">Kotlin\/JVM-Backends<\/a> in Ihren regul\u00e4ren Projekten ausprobieren und uns Feedback geben! Neben der Vereinheitlichung der Compiler-Pipelines tr\u00e4gt diese Neuentwicklung auch dazu bei, Compiler-Erweiterungen wie <a href=\"https:\/\/developer.android.com\/jetpack\/compose\" target=\"_blank\" rel=\"noopener\">Jetpack Compose<\/a> schneller der Kotlin-Community bereitstellen zu k\u00f6nnen.<\/p>\n<p>Kotlin\/JVM-spezifische Sprachmerkmale:<\/p>\n<ul>\n<li>Wir haben <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#new-modes-for-generating-default-methods\" target=\"_blank\" rel=\"noopener\">neue, experimentelle M\u00f6glichkeiten zur Generierung von Standardmethoden<\/a> in Schnittstellen im Bytecode (bei Java 8 als Zielplattform) eingef\u00fchrt.<\/li>\n<li>Wir haben die <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#unified-exception-type-for-null-checks\" target=\"_blank\" rel=\"noopener\">Ausnahmetypen f\u00fcr Nullpr\u00fcfungen<\/a> vereinheitlicht.<\/li>\n<li>Kotlin kann jetzt <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#type-annotations-in-the-jvm-bytecode\" target=\"_blank\" rel=\"noopener\">Typ-Annotations<\/a> im JVM-Bytecode generieren, die zur Laufzeit f\u00fcr die Java-Reflection zug\u00e4nglich sind. Dies funktioniert f\u00fcr Zielversionen ab 8 und ist bisher als experimentelles Feature verf\u00fcgbar.<\/li>\n<\/ul>\n<h2 id=\"kotlin-js\">Kotlin\/JS<\/h2>\n<p>Kotlin 1.4.0 enth\u00e4lt unter anderem eine neue Gradle-DSL und eine Alpha-Version des neuen Kotlin\/JS-Compiler-Backends.<\/p>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#new-gradle-dsl\" target=\"_blank\" rel=\"noopener\">Die neue Gradle-DSL<\/a> unterst\u00fctzt die Konfiguration von CSS- und Style-Loadern, enth\u00e4lt verschiedene Verbesserungen im Zusammenhang mit dem npm-Abh\u00e4ngigkeitsmanagement und verbessert die Kontrolle \u00fcber die Dukat-Integration.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#new-js-ir-backend\" target=\"_blank\" rel=\"noopener\">Das neue Kotlin\/JS-Compiler-Backend<\/a> gibt einen Vorgeschmack auf die Zukunft von Kotlin\/JS. Es bietet Optimierungen und Features wie die automatische Generierung von TypeScript-Definitionen aus Kotlin-Code, kleinere Bin\u00e4rdateien und Bundles, eine modernere M\u00f6glichkeit, Kotlin-Funktionalit\u00e4t in JavaScript verf\u00fcgbar zu machen, und vieles mehr.<\/li>\n<\/ul>\n<h2 id=\"kotlin-native\">Kotlin\/Native<\/h2>\n<p>Kotlin\/Native hat eine erhebliche Anzahl neuer Funktionen und Verbesserungen erhalten. Zum Beispiel:<\/p>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#performance-improvements\" target=\"_blank\" rel=\"noopener\">Verbesserte Gesamtperformance bei der Kompilierung und Ausf\u00fchrung von Kotlin\/Native<\/a>.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#support-for-kotlins-suspending-functions-in-swift-and-objective-c\" target=\"_blank\" rel=\"noopener\">Verbesserte Interoperabilit\u00e4t zwischen Kotlin\/Native und Swift\/Obj-C<\/a>.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#simplified-management-of-cocoapods-dependencies\" target=\"_blank\" rel=\"noopener\">Einfachere Verwaltung der CocoaPods-Abh\u00e4ngigkeiten<\/a>.<\/li>\n<\/ul>\n<p>Die derzeitige Implementierung der automatischen Speicherverwaltung in Kotlin\/Native weist Einschr\u00e4nkungen hinsichtlich der Parallelit\u00e4t auf, und wir arbeiten an einem <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/07\/kotlin-native-memory-management-roadmap\/\">Ersatz<\/a>.<\/p>\n<p>Ein wichtiger Schwerpunkt bei Kotlin\/Native ist die nahtlose Nutzung von <a href=\"https:\/\/www.jetbrains.com\/lp\/mobilecrossplatform\/\" target=\"_blank\" rel=\"noopener\">Kotlin Multiplatform Mobile<\/a> \u2013 aber das ist noch nicht alles.<\/p>\n<h2 id=\"kotlin-multiplatform\">Kotlin Multiplatform<\/h2>\n<p>Es geh\u00f6rt zu unseren obersten Priorit\u00e4ten, Kotlin zu einer gro\u00dfartigen plattform\u00fcbergreifenden L\u00f6sung zu machen. Bei der KotlinConf haben wir einige wichtige Verbesserungen <a href=\"https:\/\/kotlinconf.com\/2019\/talks\/video\/2019\/130754\/\" target=\"_blank\" rel=\"noopener\">versprochen<\/a>, und wir freuen uns, jetzt Ergebnisse pr\u00e4sentieren zu k\u00f6nnen:<\/p>\n<ul>\n<li>Dank einer <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#sharing-code-in-several-targets-with-the-hierarchical-project-structure\" target=\"_blank\" rel=\"noopener\">hierarchischen Projektstruktur<\/a> k\u00f6nnen Sie jetzt gemeinsamen Code f\u00fcr eine bestimmte Teilmenge von Targets festlegen, z.\u00a0B. f\u00fcr iOS-ARM64-Ger\u00e4te und den x64-Simulator, die einander sehr \u00e4hnlich sind.<\/li>\n<li>Sie k\u00f6nnen <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#leveraging-native-libs-in-the-hierarchical-structure\" target=\"_blank\" rel=\"noopener\">plattformabh\u00e4ngige Bibliotheken aus Common-Code verwenden, die von mehreren nativen Targets gemeinsam genutzt werden<\/a>.<\/li>\n<li>Sie haben die M\u00f6glichkeit, <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#specifying-dependencies-only-once\" target=\"_blank\" rel=\"noopener\">Abh\u00e4ngigkeiten nur einmal zu definieren<\/a>: im gemeinsam genutzten Code, statt Abh\u00e4ngigkeiten von verschiedenen Varianten derselben Bibliothek in den gemeinsam genutzten und den plattformspezifischen Teilen des Codes anzugeben.<\/li>\n<li>Wir arbeiten weiter am Kotlin-Bibliotheksformat Klib, das im Hintergrund f\u00fcr die gemeinsame Nutzung der Multiplattform-Bibliotheken verwendet wird.<\/li>\n<\/ul>\n<p>Wir arbeiten an einem Android-Studio-Plugin zum Ausf\u00fchren, Testen und Debuggen von Kotlin-Code auf iOS-Ger\u00e4ten und -Simulatoren. Die erste \u00f6ffentliche Preview wird in K\u00fcrze ver\u00f6ffentlicht.<\/p>\n<p>In K\u00fcrze werden wir eine Reihe von Materialien ver\u00f6ffentlichen, die mithilfe von Mitgliedern der Kotlin-Community erstellt wurden und erkl\u00e4ren, wie die KMM-Technologie (Kotlin Multiplatform Mobile) konkret f\u00fcr Mobilanwendungen verwendet werden kann, in denen Code zwischen Android und iOS geteilt wird. <\/p>\n<p>Auch wenn der Hauptfokus aktuell auf mobilen Zielen liegt, wird das Web-Target von Kotlin Multiplatform bereits aktiv von JetBrains verwendet, um <a href=\"https:\/\/www.jetbrains.com\/space\/\" target=\"_blank\" rel=\"noopener\">JetBrains Space<\/a> zu implementieren und bereitzustellen. Das Web-Target geh\u00f6rt damit weiterhin zu den strategischen Schwerpunkten von Kotlin.<\/p>\n<h2 id=\"more-details\">Weitere Details<\/h2>\n<p>Detaillierte Beschreibungen der neuen Funktionen finden Sie auf der Seite <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html\" target=\"_blank\" rel=\"noopener\">Das ist neu in Kotlin 1.4 sowie in der Dokumentation<\/a>. Auch die <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/whatsnew14.html#migrating-to-kotlin-140\" target=\"_blank\" rel=\"noopener\">Migration zu Kotlin 1.4<\/a> ist im Detail beschrieben.<\/p>\n<p>Wie in allen Hauptversionen werden mit Kotlin 1.4 einige Deprecation-Zyklen f\u00fcr zuvor angek\u00fcndigte \u00c4nderungen abgeschlossen. Alle diese F\u00e4lle wurden vom <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/evolution\/kotlin-evolution.html#decision-making\" target=\"_blank\" rel=\"noopener\">Sprachkomitee<\/a> sorgf\u00e4ltig gepr\u00fcft und sind im <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/compatibility-guide-14.html\" target=\"_blank\" rel=\"noopener\">Kompatibilit\u00e4tsleitfaden f\u00fcr Kotlin 1.4<\/a> aufgef\u00fchrt. <\/p>\n<h2 id=\"how-to-help-us\">Helfen Sie uns, Kotlin zu verbessern<\/h2>\n<p>Das Kotlin-Plugin in IntelliJ IDEA und Android Studio kann anonymisierte Statistiken \u00fcber die Nutzung der Funktionalit\u00e4ten erfassen. Bitte aktivieren Sie diese Statistiken!<\/p>\n<p>Diese anonymen Daten helfen uns sehr, unsere Benutzer besser zu verstehen, zu sehen, was funktioniert, was Schwierigkeiten verursacht und auf welche Bereiche wir uns konzentrieren sollten. Um die Statistiken zu aktivieren, \u00f6ffnen Sie das Men\u00fc <em>Preferences<\/em>, gehen Sie zu <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/settings-usage-statistics.html\" target=\"_blank\" rel=\"noopener\"><em>Appearance &amp; Behaviour | System Settings | Data Sharing<\/em><\/a> und aktivieren Sie das Kontrollk\u00e4stchen <em>Send usage statistics<\/em>.<\/p>\n<h3 id=\"top-issue-reporters\">Liste der aktivsten Ticketersteller seit Kotlin 1.3<\/h3>\n<p>Wir m\u00f6chten uns bei allen Mitgliedern der Community bedanken, die uns geholfen haben, diese Version zu verbessern, indem sie bei Problemen Tickets in <a href=\"http:\/\/kotl.in\/issue\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a> erstellt haben. Wir m\u00f6chten uns f\u00fcr diese Beitr\u00e4ge ausdr\u00fccklich bedanken \u2013 ganz besonders bei der Top 20 der Ticketersteller:<\/p>\n<p><a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20panell\" target=\"_blank\" rel=\"noopener\">Igor Wojda<\/a> (145 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20louis.cad\" target=\"_blank\" rel=\"noopener\">Louis CAD<\/a> (87 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20fluidsonic\" target=\"_blank\" rel=\"noopener\">Marc Knaup<\/a> (86 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20lblb636\" target=\"_blank\" rel=\"noopener\">AndroidDeveloperLB<\/a> (83 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20Robert_Stoll\" target=\"_blank\" rel=\"noopener\">Robert Stoll<\/a> (68 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20kotlinisland\" target=\"_blank\" rel=\"noopener\">Morgan Bartholomew<\/a> (62 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20Turansky\" target=\"_blank\" rel=\"noopener\">Victor Turansky<\/a> (54 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20him188\" target=\"_blank\" rel=\"noopener\">Guan Tianyi<\/a> (51 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20spierce7.1\" target=\"_blank\" rel=\"noopener\">Scott Pierce<\/a> (38 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20gamalik\" target=\"_blank\" rel=\"noopener\">Andreas Malik<\/a> (37 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20stevenschaefer\" target=\"_blank\" rel=\"noopener\">Steven Sch\u00e4fer<\/a> (37 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20Vampire\" target=\"_blank\" rel=\"noopener\">Bj\u00f6rn Kautler<\/a> (36 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20TWiStErRob\" target=\"_blank\" rel=\"noopener\">R\u00f3bert Papp<\/a> (34 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20t-kameyama\" target=\"_blank\" rel=\"noopener\">Toshiaki Kameyama<\/a> (30 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20nbilyk3\" target=\"_blank\" rel=\"noopener\">Nicholas Bilyk<\/a> (29 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20Michael.Bailey\" target=\"_blank\" rel=\"noopener\">Michael Bailey<\/a> (26 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20Jake.Wharton\" target=\"_blank\" rel=\"noopener\">Jake Wharton<\/a> (25 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20lamba92\" target=\"_blank\" rel=\"noopener\">Lamberto Basti<\/a> (24 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20sergepro\" target=\"_blank\" rel=\"noopener\">Serge Pro<\/a> (23 Tickets); <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=created:%202018-10-29%20..%20*%20created%20by:%20Egorand\" target=\"_blank\" rel=\"noopener\">Egor Andreevici<\/a> (21 Tickets).<\/p>\n<h2 id=\"start-using\">Steigen Sie jetzt auf Kotlin 1.4 um<\/h2>\n<p>Wie immer k\u00f6nnen Sie Kotlin unter <a href=\"http:\/\/play.kotl.in\/\" target=\"_blank\" rel=\"noopener\">play.kotl.in<\/a> online ausprobieren.<\/p>\n<p>Geben Sie in Gradle und Maven die Compilerversion 1.4.0 an. Siehe dazu die Dokumentation f\u00fcr <a href=\"http:\/\/kotlinlang.org\/docs\/reference\/using-gradle.html\" target=\"_blank\" rel=\"noopener\">Gradle<\/a> und <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/using-maven.html\" target=\"_blank\" rel=\"noopener\">Maven<\/a>.<\/p>\n<p>In IntelliJ IDEA und Android Studio werden Sie automatisch <a href=\"https:\/\/kotlinlang.org\/releases.html#updating-to-a-new-release\" target=\"_blank\" rel=\"noopener\">aufgefordert<\/a>, das Kotlin-Plugin auf Version 1.4.0 zu aktualisieren. Sie k\u00f6nnen auch <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/managing-plugins.html\" target=\"_blank\" rel=\"noopener\">Preferences | Plugins<\/a> \u00f6ffnen und das Kotlin-Plugin manuell aktualisieren.<\/p>\n<p>Der Befehlszeilen-Compiler kann von der <a href=\"https:\/\/github.com\/JetBrains\/kotlin\/releases\/tag\/v1.4.0\" target=\"_blank\" rel=\"noopener\">GitHub-Release-Seite<\/a> heruntergeladen werden.<\/p>\n<p>Sie k\u00f6nnen die folgenden Bibliotheksversionen verwenden, die zusammen mit dieser Version ver\u00f6ffentlicht wurden:<\/p>\n<ul>\n<li>Version von <a href=\"https:\/\/github.com\/Kotlin\/kotlinx.coroutines\" target=\"_blank\" rel=\"noopener\">kotlinx.coroutines<\/a>: <code>1.3.9<\/code><\/li>\n<li>Version von <a href=\"https:\/\/github.com\/Kotlin\/kotlinx.serialization\" target=\"_blank\" rel=\"noopener\">kotlinx.serialization<\/a>: <code>1.0.0-RC<\/code><\/li>\n<li>Version von <a href=\"https:\/\/ktor.io\/\" target=\"_blank\" rel=\"noopener\">ktor<\/a>: <code>1.4.0<\/code><\/li>\n<li>Version von <a href=\"https:\/\/github.com\/Kotlin\/kotlinx.atomicfu\" target=\"_blank\" rel=\"noopener\">kotlinx.atomicfu<\/a>: <code>0.14.4<\/code><\/li>\n<li>Version von <a href=\"https:\/\/github.com\/Kotlin\/kotlinx.html\" target=\"_blank\" rel=\"noopener\">kotlinx.html<\/a>: <code>0.7.2<\/code><\/li>\n<li>Version von <a href=\"https:\/\/github.com\/Kotlin\/kotlinx-nodejs\" target=\"_blank\" rel=\"noopener\">kotlinx-nodejs<\/a>: <code>0.0.6<\/code><\/li>\n<\/ul>\n<p>Die Bibliotheksversionen aus <code>kotlin-wrappers<\/code> (<code>kotlin-react<\/code> usw.) finden Sie im entsprechenden <a href=\"https:\/\/github.com\/JetBrains\/kotlin-wrappers\" target=\"_blank\" rel=\"noopener\">Repository<\/a>.<\/p>\n<p>Die neuesten IDE-Performance-Verbesserungen, etwa die Beschleunigung der Codehervorhebung, erfordern die Nutzung von IntelliJ IDEA 2020.1 oder h\u00f6her und Android Studio 4.1 oder h\u00f6her.<\/p>\n<p>Bei Problemen mit der neuen Version finden Sie Hilfe auf <a href=\"http:\/\/kotlinlang.slack.com\/\" target=\"_blank\" rel=\"noopener\">Slack<\/a> (lassen Sie sich <a href=\"http:\/\/slack.kotlinlang.org\/\" target=\"_blank\" rel=\"noopener\">hier<\/a> einladen). Bitte melden Sie Probleme in unserem <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a>.<\/p>\n<h2 id=\"thank-you\">Danke!<\/h2>\n<p>Wir danken allen Benutzern, die unsere Kotlin-EAPs ausprobiert und uns Feedback zu den experimentellen Funktionen gegeben haben. Kotlin wird gemeinsam mit Ihnen entwickelt, und viele Designentscheidungen basieren auf Ihren wertvollen Beitr\u00e4gen. Diese schnelle und effektive Feedback-Schleife zur Community ist und bleibt sehr wichtig f\u00fcr die optimale Entwicklung der Sprache Kotlin!<\/p>\n<p>Wir bedanken uns ganz herzlich bei allen externen Mitwirkenden, die Pull-Requests zu dieser Version beigetragen haben. Dieses Release w\u00e4re ohne Sie nicht m\u00f6glich gewesen!<\/p>\n<p>Wir sind allen Mitgliedern unserer Community dankbar, die mit Kotlin unglaublich viele erstaunliche Projekte auf die Beine gestellt haben. <em>Kotlin 1.4: Einer f\u00fcr alle!<\/em><\/p>\n","protected":false},"author":1132,"featured_media":67073,"comment_status":"closed","ping_status":"closed","template":"","categories":[4759,4113,907],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/kotlin\/69783"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/users\/1132"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/comments?post=69783"}],"version-history":[{"count":1,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/kotlin\/69783\/revisions"}],"predecessor-version":[{"id":69784,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/kotlin\/69783\/revisions\/69784"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/media\/67073"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/media?parent=69783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/categories?post=69783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/tags?post=69783"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/cross-post-tag?post=69783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}