<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kotlin Archive | INOTEQ GmbH</title>
	<atom:link href="https://www.inoteq.com/tag/kotlin/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.inoteq.com/tag/kotlin/</link>
	<description>IT Unternehmensberatung, Software Entwicklung, IT Infrastruktur aus Karlsruhe</description>
	<lastBuildDate>Fri, 09 Feb 2024 10:51:56 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.5</generator>

<image>
	<url>https://www.inoteq.com/wp-content/uploads/2019/12/cropped-Inoteq_Logo_trans_icon-1-32x32.png</url>
	<title>Kotlin Archive | INOTEQ GmbH</title>
	<link>https://www.inoteq.com/tag/kotlin/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Kotlin vs. Java im Praxischeck: Ein Spring Boot Erfahrungsbericht</title>
		<link>https://www.inoteq.com/2024/02/01/kotlin-vs-java-vor-und-nachteile-im-fokus-einer-spring-boot-anwendung/</link>
					<comments>https://www.inoteq.com/2024/02/01/kotlin-vs-java-vor-und-nachteile-im-fokus-einer-spring-boot-anwendung/#respond</comments>
		
		<dc:creator><![CDATA[Alexander Kusmin]]></dc:creator>
		<pubDate>Thu, 01 Feb 2024 14:16:59 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[Spring]]></category>
		<guid isPermaLink="false">https://www.inoteq.com/?p=2000</guid>

					<description><![CDATA[<p>Kürzlich habe ich für einen Kunden ein Fullstack Spring Boot Projekt entwickelt, bei dem ich eine gewisse Freiheit bei der Wahl der Technologie und der Programmiersprache hatte. Es stellte sich rasch die Frage, ob ich Java oder Kotlin verwenden sollte. Ich habe mich bewusst für Kotlin als Programmiersprache entschieden, wobei die Entscheidung nicht nur auf [&#8230;]</p>
<p>Der Beitrag <a href="https://www.inoteq.com/2024/02/01/kotlin-vs-java-vor-und-nachteile-im-fokus-einer-spring-boot-anwendung/">Kotlin vs. Java im Praxischeck: Ein Spring Boot Erfahrungsbericht</a> erschien zuerst auf <a href="https://www.inoteq.com">INOTEQ GmbH</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="2000" class="elementor elementor-2000" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-1088501 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1088501" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2496c09" data-id="2496c09" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-48d72d0 elementor-widget elementor-widget-spacer" data-id="48d72d0" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-9ba4411 elementor-widget elementor-widget-html" data-id="9ba4411" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism-coy.min.css" integrity="sha256-VcuSs+n31yebPlEcehu6PvnidJ808ScFBsK8+tJKX+Q=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/components/prism-core.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js"></script>
<!-- Only for Code Snippet Styles -->		</div>
				</div>
				<div class="elementor-element elementor-element-789a6d3 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="789a6d3" data-element_type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kotlin vs. Java im Praxischeck: Ein Spring Boot Erfahrungsbericht</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-2dbccee elementor-widget elementor-widget-post-info" data-id="2dbccee" data-element_type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
					<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-db2a2ac elementor-inline-item" itemprop="datePublished">
						<a href="https://www.inoteq.com/2024/02/01/">
											<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										Februar 1, 2024					</span>
									</a>
				</li>
				<li class="elementor-icon-list-item elementor-repeater-item-7e68cc4 elementor-inline-item" itemprop="author">
						<a href="https://www.inoteq.com/author/akusmin/">
											<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
										Alexander Kusmin					</span>
									</a>
				</li>
				<li class="elementor-icon-list-item elementor-repeater-item-40c882e elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.inoteq.com/tag/java/" class="elementor-post-info__terms-list-item">Java</a>, <a href="https://www.inoteq.com/tag/kotlin/" class="elementor-post-info__terms-list-item">Kotlin</a>, <a href="https://www.inoteq.com/tag/spring/" class="elementor-post-info__terms-list-item">Spring</a>				</span>
					</span>
								</li>
				</ul>
				</div>
				</div>
				<div class="elementor-element elementor-element-20a9deb elementor-widget elementor-widget-text-editor" data-id="20a9deb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Kürzlich habe ich für einen Kunden ein Fullstack Spring Boot Projekt entwickelt, bei dem ich eine gewisse Freiheit bei der Wahl der Technologie und der Programmiersprache hatte. Es stellte sich rasch die Frage, ob ich Java oder Kotlin verwenden sollte. Ich habe mich bewusst für Kotlin als Programmiersprache entschieden, wobei die Entscheidung nicht nur auf technologischer Neugier basierte, sondern auch darauf, die Vor- und Nachteile von Kotlin im Vergleich zu Java in einem realen Projekt zu entdecken. In diesem Beitrag teile ich meine Erfahrungen und Erkenntnisse, während ich einen Blick auf die Unterschiede beider Sprachen werfe.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-5cc3eb0 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image" data-id="5cc3eb0" data-element_type="widget" data-widget_type="theme-post-featured-image.default">
				<div class="elementor-widget-container">
										<figure class="wp-caption">
										<img fetchpriority="high" decoding="async" width="2000" height="1200" src="https://www.inoteq.com/wp-content/uploads/2023/11/wp3.png" class="attachment-full size-full wp-image-2919" alt="" srcset="https://www.inoteq.com/wp-content/uploads/2023/11/wp3.png 2000w, https://www.inoteq.com/wp-content/uploads/2023/11/wp3-300x180.png 300w, https://www.inoteq.com/wp-content/uploads/2023/11/wp3-1024x614.png 1024w, https://www.inoteq.com/wp-content/uploads/2023/11/wp3-768x461.png 768w, https://www.inoteq.com/wp-content/uploads/2023/11/wp3-1536x922.png 1536w" sizes="(max-width: 2000px) 100vw, 2000px" />											<figcaption class="widget-image-caption wp-caption-text">KI generiertes Symbolbild: compelling, illustration, symbolizing kotlin and java, logo-style, kotlin as a rocket, java as a locomotive</figcaption>
										</figure>
							</div>
				</div>
				<div class="elementor-element elementor-element-c273fac elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents" data-id="c273fac" data-element_type="widget" data-settings="{&quot;exclude_headings_by_selector&quot;:&quot;.exclude-from-toc&quot;,&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;marker_view&quot;:&quot;numbers&quot;,&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}" data-widget_type="table-of-contents.default">
				<div class="elementor-widget-container">
					<div class="elementor-toc__header">
			<h4 class="elementor-toc__header-title">
				Table of Contents			</h4>
							<div class="elementor-toc__toggle-button elementor-toc__toggle-button--expand" role="button" tabindex="0" aria-controls="elementor-toc__c273fac" aria-expanded="true" aria-label="Open table of contents"><i aria-hidden="true" class="fas fa-chevron-down"></i></div>
				<div class="elementor-toc__toggle-button elementor-toc__toggle-button--collapse" role="button" tabindex="0" aria-controls="elementor-toc__c273fac" aria-expanded="true" aria-label="Close table of contents"><i aria-hidden="true" class="fas fa-chevron-up"></i></div>
					</div>
		<div id="elementor-toc__c273fac" class="elementor-toc__body">
			<div class="elementor-toc__spinner-container">
				<i class="elementor-toc__spinner eicon-animation-spin eicon-loading" aria-hidden="true"></i>			</div>
		</div>
				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-946ebcb elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="946ebcb" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a2c736d" data-id="a2c736d" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e8d142e elementor-widget elementor-widget-spacer" data-id="e8d142e" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-b5cfe4c elementor-widget elementor-widget-heading" data-id="b5cfe4c" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Grundlegende Unterschiede</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-af6dfcc elementor-widget elementor-widget-text-editor" data-id="af6dfcc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Java und Kotlin werden beide in der Java Virtual Machine (JVM) ausgeführt, unterscheiden sich jedoch in Syntax, Semantik und Programmierparadigmen. Java wurde 1995 veröffentlicht und ist eine der bekanntesten und etabliertesten Programmiersprachen und folgt dem imperativen, objektorientierten Paradigma. Kotlin hingegen wurde 2011 gezielt entwickelt, um einige der Schwächen von Java zu beheben. </p><p>Die Syntax ist klarer, kompakter und fördert eine höhere Lesbarkeit des Codes. Ein wichtiger Aspekt ist die Reduzierung von Boilerplate-Code, damit sich Entwickler stärker auf die logischen Aspekte ihrer Anwendung konzentrieren können. </p><p>Ein Beispiel für die Vereinfachung der Syntax in Kotlin ist die Deklaration von Datenklassen. In Java müssen Entwickler viel Code für Getter, Setter, Equals, HashCode und ToString schreiben. In Kotlin kann dies mit nur einer Zeile erledigt werden, was zu einer saubereren und wartungsfreundlicheren Codebasis führt. In Java existieren mittlerweile ähnliche Lösungen, wie beispielsweise <a href="https://docs.oracle.com/en/java/javase/14/language/records.html" target="_blank" rel="noopener">Java Records</a>.</p><p>Hier ein Beispiel für den Unterschied von normalen Java-Klassen und Kotlin Daten-Klassen, orientiert nach dem Beispiel von <a href="https://www.baeldung.com/kotlin/data-classes" target="_blank" rel="noopener">Baeldung</a>.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-023c123 elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs" data-id="023c123" data-element_type="widget" data-widget_type="tabs.default">
				<div class="elementor-widget-container">
					<div class="elementor-tabs">
			<div class="elementor-tabs-wrapper" role="tablist" >
									<div id="elementor-tab-title-2341" class="elementor-tab-title elementor-tab-desktop-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-2341" aria-expanded="false">Java</div>
							</div>
			<div class="elementor-tabs-content-wrapper" role="tablist" aria-orientation="vertical">
									<div class="elementor-tab-title elementor-tab-mobile-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-2341" aria-expanded="false">Java</div>
					<div id="elementor-tab-content-2341" class="elementor-tab-content elementor-clearfix" data-tab="1" role="tabpanel" aria-labelledby="elementor-tab-title-2341" tabindex="0" hidden="false"><pre><code class="language-java">public class Task {
    private int id;
    private String description;
    private int priority;

    public Task(int id, String description, int priority) {
        this.id = id;
        this.description = description;
        this.priority = priority;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setPriority(int priority) {
        this.priority = priority;
    }

    public float getPriority() {
        return priority;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = Integer.hashCode(this.id) * prime;
        result = prime * result + Integer.hashCode(this.priority);
        result = prime * result + ((this.description == null) ? 0 : this.description.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object var1) {
        if (this != var1) {
            if (var1 instanceof Task) {
                Task var2 = (Task) var1;
                if (this.id == var2.id
                  &amp;&amp; Intrinsics.areEqual(this.description, var2.description)
                  &amp;&amp; this.priority == var2.priority) {
                    return true;
                }
            }
            return false;
        } else {
            return true;
        }
    }

    @Override
    public String toString() {
        return "Task [id=" + id + ", description=" + description + ", priority=" + priority + "]";
    }
}</code></pre>
&nbsp;</div>
							</div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-50ab037 elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs" data-id="50ab037" data-element_type="widget" data-widget_type="tabs.default">
				<div class="elementor-widget-container">
					<div class="elementor-tabs">
			<div class="elementor-tabs-wrapper" role="tablist" >
									<div id="elementor-tab-title-8451" class="elementor-tab-title elementor-tab-desktop-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-8451" aria-expanded="false">Kotlin</div>
							</div>
			<div class="elementor-tabs-content-wrapper" role="tablist" aria-orientation="vertical">
									<div class="elementor-tab-title elementor-tab-mobile-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-8451" aria-expanded="false">Kotlin</div>
					<div id="elementor-tab-content-8451" class="elementor-tab-content elementor-clearfix" data-tab="1" role="tabpanel" aria-labelledby="elementor-tab-title-8451" tabindex="0" hidden="false"><pre><code class="language-kt">data class Task(
    var id: Int,
    var description: String,
    var priority: Int
)</code></pre></div>
							</div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-8edbaf0 elementor-widget elementor-widget-text-editor" data-id="8edbaf0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Die Syntax von Kotlin ist in einigen Punkten einfacher und intuitiver. Beispielsweise werden Lambda-Ausdrücke als normale Funktionen definiert, während sie in Java als anonyme Klassen definiert werden.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-ef7da52 elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs" data-id="ef7da52" data-element_type="widget" data-widget_type="tabs.default">
				<div class="elementor-widget-container">
					<div class="elementor-tabs">
			<div class="elementor-tabs-wrapper" role="tablist" >
									<div id="elementor-tab-title-2511" class="elementor-tab-title elementor-tab-desktop-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-2511" aria-expanded="false">Java</div>
							</div>
			<div class="elementor-tabs-content-wrapper" role="tablist" aria-orientation="vertical">
									<div class="elementor-tab-title elementor-tab-mobile-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-2511" aria-expanded="false">Java</div>
					<div id="elementor-tab-content-2511" class="elementor-tab-content elementor-clearfix" data-tab="1" role="tabpanel" aria-labelledby="elementor-tab-title-2511" tabindex="0" hidden="false"><pre><code class="language-java">public final String[] listOfNames = new String[]{"Alice", "Bob", "Mallory"}
listOfNames.forEach { name -> println(name) }</code></pre></div>
							</div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-52ec52f elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs" data-id="52ec52f" data-element_type="widget" data-widget_type="tabs.default">
				<div class="elementor-widget-container">
					<div class="elementor-tabs">
			<div class="elementor-tabs-wrapper" role="tablist" >
									<div id="elementor-tab-title-8691" class="elementor-tab-title elementor-tab-desktop-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-8691" aria-expanded="false">Kotlin</div>
							</div>
			<div class="elementor-tabs-content-wrapper" role="tablist" aria-orientation="vertical">
									<div class="elementor-tab-title elementor-tab-mobile-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-8691" aria-expanded="false">Kotlin</div>
					<div id="elementor-tab-content-8691" class="elementor-tab-content elementor-clearfix" data-tab="1" role="tabpanel" aria-labelledby="elementor-tab-title-8691" tabindex="0" hidden="false"><pre><code class="language-kt">val listOfNames = listOf("Alice", "Bob", "Mallory")
listOfNames.forEach { println(it) }</code></pre></div>
							</div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-a4a94de elementor-widget elementor-widget-text-editor" data-id="a4a94de" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Die Semantik von Kotlin ist in einigen Punkten strenger als die von Java. Ein entscheidender Unterschied hier ist die Integration von Null-Sicherheit. Im Gegensatz zu Java, das das Arbeiten mit Null-Werten ohne explizite Behandlung erlaubt und häufig zu NullPointerExceptions führt, integriert Kotlin von Haus aus Null-Sicherheit, wodurch unerwünschte Null-Referenzen reduziert werden.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-b5cdd5d elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs" data-id="b5cdd5d" data-element_type="widget" data-widget_type="tabs.default">
				<div class="elementor-widget-container">
					<div class="elementor-tabs">
			<div class="elementor-tabs-wrapper" role="tablist" >
									<div id="elementor-tab-title-1901" class="elementor-tab-title elementor-tab-desktop-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-1901" aria-expanded="false">Java</div>
							</div>
			<div class="elementor-tabs-content-wrapper" role="tablist" aria-orientation="vertical">
									<div class="elementor-tab-title elementor-tab-mobile-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-1901" aria-expanded="false">Java</div>
					<div id="elementor-tab-content-1901" class="elementor-tab-content elementor-clearfix" data-tab="1" role="tabpanel" aria-labelledby="elementor-tab-title-1901" tabindex="0" hidden="false"><pre><code class="language-java">public final String name = null
System.out.println(name.length) // NullPointerException</code></pre></div>
							</div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-9c82354 elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs" data-id="9c82354" data-element_type="widget" data-widget_type="tabs.default">
				<div class="elementor-widget-container">
					<div class="elementor-tabs">
			<div class="elementor-tabs-wrapper" role="tablist" >
									<div id="elementor-tab-title-1641" class="elementor-tab-title elementor-tab-desktop-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-1641" aria-expanded="false">Kotlin</div>
							</div>
			<div class="elementor-tabs-content-wrapper" role="tablist" aria-orientation="vertical">
									<div class="elementor-tab-title elementor-tab-mobile-title" aria-selected="true" data-tab="1" role="tab" tabindex="0" aria-controls="elementor-tab-content-1641" aria-expanded="false">Kotlin</div>
					<div id="elementor-tab-content-1641" class="elementor-tab-content elementor-clearfix" data-tab="1" role="tabpanel" aria-labelledby="elementor-tab-title-1641" tabindex="0" hidden="false"><pre><code class="language-kt">val name: String? = null
println(name?.length) // null</code></pre></div>
							</div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-28bac5b elementor-widget elementor-widget-text-editor" data-id="28bac5b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Kotlin bietet eine umfangreiche Sammlung von Funktionen, die in Java nicht verfügbar sind. Zum Beispiel gibt es die Möglichkeit für Inline-Funktionen oder Erweiterungen von fremden Klassen mit eigenen Methoden. Auf weitere Unterschiede möchte ich hier nicht näher eingehen, diese können auf der <a href="https://kotlinlang.org/docs/comparison-to-java.html" target="_blank" rel="noopener">offiziellen Kotlin-Website</a> eingesehen werden.</p>						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7df93fc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7df93fc" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e286ec7" data-id="e286ec7" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c263e2e elementor-widget elementor-widget-spacer" data-id="c263e2e" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-22b3ee2 elementor-widget elementor-widget-heading" data-id="22b3ee2" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Kotlin in der Industrie und Community</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-8dce1cb elementor-widget elementor-widget-text-editor" data-id="8dce1cb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Kotlin ist äußerst relevant und hat in den letzten Jahren erheblich an Bedeutung gewonnen, insbesondere in der Android-Entwicklung. Gründe hierfür sind:</p><ul><li><b>Offizielle Google-Unterstützung</b><br />Google hat Kotlin als offizielle Programmiersprache für die Android-Entwicklung anerkannt. Seit 2017 ist Kotlin eine offizielle Sprache für die Entwicklung von Android-Apps und hat seitdem breite Akzeptanz gefunden.</li><li><b>Interoperabilität mit Java</b><br />Kotlin wurde entwickelt, um nahtlos mit Java zu interagieren. Dadurch können Entwickler bestehenden Java-Code in Kotlin integrieren und umgekehrt.</li><li><b>Moderne Sprachfunktionen</b><br />Kotlin bietet moderne Funktionen wie Null-Sicherheit, Erweiterungsfunktionen, Datenklassen und eine klare Syntax, die die Produktivität von Entwicklern verbessern. Daher ist Kotlin eine attraktive Alternative zu anderen JVM-Sprachen.</li><li><b>Community-Unterstützung</b><br />Die Kotlin-Community wächst kontinuierlich. Es gibt zahlreiche Ressourcen, Bibliotheken und Frameworks, die speziell für Kotlin entwickelt wurden. Die aktive Beteiligung der Entwicklergemeinschaft trägt zur Weiterentwicklung und Verbesserung der Sprache bei.</li><li><b>Branchenakzeptanz</b><br />Viele namhafte Unternehmen wie Google, Netflix, Uber und JetBrains setzen Kotlin erfolgreich in ihren Projekten ein. Dies zeigt, dass Kotlin nicht nur in der Entwicklergemeinschaft, sondern auch in der Industrie an Bedeutung gewinnt.</li><li><b>Plattformunabhängigkeit und -kompatibilität</b><br />Das Kotlin Multiplatform Project ermöglicht es, Code auf mehreren Plattformen zu kompilieren, z. B. auf Android, iOS, Web und Desktop. </li></ul><p> </p><p>Insgesamt ist Kotlin eine leistungsfähige Sprache, die für verschiedene Anwendungsbereiche geeignet ist.</p>						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-eddaa71 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="eddaa71" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1d05640" data-id="1d05640" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-bad4114 elementor-widget elementor-widget-spacer" data-id="bad4114" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-a4a1dbf elementor-widget elementor-widget-heading" data-id="a4a1dbf" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Kotlin in der Praxis</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-801417e elementor-widget elementor-widget-text-editor" data-id="801417e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Die Entscheidung, welche Sprache in einem Projekt verwendet werden soll, hängt wesentlich von den Vorlieben des Entwicklers ab. In meinem Fullstack Spring Boot-Projekt mit Kotlin konnte ich diese Unterschiede aus erster Hand erleben und beurteilen, wie sie sich auf die Entwicklungsdynamik und Codequalität auswirken. </p><p>Um Kotlin zu verstehen, ist es hilfreich, die Herausforderungen zu betrachten, denen Entwickler in der Java-Entwicklung täglich gegenüberstanden. Kotlin ist keine Alternative zu Java, sondern eine moderne Ergänzung, die auf die Schwächen von Java eingeht und neue Ansätze für die Softwareentwicklung bietet. </p><p>Kotlin unterbricht nicht die Verbindung zur etablierten JVM-Welt. Die Zielgruppe für Kotlin umfasst verschiedene Entwicklerprofile und -situationen.</p><ul><li><b>Entwickler, die die Vorteile moderner Sprachen suchen</b><br />Kotlin bietet Funktionen wie Typinferenz, Erweiterungsfunktionen und Datenklassen, die die Entwicklung erleichtern und den Code kompakter und lesbarer machen. Entwickler, die moderne Programmierkonzepte bevorzugen, finden in Kotlin eine zeitgemäße Lösung.</li><li><b>Android Entwickler</b><br />Die offizielle Unterstützung von Kotlin durch Google hat dazu geführt, dass viele Android-Entwickler auf Kotlin umgestiegen sind. Die Sprache integriert sich nahtlos in die Android-Plattform und verbessert die Lesbarkeit und Produktivität.</li><li><b>Unternehmen, die Java-Code weiterentwickeln wollen</b><br />Kotlin ist so konzipiert, dass es mit vorhandenem Java-Code interoperabel ist. Dadurch können Unternehmen schrittweise von Java zu Kotlin wechseln, ohne ihre bestehende Codebase vollständig zu überarbeiten. Kotlin ist somit eine attraktive Option für Organisationen, die ihre Java-Anwendungen modernisieren möchten.</li></ul><p> </p><p>Die Vielseitigkeit von Kotlin macht es zu einer interessanten Wahl für verschiedene Entwicklungsszenarien, sodass ich mich für Kotlin entschied.</p>						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ac7a31c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ac7a31c" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c9eca55" data-id="c9eca55" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-425662d elementor-widget elementor-widget-spacer" data-id="425662d" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4e3edb1 elementor-widget elementor-widget-heading" data-id="4e3edb1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Gemeinsamkeiten und Interoperabilität</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-c00d015 elementor-widget elementor-widget-text-editor" data-id="c00d015" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Obwohl Kotlin und Java sich in Syntax und Designphilosophie unterscheiden, teilen sie einige grundlegende Gemeinsamkeiten, die ihre Interoperabilität und Integration ermöglichen.</p><ul><li><b>Lauffähigkeit auf der Java Virtual Machine (JVM)</b><br />Beide Sprachen werden in Bytecode übersetzt und sind daher auf der JVM ausführbar. Diese Kompatibilität ermöglicht es Entwicklern, Kotlin- und Java-Code in derselben Anwendung zu verwenden, was einen schrittweisen Übergang oder die gemeinsame Nutzung von Bibliotheken ermöglicht.</li><li><b>Interoperabilität</b><br />Kotlin ist so konzipiert, dass es nahtlos mit Java interagiert. Das bedeutet, dass bestehende Java-Bibliotheken ohne Probleme in Kotlin-Projekten verwendet werden können und umgekehrt. Dies erleichtert den Übergang von Java zu Kotlin und unterstützt eine schrittweise Migration.</li><li><b>Verwendung des gleichen Bytecodes</b><br />Da beide Sprachen denselben Bytecode erzeugen, können Entwickler von den Vorteilen beider Sprachen profitieren, ohne sich auf eine einzige festlegen zu müssen.</li><li><b>Entwicklungsumgebung und Build-Tools</b><br />Kotlin und Java können mit denselben Entwicklungsumgebungen und Build-Tools verwendet werden. Dies erleichtert die Integration von Kotlin in bestehende Entwicklungsworkflows.</li></ul><p> </p><p>Diese Gemeinsamkeiten erleichtern die Entscheidung für oder gegen Kotlin, insbesondere bei einer schrittweisen Einführung oder Integration in bestehende Java-Projekte.</p>						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7cc80ee elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7cc80ee" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bbc5203" data-id="bbc5203" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b66f8ac elementor-widget elementor-widget-spacer" data-id="b66f8ac" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-6639279 elementor-widget elementor-widget-heading" data-id="6639279" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Nachteile von Kotlin</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-4ad621e elementor-widget elementor-widget-text-editor" data-id="4ad621e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Trotz der vielen Vorteile von Kotlin gibt es auch einige Nachteile, insbesondere im Kontext von Spring Boot. </p>
<p>Kotlin ist trotz seiner 13 Jahre eine noch relativ neue Sprache, was bedeutet, dass sie noch nicht so weit verbreitet ist wie Java. Es ist wichtig, dass Entwickler, die mit Kotlin arbeiten, Erfahrung mit der Sprache haben oder bereit sind, sie zu erlernen. Dies liegt daran, dass es in Kotlin einige Unterschiede zu Java gibt, die verstanden werden müssen. Zudem kann es zu Problemen bei der Suche nach Dokumentation, Bibliotheken und Unterstützung kommen. Beispielsweise gibt es für Java eine große Auswahl an Bibliotheken, die von einer großen Community von Entwicklern unterstützt werden. </p>
<p>Die Dokumentation von Kotlin erwies sich gelegentlich als weniger hilfreich, insbesondere bei komplexeren Themen oder spezifischen Spring-Anforderungen. Dies führte dazu, dass ich auf eine Kombination aus Trial-and-Error und der Suche nach alternativen Lösungen angewiesen war. Bei einigen Abhängigkeiten, wie zum Beispiel <a href="https://projectlombok.org/" target="_blank" rel="noopener">Lombok</a> oder <a href="https://site.mockito.org/" target="_blank" rel="noopener">Mockito</a> für Tests, traten Probleme auf, die nicht unmittelbar gelöst werden konnten. Die Anpassung an alternative Bibliotheken, wie <a href="https://mockk.io/" target="_blank" rel="noopener">Mockk</a> oder andere, wurde notwendig, um reibungslose Testläufe zu gewährleisten. </p>
<p>Eine der Hürden war die begrenzte Verfügbarkeit von Online-Ressourcen. Oftmals waren die vorhandenen Informationen veraltet oder bezogen sich auf veraltete Versionen, da Kotlin regelmäßig Updates erhält, welche die Sprache auch oft stark verändert. Dies erschwerte die Suche nach aktuellen Lösungen für spezifische Probleme im Spring-Ökosystem. </p>
<p>Kotlin-Code kann in einigen Fällen auch schwieriger zu debuggen sein als Java-Code. Beispielsweise kann ein NullPointerException in Kotlin schwieriger zu finden sein als in Java. Dies liegt daran, dass Kotlin eine Null-safe Sprache ist und daher NullPointerExceptions wesentlich seltener auftreten und im Code daher schwieriger zu finden sind.</p>						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-be00bd4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="be00bd4" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-856ca37" data-id="856ca37" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-11e9e7e elementor-widget elementor-widget-spacer" data-id="11e9e7e" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-c722c41 elementor-widget elementor-widget-heading" data-id="c722c41" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Vorteile von Kotlin</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-548d262 elementor-widget elementor-widget-text-editor" data-id="548d262" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Trotz der genannten Herausforderungen bietet Kotlin zahlreiche Vorteile, die die Entscheidung für diese Sprache rechtfertigen. Ein herausragendes Merkmal von Kotlin ist die Möglichkeit, denselben Funktionalitätsgrad wie in Java mit weniger Code auszudrücken. Dadurch wird der Code lesbarer und wartbarer. </p><p>Die klare und prägnante Syntax, die Integration von Null-Sicherheit, sowie Erweiterungsfunktionen und Datenklassen ermöglichen eine effiziente und wartungsfreundliche Codebasis. Kotlin fördert eine moderne Herangehensweise an die Softwareentwicklung und verbessert die Lesbarkeit des Codes erheblich. </p><p>Die breite Akzeptanz und Unterstützung in der Entwicklergemeinschaft, insbesondere im Android-Bereich, unterstreichen die Relevanz und Zukunftsfähigkeit von Kotlin als Programmiersprache.</p>						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bc6c1d6 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bc6c1d6" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e5a55ad" data-id="e5a55ad" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7c7095c elementor-widget elementor-widget-spacer" data-id="7c7095c" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-3f00418 elementor-widget elementor-widget-heading" data-id="3f00418" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Kotlin im Spring Boot Projekt: Eine strategische Entscheidung</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-10e54fc elementor-widget elementor-widget-text-editor" data-id="10e54fc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Die Entscheidung, Kotlin für ein Spring Boot-Projekt zu wählen, basierte auf überzeugenden Faktoren, die zu einer verbesserten Entwicklungsqualität und Effizienz beitrugen. Die klare und prägnante Syntax von Kotlin trug erheblich zur Lesbarkeit des Codes bei. Durch den Einsatz von Kotlin konnten komplexe Java-Konstruktionen in einfachere und lesbarere Ausdrücke übersetzt werden. </p><p>Dank der statischen Typisierung von Kotlin kann der Compiler viele Fehler bereits während der Entwicklungszeit erkennen. Die Typinferenz von Kotlin ermöglicht es Entwicklern, sichereren Code zu schreiben, indem sie in vielen Fällen auf explizite Typdeklarationen verzichten können.</p><p>Die nahtlose Integration von Kotlin und Java ermöglicht einen schrittweisen Übergang und die Nutzung von bestehendem Java-Code. Besonders in einem Spring-Projekt, in dem viele Bibliotheken und Frameworks in Java geschrieben sind, ist dies von großer Bedeutung. Die Interoperabilität erleichtert die Migration zu Kotlin, ohne dass vorhandene Ressourcen verloren gehen.</p><p>Kotlin bietet außerdem Erweiterungsfunktionen, mit denen Entwickler bestehende Klassen um neue Funktionen erweitern können, ohne den Originalcode zu ändern. Dies trägt zur Modularität des Codes bei und kann auch die Performance optimieren, indem spezifische Funktionen effizienter implementiert werden.</p><p>Bei der Entscheidung sollten vor allem die individuellen Anforderungen berücksichtigt werden. Kotlin kann zum Beispiel eine gute Wahl sein für Anwendungen mit kurzen Entwicklungszeiten und -kosten, Anwendungen, die von Entwicklern mit Erfahrung in anderen objektorientierten Sprachen entwickelt werden, oder Anwendungen, die auf mehreren Plattformen ausgeführt werden sollen.</p><p>Insgesamt trugen diese Aspekte dazu bei, dass die Verwendung von Kotlin in einem Spring-Projekt zu einer angenehmeren und produktiveren Entwicklungszeit führte. Die Entscheidung für Kotlin war eine strategische Wahl, die die Vorteile moderner Sprachen mit der bewährten Stabilität von Spring kombinierte.</p>						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5371329 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5371329" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c66ec61" data-id="c66ec61" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3b3e86d elementor-widget elementor-widget-spacer" data-id="3b3e86d" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-63c5acb elementor-widget elementor-widget-heading" data-id="63c5acb" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Fazit und persönliche Meinung</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-a93a496 elementor-widget elementor-widget-text-editor" data-id="a93a496" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Kotlin hat sich in meinem Fullstack Spring Boot-Projekt als überzeugende Alternative zu Java erwiesen. Die klare Syntax, die Reduzierung von Boilerplate-Code, die Integration von Null-Sicherheit und die nahtlose Interoperabilität mit Java trugen dazu bei, die Entwicklungszeit zu optimieren und die Codequalität zu verbessern.</p><p>Die Entscheidung für Kotlin war nicht nur technologisch, sondern auch strategisch. Kotlin ist aufgrund seiner Vielseitigkeit und modernen Sprachfunktionen eine attraktive Option für verschiedene Entwicklungszenarien. Obwohl Java nach wie vor eine robuste Sprache ist, bietet Kotlin eine zeitgemäße Alternative, insbesondere für Entwickler, die effizienter arbeiten und die Vorteile moderner Programmierkonzepte nutzen möchten.</p><p>In der dynamischen Landschaft der Softwareentwicklung bleibt die Entscheidung zwischen Java und Kotlin letztlich eine Frage der spezifischen Anforderungen und Präferenzen. Kotlin hat sich jedoch als eine Sprache etabliert, die nicht nur die Schwächen von Java adressiert, sondern auch neue Maßstäbe in Bezug auf Effizienz und Lesbarkeit setzt.</p><p>Aus meiner persönlichen Perspektive war die Entscheidung, Kotlin für das Projekt zu wählen, durchweg positiv. Trotz des potenziellen Mangels an Online-Ressourcen und der anfänglichen Lernkurve empfand ich die Vorteile von Kotlin als überzeugend. Die moderne Sprachfunktionalität, die Reduzierung von Boilerplate-Code und die nahtlose Integration mit Java machten den Umstieg lohnenswert. Die Entscheidung, sich auf neue Erfahrungen einzulassen und die Vorteile von Kotlin zu nutzen, trug nicht nur zur erfolgreichen Umsetzung des Projekts bei, sondern erweiterte auch meinen persönlichen Horizont in Bezug auf moderne Programmiersprachen.</p>						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-cf22e49 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="cf22e49" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-96a87ad" data-id="96a87ad" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3019981 elementor-widget elementor-widget-spacer" data-id="3019981" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.inoteq.com/2024/02/01/kotlin-vs-java-vor-und-nachteile-im-fokus-einer-spring-boot-anwendung/">Kotlin vs. Java im Praxischeck: Ein Spring Boot Erfahrungsbericht</a> erschien zuerst auf <a href="https://www.inoteq.com">INOTEQ GmbH</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.inoteq.com/2024/02/01/kotlin-vs-java-vor-und-nachteile-im-fokus-einer-spring-boot-anwendung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
