<?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>Beiträge von Christoph Murauer - Mobile USTP MKL</title>
	<atom:link href="https://mobile.fhstp.ac.at/author/it211508/feed/" rel="self" type="application/rss+xml" />
	<link>https://mobile.fhstp.ac.at/author/it211508/</link>
	<description>Die &#34;Mobile Forschungsgruppe&#34; der USTP, sie  sammelt hier alles zu den Themen Design, UX und Entwicklung mobiler Applikationen</description>
	<lastBuildDate>Fri, 08 Mar 2024 09:58:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://mobile.fhstp.ac.at/wp-content/uploads/2025/03/icon-120x120.webp</url>
	<title>Beiträge von Christoph Murauer - Mobile USTP MKL</title>
	<link>https://mobile.fhstp.ac.at/author/it211508/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Headless CMS &#8211; Ein Überblick und aktuelle Trends</title>
		<link>https://mobile.fhstp.ac.at/allgemein/headless-cms-einfuehrung-trends/</link>
		
		<dc:creator><![CDATA[Christoph Murauer]]></dc:creator>
		<pubDate>Thu, 07 Mar 2024 10:44:09 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Cross Plattform]]></category>
		<category><![CDATA[Development]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=12166</guid>

					<description><![CDATA[<p>Die Geschichte des Content Managementsystems (CMS) hat im Laufe der Jahre viele Wendungen genommen. Traditionelle CMS, die eng mit dem Frontend verbunden waren, dominierten lange Zeit den Markt. In den letzten Jahren hat jedoch ein Paradigmenwechsel stattgefunden, der die Verbreitung von Headless CMS vorangetrieben hat. Die steigende Nachfrage nach flexibleren Content-Management-Lösungen hat dazu geführt, dass Headless CMS an Bedeutung gewonnen hat, indem es die starren Strukturen traditioneller Systeme aufbricht.</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/headless-cms-einfuehrung-trends/">Headless CMS &#8211; Ein Überblick und aktuelle Trends</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Ein <strong>Content-Management-System</strong> (kurz <strong>CMS</strong>) ist eine Software zur gemeinschaftlichen Erstellung, Bearbeitung, Organisation und Darstellung digitaler <a href="https://de.wikipedia.org/wiki/Medieninhalte">Inhalte</a> (Content) zumeist zur Verwendung in <a href="https://de.wikipedia.org/wiki/Webseite">Webseiten</a>, aber auch in anderen Medienformen. […]&#8221;</p>
<cite><a href="https://de.wikipedia.org/wiki/Content-Management-System">Wikipedia</a></cite></blockquote>
</blockquote>
</blockquote>



<div data-wp-interactive="core/file" class="wp-block-file"><object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/Headless-CMS.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of Headless-CMS."></object><a id="wp-block-file--media-bb939820-70c0-4aec-b5dd-a7382c1ff837" href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/Headless-CMS.pdf">Headless-CMS</a><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/Headless-CMS.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-bb939820-70c0-4aec-b5dd-a7382c1ff837">Herunterladen</a></div>



<h1 class="wp-block-heading">Historie</h1>



<p>Die erste Entwicklungsstufe des Internets, war gekennzeichnet von einfachen, statischen Websites. 1997 führte Microsoft iFrames ein, mit denen Sie das HTML-Browserfenster in Segmente aufteilen konnten, wobei in jedem Frame ein anderes Dokument angezeigt wurde, das zum Anzeigen von Inhalten anderer Websites verwendet werden konnte und für die Präsentation von Anzeigen und Bannern beliebt war. Probleme mit Sicherheit, Navigation und SEO mit sich. </p>



<p>Der Wendepunkt kam 1997, als mit der Einführung des Document Object Model (DOM) dynamische Inhalte aufkamen. Das DOM ist quasi eine API (application programming interface) für HTML and XML. Mit dem DOM können Sie beispielsweise auf die Stile von HTML-Elementen zugreifen und diese bearbeiten, z. B. auf den gesamten Textkörper (Body) oder einen Abschnitt (Div) auf einer Seite.</p>



<p>Dynamisches HTML mit asynchronem JavaScript und XML, allgemein als Ajax bezeichnet, war ein revolutionärer Durchbruch, der es Entwicklern ermöglichte, Daten anzufordern und zu empfangen, um eine Webseite zu aktualisieren, ohne die Seite neu laden zu müssen.</p>



<h3 class="wp-block-heading">Web 2.0 and the role of a CMS (2003)</h3>



<p>Interaktive Elemente und dynamischer Inhalt entstanden. Der Wunsch war geboren, dass man diese Inhalte auch durch andere User &amp; Rollen austauschbar wird. Zugehörgie Systeme wurden geboren indem Content-Creator ohne technische Expertise auch Inhalte austauschen konnten.</p>



<p>Die Geschichte des Content Managementsystems (CMS) hat im Laufe der Jahre viele Wendungen genommen. Traditionelle CMS, die eng mit dem Frontend verbunden waren, dominierten lange Zeit den Markt. In den letzten Jahren hat jedoch ein Paradigmenwechsel stattgefunden, der die Verbreitung von Headless CMS vorangetrieben hat. Die steigende Nachfrage nach flexibleren Content-Management-Lösungen hat dazu geführt, dass Headless CMS an Bedeutung gewonnen hat, indem es die starren Strukturen traditioneller Systeme aufbricht.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1540" height="708" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-3-1540x708.jpg" alt="" class="wp-image-12175"/><figcaption class="wp-element-caption">Quellen: <a href="https://www.contentstack.com/blog/all-about-headless/content-management-systems-history-and-headless-cms" target="_blank" rel="noreferrer noopener">History of content management systems and rise of headless CMS</a>; <a href="https://de.wikipedia.org/wiki/Web_2.0" target="_blank" rel="noreferrer noopener">Wikipedia</a></figcaption></figure>



<h3 class="wp-block-heading">Was ist ein Headless CMS?</h3>



<p>Ein Headless CMS ist ein <strong>Backend-Only</strong> Web <strong>Content-Management-System (CMS)</strong>. Ein Es stellt <strong>Inhalte über eine API</strong> für die Anzeige auf jedem Gerät bereit, <strong>ohne ein integriertes Frontend</strong> oder einen Presentation Layer (Quelle: <a href="https://en.m.wikipedia.org/wiki/Headless_content_management_system">Wikipedia</a>). </p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" width="1118" height="800" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-3-1-1118x800.jpg" alt="" class="wp-image-12184" style="width:371px;height:auto"/></figure></div>


<p>Es unterscheidet sich also grundlegend von traditionellen CMS durch die Entkopplung des Frontend-Layers. Während traditionelle CMS eine enge Verbindung zwischen Backend und Frontend haben, ermöglicht ein Headless CMS die unabhängige Verwaltung von Inhalten, die dann über APIs an verschiedene Frontend-Plattformen ausgeliefert werden können. </p>



<p>Sehr gut erklärt diese Struktur folgendes Video:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Headless CMS explained in 2 minutes" width="500" height="281" src="https://www.youtube.com/embed/-Uor3I0n_vQ?start=4&#038;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p></p>



<h1 class="wp-block-heading">Traditionelle CMS</h1>



<p>Traditionelle CMS sind nach wie vor am meisten verbreitet. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1896" height="754" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-7.png" alt="" class="wp-image-12189" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-7.png 1896w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-7-1536x611.png 1536w" sizes="auto, (max-width: 1896px) 100vw, 1896px" /><figcaption class="wp-element-caption">Quelle: <a href="https://trends.google.de/trends/explore?date=all&amp;q=%2Fm%2F02vtpl,%2Fm%2F01641s,joomla,%2Fm%2F02z6xz&amp;hl=de">Google Trends</a></figcaption></figure></div>


<p>Die Populärsten werden im Folgenden vorgestellt:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="2094" height="632" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-2.png" alt="" class="wp-image-12171" style="width:858px;height:auto" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-2.png 2094w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-2-1536x464.png 1536w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-2-2048x618.png 2048w" sizes="auto, (max-width: 2094px) 100vw, 2094px" /></figure></div>


<p></p>



<h3 class="wp-block-heading">WordPress</h3>



<p>Mittlerweile versucht auch WordPress einen flexibleren Ansatz und es kann als <strong>Decoupled CMS </strong>verwendet werden, siehe <a href="https://t3n.de/news/headless-cms-wordpress-zukunft-1397884">Artikel T3N: Headless CMS – warum wir WordPress in Zukunft ganz anders nutzen werden</a>. Dies beinhaltet jedoch folgende Vor- und Nachteile:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="636" height="280" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-4.png" alt="" class="wp-image-12186" style="width:276px;height:auto"/></figure></div>


<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center"><strong>Vorteile</strong></p>



<ul class="wp-block-list">
<li>Schnelle Backend erstellung (DEV)</li>



<li>Gewohnte WordPress Backend für Content Creators</li>



<li>Moderne Frontend Frameworks und SPA möglich (NPM, Webpack,&#8230;)</li>



<li>&#8230;</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center"><strong>Nachteile</strong></p>



<ul class="wp-block-list">
<li>Frontend Plugins nicht nutzbar</li>



<li>Frontends von DEV abhängig</li>



<li>SEO?</li>



<li>In manchen Fällen ist Server Side Caching notwendig (z.B. mit Nuxt.js). Damit sind einige der genannten Vorteile wieder hinfällig.</li>
</ul>
</div>
</div>



<p></p>



<h1 class="wp-block-heading">Trends</h1>



<p>Aktuelle Trends deuten darauf hin, dass der Headless-Ansatz weiterhin an Popularität gewinnen wird. Die Notwendigkeit, Inhalte über verschiedene Plattformen und Geräte hinweg zu präsentieren, treibt die Entwicklung von Headless CMS voran. Auch die verstärkte Nutzung von APIs in der Webentwicklung spielt eine entscheidende Rolle.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1814" height="914" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-6.png" alt="" class="wp-image-12188" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-6.png 1814w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-6-1536x774.png 1536w" sizes="auto, (max-width: 1814px) 100vw, 1814px" /></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1614" height="814" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-10.png" alt="" class="wp-image-12202" style="width:598px;height:auto" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-10.png 1614w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-10-1536x775.png 1536w" sizes="auto, (max-width: 1614px) 100vw, 1614px" /></figure></div>


<p></p>



<h1 class="wp-block-heading">Vor- und Nachteile</h1>



<p>Die Wahl des richtigen CMS ist nach wie vor wichtig. Zu sagen ein Headless CMS ist immer besser wäre falsch. Der richtige Use-Case ist wichtig.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1602" height="834" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-10-1.jpg" alt="" class="wp-image-12198" style="width:596px;height:auto" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-10-1.jpg 1602w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-10-1-770x400.jpg 770w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-10-1-1536x800.jpg 1536w" sizes="auto, (max-width: 1602px) 100vw, 1602px" /></figure></div>


<p><strong>Headless CMS</strong></p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center"><strong>Vorteile</strong></p>



<ul class="wp-block-list">
<li>Flexibilität in der Content-Verwaltung.</li>



<li>Unterstützung verschiedener Frontend-Technologien (Mobile, AR, Wearables, &#8230;).</li>



<li>Multi-Channel veröffentlichung.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center"><strong>Nachteile</strong></p>



<ul class="wp-block-list">
<li>Komplexere Implementierung für Entwickler</li>



<li>Anfangs höherer Aufwand / Kosten</li>
</ul>
</div>
</div>



<p><strong>Traditional CMS</strong></p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center"><strong>Vorteile</strong><ul><li>Einfachere ImplementierungIntegrierte Funktionen für Content und Design.</li></ul></p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center"><strong>Nachteile</strong></p>



<ul class="wp-block-list">
<li>Wartungsaufwand</li>



<li>Geringere Flexibilität.</li>



<li>Schwierigkeiten bei der Anpassung an neue Technologien.</li>
</ul>
</div>
</div>



<h1 class="wp-block-heading">Strapi &amp; Storyblok</h1>



<p>Die beliebtesten Headless CMS stellen u.a. Strapi und vor allem in Österreich Storyblok dar.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1564" height="914" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-8-1.jpg" alt="" class="wp-image-12191" style="width:566px;height:auto" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-8-1.jpg 1564w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/image-8-1-1536x898.jpg 1536w" sizes="auto, (max-width: 1564px) 100vw, 1564px" /><figcaption class="wp-element-caption">Quelle: <a href="https://trends.google.de/trends/explore?date=2015-01-01%202024-01-05&amp;q=strapi,storyblok,Contentful,Sanity%20cms,Butter%20CMS">Google Trends</a></figcaption></figure></div>


<h3 class="wp-block-heading">Strapi</h3>



<p>Strapi ist ein Open-Source Headless-CMS, welches selber gehostet werden kann. Es zeichnet sich durch seine Benutzerfreundlichkeit und flexible API-Gestaltung aus. Entwickler können damit mühelos Inhalte erstellen und verwalten, während gleichzeitig die Möglichkeit besteht, die APIs in verschiedene Frontend-Technologien zu integrieren. Ein großer Vorteil ist der Preis, da man die selbst gehostete Variante gratis nutzen kann (Stand März 2024):</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="774" height="646" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-9.png" alt="" class="wp-image-12194" style="width:614px;height:auto"/></figure></div>


<h3 class="wp-block-heading">Storyblok</h3>



<p>Storyblok hebt sich durch seine einfache Handhabung und die Integration von Design-Elementen hervor. Entstanden als Startup in Linz, ist dieses CMS besonders am österreichischen Markt mittlerweile sehr verbreitet und dringt mittlerweile auch auf den internationalen Markt vor, siehe Artikel <a href="https://www.derstandard.at/story/2000123852943/8-5-millionen-dollar-investment-fuer-linzer-start-up-storyblok" target="_blank" rel="noreferrer noopener">8,5-Millionen-Dollar-Investment für Linzer Start-up Storyblok</a> <strong>(2021)</strong>.</p>



<p>Ein großer Vorteil im Vergleich zu Strapi ist der <strong>Visual Editor</strong> für Content Creator:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1140" height="716" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-8-2.jpg" alt="" class="wp-image-12192"/><figcaption class="wp-element-caption">Quelle: <a href="https://www.storyblok.com/lp/storyblok-vs-strapi">Strapi vs Storyblok</a></figcaption></figure></div>


<p>Nachteil ist definitiv der Preis. Bei mehreren Usern wird das Ganze sehr schnell teuer (Stand März 2024):</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1254" height="612" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/image-8.png" alt="" class="wp-image-12193"/></figure></div>


<h1 class="wp-block-heading">Fazit</h1>



<p>Die Entwicklung von traditionellen CMS zu Headless CMS spiegelt den Wandel wider, den die Anforderungen an digitale Inhalte mit sich bringen. Während traditionelle CMS weiterhin ihre Daseinsberechtigung haben, gewinnt der flexible Ansatz von Headless CMS zunehmend an Bedeutung. Unternehmen sollten die individuellen Bedürfnisse und die technologische Ausrichtung bei der Auswahl eines Content-Management-Systems sorgfältig abwägen, um den optimalen Weg für ihre digitale Präsenz zu finden.</p>



<p><strong>Headless CMS</strong> sollte man nutzen <strong>wenn</strong>&#8230;</p>



<ul class="wp-block-list">
<li>&#8230; <strong>multiplen Plattformen</strong></li>



<li>&#8230; <strong>kreativen &amp;</strong> <strong>reaktiven</strong> <strong>Front-Ends</strong></li>



<li>&#8230; <strong>agiler Entwicklung</strong></li>



<li>&#8230; <strong>Abhängigkeit</strong> von Content-Teams durch Tech-Teams</li>



<li>&#8230; Bedarf an <strong>zukunftsorientierten, flexiblen Lösungen</strong></li>



<li></li>
</ul>



<p>Auf ein <strong>traditionelles CMS</strong> sollte man hingegen setzen <strong>wenn</strong>&#8230;</p>



<ul class="wp-block-list">
<li>&#8230; <strong>begrenzte Entwicklerressourcen</strong> vorhanden sind</li>



<li>&#8230; <strong>einfacher Webseite</strong> &amp; nur <strong>eine Plattform</strong></li>



<li>&#8230; spezifische integrierte <strong>CMS-Funktionen notwendig</strong> sind (Blog, &#8230;)</li>
</ul>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/headless-cms-einfuehrung-trends/">Headless CMS &#8211; Ein Überblick und aktuelle Trends</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Car Kickers AR</title>
		<link>https://mobile.fhstp.ac.at/allgemein/car-kickers-ar/</link>
		
		<dc:creator><![CDATA[Christoph Murauer]]></dc:creator>
		<pubDate>Wed, 06 Mar 2024 21:26:15 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Cross Plattform]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[AR]]></category>
		<category><![CDATA[AR Foundation-Framework]]></category>
		<category><![CDATA[Photon]]></category>
		<category><![CDATA[Unity]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=12085</guid>

					<description><![CDATA[<p>Im Zuge der Masterklasse Mobile des Studiengangs Interactive Technologies, haben wir beschlossen zusammen ein AR Multiplayer Game zu entwickeln. Ausschlaggebend dafür war die Vorgabe, dass ein gemeinsames kreatives Projekt mit allen Teammitgliedern erstellt werden soll. Da sich ein Spiel sehr gut in einzelne Bereiche aufteilen lässt und der Umfang angemessen schien, haben wir uns für dieses gemeinsame Projekt entschieden.</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/car-kickers-ar/">Car Kickers AR</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Die Lehrveranstaltung</h2>



<p>Im Zuge der Masterklasse&nbsp;<em>Mobile</em>&nbsp;des Studiengangs&nbsp;<em>Interactive Technologies</em>, haben wir beschlossen zusammen ein AR Multiplayer Game zu entwickeln. Ausschlaggebend dafür war die Vorgabe, dass ein gemeinsames kreatives Projekt mit allen Teammitgliedern erstellt werden soll. Da sich ein Spiel sehr gut in einzelne Bereiche aufteilen lässt und der Umfang angemessen schien, haben wir uns für dieses gemeinsame Projekt entschieden.</p>



<h2 class="wp-block-heading">Die Idee</h2>



<p>Nach dem Beschluss ein Multiplayer AR Game in Unity realisieren zu wollen, haben wir mit dem Brainstorming begonnen. Schnell haben wir uns für den Tech Stack mit der Game Engine Unity, dem Framework AR Foundation und dem Multiplayer Server Photon entschieden, dazu später mehr. Folgende Spielideen kamen auf:</p>



<ul class="wp-block-list">
<li><strong>ARtillery Game:</strong> Jeder Spieler besitzt eine kanone und muss den richtigen winkel finden, um die anderen zu zerstören, vielleicht unter Beeinflussung von echten Wind (sensoren/mikro?) Beispiel: <a href="https://rb.gy/g377b">https://rb.gy/g377b</a></li>



<li><strong>AR Zombie Apocalypse</strong>, einer ist Zombie und kann andere infizieren. Ziel: Zombies müssen in einem Zeitraum alle anderen infizieren (hide &amp; seek)</li>



<li><strong>AR Treasure Hunt</strong> / Geocaching, Zusammenarbeiten um Rätsel zu lösen und schatz zu finden, oder einer versteckt, anderer sucht usw, z.B.: <a href="https://t.ly/yt6eA">https://t.ly/yt6eA</a></li>



<li><strong>Rube Goldberg Machine</strong>, z.B.: <a href="https://t.ly/0AiCV">https://t.ly/0AiCV</a></li>



<li><strong>Rennspiel:</strong> zufällig generierte strecken in realen Umgebungen, im Stil von Micro Machines (<a href="https://bit.ly/3MsMmnl">https://bit.ly/3MsMmnl</a>)</li>
</ul>



<figure class="wp-block-gallery has-nested-images columns-default wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ideen-01.jpg"><img loading="lazy" decoding="async" width="1540" height="800" data-id="12138" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ideen-01-1540x800.jpg" alt="" class="wp-image-12138" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/202403_ideen-01-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/202403_ideen-01-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/journal-inspiration_v1-scaled.jpg"><img loading="lazy" decoding="async" width="1540" height="800" data-id="12145" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/journal-inspiration_v1-1540x800.jpg" alt="" class="wp-image-12145" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-inspiration_v1-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-inspiration_v1-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></a></figure>
</figure>



<p>Schlussendlich hat der Mehrheit die Idee mit den kleinen Autos, ähnlich zu Micro Machines sehr gefallen und Idee wurde weiter zu einer Art Rocket League in AR mit Modellautos geformt.</p>



<h2 class="wp-block-heading">Das Konzept</h2>



<p>In diesem Multiplayer-Spiel treten 2 vs 2 Spielern gegeneinander an, um mit kleinen Autos den Ball ins gegnerische Tor zu schießen. Das Spielfeld und die anderen Objekten werden in der Realität platziert. Am Spielfeld gibt es zudem eine Bombe von der man sich fernhalten sollte.</p>



<p>Es soll einfach möglich sein, dass jeder mit einem Smartphone, irgendwo in der echten Umgebung ein Spiel erstellen kann und andere Spieler einlädt. Das Spielprinzip sollte leicht zugänglich sein und dennoch durch die Mixed Reality beeindrucken.</p>



<p><strong>Innovative Technologie:</strong> Mit Augmented Reality auf Smartphones nutzt das Spiel eine moderne Technologie, um eine realistische Spielumgebung zu schaffen. Spieler können das Spielfeld in ihrer realen Umgebung platzieren, wobei das Spiel sehr vom Chaosfaktor lebt.</p>



<p><strong>Multiplayer-Erlebnis:</strong> Das Projekt ermöglicht ein intensives Multiplayer-Spiel mit Teams von 2 gegen 2. Dies fördert die soziale Interaktion und den Wettbewerb unter den Spielern, was besonders in der heutigen Gaming-Kultur beliebt ist.</p>



<p><strong>Spannendes Gameplay:</strong> Das Konzept des Spiels, bei dem Spieler mit Autos einen Ball ins Tor schießen, ist einfach zu verstehen und gleichzeitig herausfordernd, was das Spiel für eine breite Zielgruppe zugänglich macht.</p>



<p><strong>Lernpotenzial:</strong> Die Entwicklung eines AR-Multiplayer-Spiels erfordert komplexe Fähigkeiten in Bereichen wie 3D-Modellierung, Netzwerkkommunikation und AR-Technologien. Dieses Projekt bot eine hervorragende Möglichkeit für uns Studenten, wertvolle Erfahrungen und Fähigkeiten zu sammeln.</p>



<p>Insgesamt kombiniert Car Kickers AR auf geschickte Weise Technologie, Wettbewerb und Spaß, was es zu einem simplen und chaosorientierten Projekt für unsere Masterklasse machte.</p>



<h2 class="wp-block-heading">Gruppendynamik</h2>



<p>Erst vergangenes Semester konnten wir erste Erfahrungen zur gemeinsamen Zusammenarbeit in der großen Runde sammeln. Im Zuge einer Extreme Programming Week haben wir eine Progressive Web App entwickelt, mit der man Schnitzeljagden realisieren kann. Das Projekt war herausfordernd und sehr lehrreich, mehr dazu könnt ihr im Blogartikel <em><a href="https://akirchknopf-21110.php.fhstp.cc/development/pingo-oder-die-einwoechige-entstehung-eines-location-based-service/">PinGo – oder die einwöchige Entstehung eines Location-Based-Service</a></em> nachlesen.</p>



<p>Die Personen kannten sich untereinander schon gut und Aufgaben wurden passend je nach Wunsch verteilt. Da jedoch regelmäßige Meetings fehlten und durch den Workload des laufenden Semesters wurden Aufgaben teils aus den Augen verloren. Schnell wurde klar, dass einige mehr Zeit investierten als andere, was jedoch bei solchen Projektarbeiten ein vorhersehbares Phänomen ist.</p>



<h2 class="wp-block-heading">Projektmanagement</h2>



<p>Das Projektmanagement hat Christoph übernommen, da er die Idee einbrachte. Es wurde gemeinsam beschlossen, auf die All-In-One Software Notion zu setzen, welche für Notizen, Aufgaben, Projekte und Zusammenarbeit dient. Darin wurde das gesamte Projektmanagement abgewickelt.</p>



<figure class="wp-block-image size-full is-resized"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektmgmt_01-1.png"><img loading="lazy" decoding="async" width="883" height="375" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektmgmt_01-1.png" alt="" class="wp-image-12095" style="width:558px;height:auto"/></a></figure>



<p>Das Team wurde in unterschiedliche Aufgabenbereiche eingeteilt:</p>



<p><strong>Development &amp; Physics</strong>: Mindestens ein oder zwei Teammitglieder sollten sich auf AR-Tracking und die grundlegende Spiellogik konzentrieren. Sie würden sich mit AR Foundation beschäftigen und sicherstellen, dass das Spielfeld richtig in die reale Welt projiziert wird.</p>



<p><strong>Game Design</strong>: Diese Abteilung ist für die Konzeption und Gestaltung des Spiels verantwortlich. Game Designer erstellen das Spielszenario, entwerfen die Spielmechanik, Level und Charaktere, und definieren die Spielregeln.</p>



<p><strong>Multiplayer</strong>: Ein oder zeit Teammitglieder sollten sich auf den Multiplayer-Aspekt spezialisieren. Das beinhaltet das Arbeiten mit Photon oder einem ähnlichen Netzwerkdienst, um die Synchronisation zwischen Spielern herzustellen.</p>



<p>Mindestens ein Mitglied sollte sich auch um Backend-Systeme kümmern, die für das Speichern von Spielerdaten, Fortschritten und Ranglisten notwendig sind.</p>



<p><strong>User Interface &amp; Sound Design</strong>: Ein Mitglied sollte sich auf die Benutzeroberfläche (UI) und die User Experience (UX) konzentrieren, um sicherzustellen, dass das Spiel intuitiv und ansprechend ist.</p>



<p><strong>AR Development</strong>: Im Fokus steht hier die Integration der Augmented Reality Funktionalität über das Framework AR Foundation und das Beheben von möglich Problemen des eigentlich Spiels.</p>



<p>Nach der Teameinteilung wurden sämtliche Tasks erstellt, aufgeteilt und priorisiert:</p>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektmgmt_02.jpg"><img loading="lazy" decoding="async" width="1488" height="800" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektmgmt_02-1488x800.jpg" alt="" class="wp-image-12096"/></a></figure>



<p>Anfangs wurde noch mit Sprint gearbeitet:</p>



<figure class="wp-block-image size-full"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektmgmt_03.png"><img loading="lazy" decoding="async" width="1389" height="326" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektmgmt_03.png" alt="" class="wp-image-12098"/></a></figure>



<p>Dies wurde jedoch schnell aus den Augen verloren, da es aufgrund anderer Prioritäten während des Semester unrealistisch war, in regelmäßigen Abständen an dem Spiel zu arbeiten.</p>



<h2 class="wp-block-heading">Die Umsetzung</h2>



<p>Das Softwareprojekt wurde in der Game-Engine Unity umgesetzt. Die AR Aspekte werden mit dem Framework AR Foundation integriert. Das ganze Projekt lässt sich sowohl für Apple als auch Android Geräte bereitstellen.</p>



<p><strong>Unser Tech Stack</strong></p>



<figure class="wp-block-gallery has-nested-images columns-default wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_unity-04.jpg"><img loading="lazy" decoding="async" width="1916" height="1031" data-id="12135" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_unity-04.jpg" alt="" class="wp-image-12135" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/202403_unity-04.jpg 1916w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/202403_unity-04-1536x827.jpg 1536w" sizes="auto, (max-width: 1916px) 100vw, 1916px" /></a></figure>



<figure class="wp-block-image size-medium"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_tech_stack-asset_forge.jpg"><img loading="lazy" decoding="async" width="770" height="400" data-id="12136" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_tech_stack-asset_forge-770x400.jpg" alt="" class="wp-image-12136"/></a></figure>
</figure>



<p></p>



<figure class="wp-block-table"><table><tbody><tr><td><a href="https://unity3d.com/get-unity/download/archive">Unity3D 2022.3.11 (LTS)</a></td><td>Unser Game Framework für das Cross-Plattform-Development</td></tr><tr><td><a href="https://kenney.nl/tools/asset-forge">Asset Forge</a></td><td>Tool für die Modellierung unserer Fahrzeuge</td></tr><tr><td><a href="https://unity.com/de/unity/features/arfoundation">AR Foundation</a></td><td>AR-Framework für Unity</td></tr><tr><td><a href="https://www.photonengine.com/">Photon</a></td><td>Multiplayer Engine für Unity</td></tr><tr><td><a href="https://www.jetbrains.com/de-de/rider/">IntellJ Rider</a></td><td>Als IDE-Ersatz für das Performance intensive Visual Studio</td></tr></tbody></table></figure>



<p></p>



<p><strong>Szenen</strong></p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-04.png"><img loading="lazy" decoding="async" width="988" height="557" data-id="12100" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-04.png" alt="" class="wp-image-12100"/></a></figure>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-02.png"><img loading="lazy" decoding="async" width="990" height="553" data-id="12102" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-02.png" alt="" class="wp-image-12102"/></a></figure>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-05.jpg"><img loading="lazy" decoding="async" width="1021" height="800" data-id="12107" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-05-1021x800.jpg" alt="" class="wp-image-12107"/></a></figure>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-03.jpg"><img loading="lazy" decoding="async" width="987" height="554" data-id="12103" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-03.jpg" alt="" class="wp-image-12103"/></a></figure>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_model-spielfeld_v1.png"><img loading="lazy" decoding="async" width="1255" height="771" data-id="12134" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_model-spielfeld_v1.png" alt="" class="wp-image-12134"/></a></figure>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-01.png"><img loading="lazy" decoding="async" width="985" height="556" data-id="12101" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_ui-01.png" alt="" class="wp-image-12101"/></a></figure>
</figure>
</div>



<p>Die Oberflächen teilen teilt sich auf in:</p>



<ul class="wp-block-list">
<li>Hauptmenü &#8211; Scene_Main_Menu</li>



<li>Quickmatch &#8211; Scene_Lobby</li>



<li>Auto Auswahl &#8211; Scene_Player_Selection</li>



<li>Lobby &#8211; Scene_Lobby</li>



<li>Gameplay &#8211; Scene_Gameplay</li>
</ul>



<figure class="wp-block-image size-full"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_unity-01.png"><img loading="lazy" decoding="async" width="226" height="184" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_unity-01.png" alt="" class="wp-image-12109"/></a></figure>



<p><strong>Player</strong></p>



<p>Das Prefab für den Spieler beinhaltet neben dem eigentlichen 3D-Modell auch das Skript Car Controller, mit dem die Steuerung realisiert wurde, sowie Sound und Animationen:</p>



<figure class="wp-block-gallery has-nested-images columns-default wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/journal-cars_v1-scaled.jpg"><img loading="lazy" decoding="async" width="2560" height="1810" data-id="12129" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/journal-cars_v1-scaled.jpg" alt="" class="wp-image-12129" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cars_v1-scaled.jpg 2560w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cars_v1-1536x1086.jpg 1536w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cars_v1-2048x1448.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a></figure>



<figure class="wp-block-image size-full"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_unity-02.png"><img loading="lazy" decoding="async" width="331" height="164" data-id="12110" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_unity-02.png" alt="" class="wp-image-12110"/></a></figure>
</figure>



<h2 class="wp-block-heading">Scripts</h2>



<p>Natürlich sind auch sehr viele Scripts entstanden, grob unterteilt wurde hier das Verhalten folgender Aspekte programmiert:</p>



<figure class="wp-block-image size-full"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_unity-03.png"><img loading="lazy" decoding="async" width="111" height="131" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_unity-03.png" alt="" class="wp-image-12111"/></a></figure>



<p></p>



<ul class="wp-block-list">
<li>AR: Marker-Based und Markerless Verhalten</li>



<li>Networking und Spawn Management</li>



<li>Player Movement und Verhalten</li>



<li>UI und Menü</li>
</ul>



<p><strong>Genutzte Tutorials</strong></p>



<p>Folgende Tutorials haben maßgeblich zur Entwicklung beigetragen:</p>



<ul class="wp-block-list">
<li><a href="https://www.udemy.com/course/augmented-reality-101-ar-foundation-basics/learn/lecture/21900656#overview">AR Tutorial #1 (Udemy)</a></li>



<li><a href="https://www.youtube.com/watch?v=FWyTf3USDCQ">AR Tutorial #2 (Youtube)</a></li>



<li><a href="https://github.com/Unity-Technologies/arfoundation-samples/tree/5.0">AR Foundation Examples</a></li>



<li><a href="http://Build on Android Phone: https://www.youtube.com/watch?v=Nb62z3J4A_A">Build forAndroid Phone</a></li>



<li><a href="https://www.youtube.com/watch?v=-Hr4-XNCf8Y">Build for Apple Phone</a> </li>



<li><a href="https://ahmedschrute.medium.com/creating-ar-multiplayer-app-in-unity-da2b165a8921">Medium-Artikel</a></li>



<li><a href="ps://www.udemy.com/course/build-multiplayer-augmented-reality-ar-games-with-photon/">Udemy Kurs #1</a></li>



<li><a href="https://www.udemy.com/course/kompletter-arcore-arkit-spieleentwickler-augmented-reality/learn/lecture/9644848#overview">Udemy Kurs #2</a></li>
</ul>



<h2 class="wp-block-heading">Projektevernissage</h2>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_stand.jpeg"><img loading="lazy" decoding="async" width="1280" height="800" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_stand-1280x800.jpeg" alt="" class="wp-image-12113"/></a></figure>



<p>Auf der Projektevernissage erhielten wir durchweg positives Feedback zu unserem AR-Spiel &#8220;Car Kickers AR&#8221;. Die Besucher:innen fanden den Einsatz von Augmented Reality und den Multiplayer-Aspekt besonders spannend. Dank einer kurzen Erklärung durch unser Team konnten alle schnell ins Spiel einsteigen. Allerdings war die Steuerung der Fahrzeuge mit dem virtuellen Lenkrad aufgrund hoher Sensibilität problematisch, was die Spielerfahrung beeinträchtigte. Ein weiterer Kritikpunkt war, dass die Fahrzeuge gelegentlich am Rand steckenblieben, was das Spielvergnügen einschränkte. Trotzdem wurde die Möglichkeit, vor Ort direkt mit anderen Besucher:innen am virtuellen Spielfeld zu interagieren, als sehr positiv bewertet. Viele zeigten Interesse an der Möglichkeit zum Download des Spiels aus einem App Store, was für die Attraktivität unseres Spiels spricht.</p>



<p>Auf einem Flipchat wurde ganz analog das Feedback der Besucher:innen gesammelt. Unsere Fragen waren folgende:</p>



<p><strong>Wählt euer Lieblingsfahrzeug?</strong></p>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_feedback_01.jpg"><img loading="lazy" decoding="async" width="1540" height="800" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_feedback_01-1540x800.jpg" alt="" class="wp-image-12114" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/202403_projektevernissage_feedback_01-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/202403_projektevernissage_feedback_01-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></a></figure>



<p>In der Projektevernissage präsentierten wir eine Vielfalt von Designs für auswählbare Fahrzeuge. Besucher:innen wurden aufgefordert, ihre bevorzugten Designs zu wählen, die letztendlich im Spiel integriert werden. Vier Fahrzeuge mit einem eher verspielten Design, darunter Zug- und Schiffautos, kristallisierten sich als besonders beliebt heraus. Dieses Feedback beeinflusst maßgeblich die endgültige Auswahl und Gestaltung der Fahrzeuge im Spiel.</p>



<p><strong>Wie findest du die Steuerung?</strong></p>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_feedback_02.jpg"><img loading="lazy" decoding="async" width="1354" height="800" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_feedback_02-1354x800.jpg" alt="" class="wp-image-12115"/></a></figure>



<p>Unsere eigenen Tests und das Feedback der Besucher:innen zeigten Probleme mit unserer Steuerung. Eine gezeichnete Stimmungsumfrage mit drei Gesichtszuständen – fröhlich, neutral und traurig – ergab im Durchschnitt eher neutrale oder traurige Gesichter. Empfohlen wurde, die Steuerung zu ändern, beispielsweise von einem Lenkrad auf einen Joystick umzusteigen.</p>



<p><strong>Welches Feature würdet ihr euch noch wünschen?</strong></p>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_feedback_03.jpg"><img loading="lazy" decoding="async" width="1210" height="800" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_feedback_03-1210x800.jpg" alt="" class="wp-image-12116"/></a></figure>



<p></p>



<ul class="wp-block-list">
<li>Jedes Fahrzeug hat eine einzigartige Fähigkeit.</li>



<li>Einen Map Marker.</li>



<li>Stats, also ein bestimmter Aspekt eines fiktiven Charakters (Auto) darstellt,</li>



<li>die z.B. durch Zahlen repräsentiert werden.</li>



<li>Zuschauer:innen können während einem Spiel Hindernisse reinwerfen.</li>



<li>Eine Rampe oder Fallen wie eine Banane als Hindernis.</li>



<li>Eine Optionsmöglichkeit, wo man die Geschwindkeit der Fahrzeuge auswählen kann.</li>



<li>Pilze die man sammeln kann um mit einem Fahrzeug schneller fahren zu können.</li>



<li>Der Ball bounced am Rand wieder zurück, damit dieser nicht vom Feld fällt.</li>



<li>Das Fahrzeug soll am Rand nicht stehen können.</li>
</ul>



<p><strong>Ein Demo-Video einer Testrunde bei der Projektevernissage (16.01.2024)</strong></p>



<figure class="wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Car Kickers AR | Demovideo" src="https://player.vimeo.com/video/903590206?h=c4a16bbab7&amp;dnt=1&amp;app_id=122963" width="500" height="281" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write"></iframe>
</div></figure>



<h2 class="wp-block-heading"><strong>Herausforderungen &amp; Learnings</strong></h2>



<figure class="wp-block-image size-large"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_spielerinnen_01.jpg"><img loading="lazy" decoding="async" width="1540" height="800" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/202403_projektevernissage_spielerinnen_01-1540x800.jpg" alt="" class="wp-image-12117" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/202403_projektevernissage_spielerinnen_01-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/202403_projektevernissage_spielerinnen_01-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></a></figure>



<p><strong>Augmented Reality</strong>: Die Integration von AR gestaltet sich dank bereits etablierter Frameworks für Unity sehr leicht und ist auch <a href="https://www.udemy.com/course/augmented-reality-101-ar-foundation-basics/learn/lecture/21900656#overview">in kostenlosen Video Tutorials</a> schnell erlernbar. Das Platzieren eines Spielfeld per Marker funktionierte in einem ersten Prototypen problemlos. An der FH wurde dies jedoch schnell zum Problem aufgrund der spiegelnden Untergründe, weshalb die Spielfeld Platzierung von Malek auf ein Marker-based Modell mit QR Code umgebaut wurde.</p>



<p><strong>Multiplayer Game</strong>: Die Integration von Photon lässt sich schnell anhand zahlreicher Tutorials realisieren. Da das manuelle Joinen in Lobbies etwas komplexer ist, haben wir uns vorerst für ein Quickmatch entschieden. Dabei wird automatisch ein Match gehostet, wenn noch keines existiert. Sollte bereits eines bestehen, wird automatisch gejoined und über den SpawnManager der Spieler im entsprechenden Team platziert.</p>



<p><strong>Physik</strong>: Durch AR-Realisierung verhält sich die Skalierung und Physikberechnung von 3D Objekten sehr merkwürdig. Dies hatten wir nicht am Schirm und bedurfte viel Anpassungen und absurden Werten bei Geschwindigkeit und Masse.</p>



<p><strong>Mögliche zukünftige Features</strong></p>



<figure class="wp-block-gallery has-nested-images columns-2 wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/journal-cube_game_concept_v1-scaled.jpg"><img loading="lazy" decoding="async" width="2560" height="1810" data-id="12128" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/journal-cube_game_concept_v1-scaled.jpg" alt="" class="wp-image-12128" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cube_game_concept_v1-scaled.jpg 2560w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cube_game_concept_v1-1536x1086.jpg 1536w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cube_game_concept_v1-2048x1448.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a></figure>



<figure class="wp-block-image size-full"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/journal-cube_v1-scaled.jpg"><img loading="lazy" decoding="async" width="2560" height="1810" data-id="12130" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2024/03/journal-cube_v1-scaled.jpg" alt="" class="wp-image-12130" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cube_v1-scaled.jpg 2560w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cube_v1-1536x1086.jpg 1536w, https://mobile.fhstp.ac.at/wp-content/uploads/2024/03/journal-cube_v1-2048x1448.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a></figure>
</figure>



<h2 class="wp-block-heading">Links</h2>



<ul class="wp-block-list">
<li><a href="https://github.com/fhstpoelten-avr21/ar_multiplayer_game/tree/main  https://kenney.nl/">R</a><a href="https://github.com/fhstpoelten-avr21/ar_multiplayer_game">epository für Car Kickers AR</a></li>
</ul>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/car-kickers-ar/">Car Kickers AR</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PinGo &#8211; oder die einwöchige Entstehung eines Location-Based-Service</title>
		<link>https://mobile.fhstp.ac.at/development/pingo-oder-die-einwoechige-entstehung-eines-location-based-service/</link>
		
		<dc:creator><![CDATA[Christoph Murauer]]></dc:creator>
		<pubDate>Fri, 22 Sep 2023 14:01:50 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projekte]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=11099</guid>

					<description><![CDATA[<p>Die Lehrveranstaltung Im Zuge einer LVA der Masterklasse Mobile des Studiengangs Interactive Technologies, musste gemeinsam im Team eine spezifische App, innerhalb eines fixen Zeitraums, entwickelt werden. Innerhalb einer Woche galt es einen standortbasierten Dienst zu programmieren, mit dem ein User eine Kollektion von Standorten erstellen und teilen kann. Es galt also eine mobile Web-Applikation mit <a class="read-more" href="https://mobile.fhstp.ac.at/development/pingo-oder-die-einwoechige-entstehung-eines-location-based-service/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/development/pingo-oder-die-einwoechige-entstehung-eines-location-based-service/">PinGo &#8211; oder die einwöchige Entstehung eines Location-Based-Service</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Die Lehrveranstaltung</h2>



<p>Im Zuge einer LVA der Masterklasse <em>Mobile</em> des Studiengangs <em>Interactive Technologies</em>, musste gemeinsam im Team eine spezifische App, innerhalb eines fixen Zeitraums, entwickelt werden. Innerhalb einer Woche galt es einen standortbasierten Dienst zu programmieren, mit dem ein User eine Kollektion von Standorten erstellen und teilen kann. Es galt also eine mobile Web-Applikation mit Front- und Backend zu erstellen, welche neben den Standortdaten auch ein komplettes Usermanagement mit Authentifizierung und Autorisierung beinhalten musste.</p>



<p>Am Ende der 5 Tage gab es die Auflösung, dass die Aufgabenstellung bewusst vage gehalten und in dem Zeitraum eigentlich gar nicht bewältigbar war. Das Ziel dieser Übung war vielmehr, im Team mit dem Druck umgehen zu können und die Aufgaben so gut es geht zu erledigen, auch wenn am Ende dabei ein unfertiges Produkt entsteht. In dieser intensiven Zeit musste das Team perfekt harmonieren, damit der Fokus auf den einzelnen Arbeitspaketen liegen konnte.&nbsp;</p>



<h2 class="wp-block-heading">Die Gruppendynamik</h2>



<p>Eine Extreme Programming (XP) Week ist eine intensive Phase in der Softwareentwicklung, bei der Teammitglieder eng zusammenarbeiten, um hochwertige Software in kurzer Zeit zu erstellen. Die Gruppendynamik spielt während einer solchen Woche eine entscheidende Rolle und kann den Erfolg des Projekts maßgeblich beeinflussen. Hier sind einige wichtige Aspekte der Gruppendynamik während einer Extreme Programming Week:</p>



<h3 class="wp-block-heading">Kommunikation</h3>



<p>In einem XP-Team ist eine offene und effektive Kommunikation von größter Bedeutung. Teammitglieder sollten regelmäßig miteinander sprechen, Ideen austauschen und Probleme besprechen. Die Gruppendynamik wird gestärkt, wenn alle Mitglieder das Gefühl haben, dass ihre Meinungen und Vorschläge gehört und respektiert werden.</p>



<h3 class="wp-block-heading">Zusammenarbeit</h3>



<p>XP fördert die Zusammenarbeit zwischen den Mitgliedern des Teams. Während der XP Week arbeiten Entwickler, Tester und andere Fachleute eng zusammen, um Code zu schreiben, zu testen und zu verbessern. Die Gruppendynamik wird gestärkt, wenn alle Teammitglieder ihre Fähigkeiten und Erfahrungen einbringen und sich gegenseitig unterstützen.</p>



<h3 class="wp-block-heading">Vertrauen</h3>



<p>Vertrauen ist ein zentraler Aspekt der Gruppendynamik in einem XP-Team. Teammitglieder müssen sich darauf verlassen können, dass ihre Kollegen ihre Aufgaben sorgfältig erledigen und sich an Vereinbarungen halten. Das Aufbauen und Aufrechterhalten von Vertrauen ist während einer XP Week von entscheidender Bedeutung.</p>



<h3 class="wp-block-heading">Flexibilität</h3>



<p>In einer XP Week kann es zu unerwarteten Änderungen und Herausforderungen kommen. Teammitglieder müssen flexibel sein und bereit sein, sich anzupassen. Die Gruppendynamik wird gestärkt, wenn das Team gemeinsam Lösungen für Probleme findet und sich nicht von Rückschlägen entmutigen lässt.</p>



<h3 class="wp-block-heading">Fokussierung</h3>



<p>Während einer XP Week ist es wichtig, dass alle Teammitglieder das gemeinsame Ziel im Blick behalten &#8211; die Erstellung hochwertiger Software. Die Gruppendynamik wird gestärkt, wenn das Team motiviert und engagiert ist, das Ziel zu erreichen.</p>



<h3 class="wp-block-heading">Feedback</h3>



<p>Feedback ist ein wichtiger Bestandteil von XP. Teammitglieder geben sich kontinuierlich Feedback, um ihre Arbeit zu verbessern. Die Gruppendynamik wird gestärkt, wenn Feedback konstruktiv und respektvoll gegeben wird.</p>



<p>Insgesamt kann eine positive Gruppendynamik während einer Extreme Programming Week den Erfolg des Projekts erheblich beeinflussen. Ein gut eingespieltes Team, das effektiv kommuniziert, zusammenarbeitet und Vertrauen aufbaut, ist besser in der Lage, die Herausforderungen einer XP Week zu bewältigen und hochwertige Software zu liefern.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11215" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-14_frontend_entwicklung-1540x800.jpg" alt="" class="wp-image-11215" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-14_frontend_entwicklung-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-14_frontend_entwicklung-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11216" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-15_backend_entwicklung-1540x800.jpg" alt="" class="wp-image-11216" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-15_backend_entwicklung-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-15_backend_entwicklung-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>
</figure>



<h2 class="wp-block-heading">Der Ablauf</h2>



<p>Nachdem die Aufgabenstellung erstmals erschlagend wirkte, haben wir unmittelbar notwendige Aufgabenbereiche definiert. Neben einem Frontend und Backend Bereich, wurde das Team auch in Web Design und DevOps aufgeteilt.&nbsp;</p>



<p>Im Frontend Team lag der Fokus u.a. am Umsetzen des User-Interfaces sowie dem Erfassen der Daten, welche anschließend im Backend über die bereitgestellte API persistiert wurden.&nbsp;</p>



<p>Im Design wurde neben dem Styling der UI-Komponenten auch ein Logo sowie Print-Medien entworfen. Währenddessen wurde im Dev-Ops Bereich, eine Pipeline für die kontinuierliche Integration (Continuous Integration; GitLab) und kontinuierliche Bereitstellung (Continuous Delivery; GitLab Runner), unter Nutzung eines virtuellen Docker-Containers, geschaffen.</p>



<p>Wie sich bereits erkennen lässt, mussten sehr komplexe Aufgaben in sehr kurzer Zeit erledigt werden. Dies veranlasste einige hochmotivierte Teammitglieder sogar dazu, mal eine Nacht durchzuarbeiten.&nbsp;</p>



<p>Die größten Herausforderungen und Differenzen gab es jedoch anfangs in Bezug auf die Wahl eines geeigneten Technologie-Stacks. Gerade in der Tech-Branche existiert meist ein sehr subjektiver Blick auf die bevorzugte Technologie oder Sprache, was oft zu irrationalen Glaubenskriegen führt, wie es beispielsweise auch sehr oft zwischen Apple und Microsoft Produkten zu beobachten ist. Die einzige richtige Wahl in solchen Diskussionen ist dann meist auf die eigene Vorliebe und Erfahrung zurückzuführen. Dazu kommt eine gerade in der Web-Entwicklung, sich stetig verändernde Auswahl an populären Frameworks und Sprachen. So musste man sich etwa entscheiden bezüglich der Server-Sprache (PHP, Javascript, Python), der Versionsverwaltung (GitHub vs GitLab), der Bereitstellung (eigener Server, Netlify, Vercel, Firebase) und einem Datenbankmodell (NO-SQL vs SQL). Besonders schwer erwies sich jedoch die Wahl des Frontend Frameworks, da hier viele unterschiedliche Erfahrungen, Meinungen und Backgrounds zusammengestoßen sind. Während schnell klar war, dass man ein Javascript Framework verwendet, welches speziell für die Entwicklung von hybriden mobilen Apps konzipiert wurde (Ionic vs Flatter), fiel die Wahl des untergeordneten JS-Frameworks (Angular, React, Vue), aufgrund eigener Präferenzen, schwieriger.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11211" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-01_brainstorming_02-1540x800.jpg" alt="" class="wp-image-11211" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-01_brainstorming_02-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-01_brainstorming_02-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11210" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-05_frontend_design-1-1540x800.jpg" alt="" class="wp-image-11210" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-05_frontend_design-1-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-05_frontend_design-1-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11214" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-06_nahrung-1540x800.jpg" alt="" class="wp-image-11214" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-06_nahrung-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-06_nahrung-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11212" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-04_backend_db-1540x800.jpg" alt="" class="wp-image-11212" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-04_backend_db-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-04_backend_db-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11213" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-09_sprint_meeting-1540x800.jpg" alt="" class="wp-image-11213" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-09_sprint_meeting-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-09_sprint_meeting-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11209" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-11_frontend_tests-1540x800.jpg" alt="" class="wp-image-11209" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-11_frontend_tests-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-11_frontend_tests-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>
</figure>



<h2 class="wp-block-heading">Das Projekt</h2>



<p>Da es im Studium vor allem um einen Lerneffekt geht, haben sich einige bewusst für unbekanntes Terrain entschieden, um Neues zu erlernen. Florian Bauer hat sich großteils um Styling, Design und später auch die Printmedien gekümmert und beim Styling im Frontend mitgewirkt. Manuel Hecht, welcher bereits einiges an Erfahrung mit Python, Augmented Reality und einigen JS-Frameworks sammeln konnte, hat sich dem Frontend-Team verschrieben. Christoph Murauer, welcher bereits viel Erfahrung in der Backend Entwicklung und Dev-Ops Themen besitzt, wählte bewusst den Frontend Bereich um sich darin weiterzuentwickeln.&nbsp;</p>



<p>Innerhalb der Masterklasse <em>Mobile</em>, lag unser Fokus auf der Entwicklung einer hybriden mobilen App, welche mehrere Plattformen wie iOS, Android und das Web unterstützt. Somit fiel die Wahl auf das, im Vergleich mit Flatter, universellere Ionic Framework, mit welchem wir bereits die meisten Erfahrungen sammeln konnten.&nbsp;</p>



<p>Das Fundament für dieses UI-Framework bilden wiederum die prominenten Komponenten-basierten JS-Frameworks Angular, React und VueJS. Die Integration mit Angular war von Beginn an vorhanden, wodurch bereits Kinderkrankheiten ausgebügelt werden konnten. Dies hat auch zu einer großen Community von Ionic + Angular beigetragen, wodurch auf eine reichhaltige Hilfestellung zurückgegriffen werden konnte. Die Integration von Vue hingegen ist relativ neu, wodurch noch einige Ungereimtheiten existieren.&nbsp;</p>



<p>Im Frontend-Team wollte man trotzdem diesen Schritt wagen, da man bereits positive Erfahrung mit Vue und Nuxt hatte und zuvor im Studium bereits eine Applikation in der Kombination Ionic + Angular + NestJS erstellen musste. Um die Möglichkeiten einer anderen Technologie zu entdecken, entschied man sich somit für Vue + Ionic und hatte zusammen mit dem Backend eine funktionierende erste Version geschaffen.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo_1.jpg" alt="" class="wp-image-11106" style="width:514px;height:460px" width="514" height="460" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo_1.jpg 1862w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo_1-1536x1376.jpg 1536w" sizes="auto, (max-width: 514px) 100vw, 514px" /></figure></div>


<p>Die Zusammenarbeit lief großteils positiv und jeder hat eigenverantwortlich seine Tasks übernommen. Somit konnte am Ende der Woche zwar eine etwas unfertige, aber dennoch lauffähige und für den Zeitrahmen durchaus beachtliche App präsentiert werden. Natürlich gab es einige Bugs, jedoch wurden viele der geforderten Anforderungen erfüllt.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo_2.jpg" alt="" class="wp-image-11107" style="width:558px;height:488px" width="558" height="488" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo_2.jpg 1556w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo_2-1536x1344.jpg 1536w" sizes="auto, (max-width: 558px) 100vw, 558px" /></figure></div>


<p>Bei den Team-Mitgliedern, die bisher hauptsächlich mit Angular arbeiteten, musste jedoch, aus der eigenen Frustration über eine unfertige Version, das gewählte Framework Vue als Sündenbock herhalten. Gründe waren vermutlich der unvollständigen Dokumentation, der vergleichsweise kleinen Community für Vue + Ionic und der, im Vergleich zu Angular, fehlenden nötigen Erfahrung im Team geschuldet.&nbsp;</p>



<p>Nachdem das Projekt später vor allem durch unsere Angular-Affinen Kollegen weiterentwickelt werden sollte, wurde das Grundgerüst deshalb auch durch Angular ausgetauscht. Mehr zu diesem Thema und zu einem anderen Blickwinkel ist <a href="https://akirchknopf-21110.php.fhstp.cc/allgemein/rueckblick-unsere-reise-mit-pingo-und-die-herausforderungen-von-ionic-vue/">hier</a> zu finden.</p>



<h2 class="wp-block-heading">Die <strong>Präsentation &amp; der Ausblick</strong></h2>



<p>Nachdem die App durch ein komplettes Tutorial und eine Guided-Tour erweitert und durch unsere fleißigen Kollegen Malek und Lukas noch weiter optimiert wurde, haben wir uns kurzfristig dazu entschlossen, an der Projektvernissage teilzunehmen. Tatsächlich haben wir dazu auch eigene T-Shirts von Florian drucken lassen und es herrschte reges Interesse an unserem Stand (dies könnte jedoch auch an den mitgebrachten Erdbeeren von Andreas Babic gelegen haben).</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-8 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11115" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/IMG_20230613_151354-1540x800.jpg" alt="" class="wp-image-11115" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/IMG_20230613_151354-1540x800.jpg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/IMG_20230613_151354-770x400.jpg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" data-id="11103" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/pingo-1540x800.jpeg" alt="" class="wp-image-11103" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-1540x800.jpeg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/pingo-770x400.jpeg 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>
</figure>



<p>Die App wird noch immer weiterentwickelt. So folgt u.a. noch Mehrsprachigkeit &amp; eine Chat-Funktion (siehe eigenen Blogeintrag). Zudem wurde das Projekt auf GitHub verlagert um auch eine mögliche und flexiblere Zusammenarbeit nach dem Studium gewährleisten zu können.</p>



<h2 class="wp-block-heading">Das Fazit</h2>



<p>Im Nachhinein betrachtet gab es einige Differenzen aufgrund der Wahl des Frontends. Die Ursachen lagen einerseits an der persönlichen Vorliebe und an der noch unausgereiften Integration der beiden Frameworks Ionic + Vue. Hier gab es im Team am wenigsten Expertise. Beides hat bei einigen Kollegen zu Frust und einiger Wut geführt, was die Stimmung meist etwas verschlechtert hat. Sinnvoller wäre es vermutlich gewesen, entweder ganz auf Ionic zu verzichten und stattdessen das strukturierte Nuxt zu verwenden, oder auf die etablierte Variante Ionic + Angular zurückzugreifen, da es dafür im Team am meisten Erfahrung und Zustimmung gab. Die unbegründete Wut gegenüber Vue ist jedoch meiner Meinung nach eher der eigenen Vorliebe geschuldet, als wirklich zugrunde liegender objektiver Kritik. Sowohl der Kritik an der Struktur und Flexibilität kann Widersprochen werden, da es hier eher um den eigenen Programmierstil und den einzuhaltenden Programmierparadigmen geht. Zusammengefasst hängt das geeignete JS-Framework stark von den eigenen Vorlieben und dem angestrebten Projekt ab.</p>



<p>Allgemein war die Zusammenarbeit jedoch überdurchschnittlich gut und jeder fand sich sofort in seinem Aufgabenbereich zurecht. Die Kommunikation war stets professionell und respektvoll. Es war eine einzigartige Erfahrung und hat viel Spaß gemacht! In diesem Sinne, happy coding!</p>



<p></p>



<p>Mitwirkend: Florian Bauer</p>
<p>The post <a href="https://mobile.fhstp.ac.at/development/pingo-oder-die-einwoechige-entstehung-eines-location-based-service/">PinGo &#8211; oder die einwöchige Entstehung eines Location-Based-Service</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Docker &#8211; Einführung in die Welt der Container</title>
		<link>https://mobile.fhstp.ac.at/development/docker-einfuehrung-in-die-welt-der-container/</link>
		
		<dc:creator><![CDATA[Christoph Murauer]]></dc:creator>
		<pubDate>Fri, 22 Sep 2023 13:11:51 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Dokumentation]]></category>
		<category><![CDATA[Workshop]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=11071</guid>

					<description><![CDATA[<p>Die Welt der Softwareentwicklung und IT-Infrastruktur hat sich in den letzten Jahren rasant weiterentwickelt. Eine der spannendsten Technologien, die diese Veränderung vor allem im Bereich Development Operations (Dev-Ops) vorangetrieben hat, ist Docker. Dabei handelt es sich um eine Plattform, die die Art und Weise, wie wir Anwendungen entwickeln, bereitstellen und betreiben, grundlegend verändert hat. In <a class="read-more" href="https://mobile.fhstp.ac.at/development/docker-einfuehrung-in-die-welt-der-container/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/development/docker-einfuehrung-in-die-welt-der-container/">Docker &#8211; Einführung in die Welt der Container</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-file"><a id="wp-block-file--media-0112f86a-13f7-4198-af28-dd19679ad42b" href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/docker-1.pptx">docker-präsentation</a><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/docker-1.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-0112f86a-13f7-4198-af28-dd19679ad42b">Herunterladen</a></div>



<p>Die Welt der Softwareentwicklung und IT-Infrastruktur hat sich in den letzten Jahren rasant weiterentwickelt. Eine der spannendsten Technologien, die diese Veränderung vor allem im Bereich Development Operations (Dev-Ops) vorangetrieben hat, ist Docker. Dabei handelt es sich um eine Plattform, die die Art und Weise, wie wir Anwendungen entwickeln, bereitstellen und betreiben, grundlegend verändert hat. In diesem Artikel gibts es einen kurzen Einblick in Docker und der Zugrunde liegenden Containervirtualisierung.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/image-1540x800.png" alt="" class="wp-image-11074" style="width:535px;height:278px" width="535" height="278" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/image-1540x800.png 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/image-770x400.png 770w" sizes="auto, (max-width: 535px) 100vw, 535px" /><figcaption class="wp-element-caption">Historie &#8211; Software Entwicklungs Prozess</figcaption></figure></div>


<p><strong>Was ist Docker?</strong></p>



<p>Docker ist eine Containervirtualisierungsplattform, die es Entwicklern ermöglicht, Anwendungen und deren Abhängigkeiten in sogenannten Containern zu verpacken. Ein Container ist ein modularer Technologie Stack, der alles enthält, was eine Anwendung benötigt, um ordnungsgemäß zu funktionieren. Neben der eigentlichen Linux-Laufzeitumgebung, enthält er u.a. sämtliche Bibliotheken und der nötigen Konfiguration für die individuelle Anwendung. Docker-Container sind plattformunabhängig und können auf jedem System ausgeführt werden, das Docker unterstützt, unabhängig von der zugrunde liegenden Infrastruktur.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/image-3-1026x800.png" alt="" class="wp-image-11077" style="width:243px;height:189px" width="243" height="189" /><figcaption class="wp-element-caption">Container Architektur</figcaption></figure></div>


<p><strong>Warum Docker?</strong></p>



<p>Docker bietet eine Reihe von Vorteilen, die die Softwareentwicklung und Bereitstellung erheblich erleichtern:</p>



<ol class="wp-block-list">
<li><strong>Portabilität:</strong> Docker-Container sind konsistent und überall ausführbar, sei es auf der lokalen Entwicklungsumgebung, Testumgebungen oder in der Cloud.</li>



<li><strong>Isolation:</strong> Jeder Container ist isoliert, was bedeutet, dass Anwendungen und deren Abhängigkeiten in einer geschützten Umgebung ausgeführt werden.</li>



<li><strong>Skalierbarkeit:</strong> Docker erleichtert das Skalieren von Anwendungen, indem neue Container schnell erstellt und gestartet werden können, um den steigenden Anforderungen gerecht zu werden.</li>



<li><strong>Effizienz:</strong> Container sind ressourceneffizient und starten in Sekundenschnelle, was die Entwicklungs- und Bereitstellungsprozesse beschleunigt.</li>



<li><strong>DevOps-Integration:</strong> Docker passt gut zu DevOps-Praktiken und ermöglicht die Automatisierung von Tests, Integration und Bereitstellung (Continuous Integration und Delivery)</li>
</ol>



<p></p>



<blockquote class="wp-block-quote has-text-align-center is-layout-flow wp-block-quote-is-layout-flow">
<p id="block-a767caa1-380d-4ce7-a4b2-8e5b0244a5f3"><em>„A container is an abstraction at the application layer that packages code and dependencies together. Instead of virtualizing the entire physical machine, containers virtualize the host operating system only.“</em></p>
<cite>Docker Inc.</cite></blockquote>



<p></p>



<p><strong>Wie funktioniert Docker?</strong></p>



<p>Docker basiert auf der sogenannten Docker-Engine, um Container zu erstellen, zu verwalten und auszuführen. Die Docker-Engine umfasst den Docker-Daemon, der auf dem Host-System läuft, sowie die Docker-CLI, mit der Entwickler und Administratoren mit den Containern interagieren können.</p>



<p>Ein Docker-Image basiert auf einem Linux-Image und ist die Grundlage für die Erstellung von Containern. Ein Image ist eine schreibgeschützte Vorlage, die alle Anwendungsdateien und -abhängigkeiten enthält. Container werden aus diesen Images erstellt und können gestartet, gestoppt, verschoben und gelöscht werden.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/image-9.jpg" alt="" class="wp-image-11094" style="width:428px;height:130px" width="428" height="130" /></figure></div>


<p></p>



<p><strong>Vor- und Nachteile</strong></p>



<p>Docker und <strong>virtuelle Maschinen (VMs) </strong>sind zwei unterschiedliche Ansätze zur Bereitstellung von Anwendungen und Ressourcenisolierung in einer virtualisierten Umgebung. Jede Technologie hat ihre eigenen Vor- und Nachteile, die je nach den spezifischen Anforderungen und Zielen einer Anwendung oder eines Projekts variieren können. Hier sind einige der wichtigsten Vor- und Nachteile von Docker im Vergleich zu VMs:</p>



<p>Die Containervirtualisierung bietet folgende <strong>Vorteile</strong>:</p>



<ul class="wp-block-list">
<li><strong>Effizienz &amp; Ressourcen:</strong> Docker-Container teilen sich den Kernel des Host-Betriebssystems und sind daher in der Regel ressourcenschonender als VMs. Sie starten schneller und verbrauchen weniger Speicherplatz.</li>



<li><strong>Schnellere Bereitstellung:</strong> Docker-Container können in Sekunden gestartet werden, während VMs in der Regel mehr Zeit benötigen, um gestartet zu werden.</li>



<li><strong>Portabilität: </strong>Docker-Container sind in der Regel sehr fexibel und modular und können leicht zwischen verschiedenen Umgebungen verschoben werden, solange diese Docker-Engine unterstützen. Dies vereinfacht die Entwicklung und Bereitstellung von Anwendungen.</li>



<li><strong>Isolation: </strong>Docker bietet eine gewisse Isolation zwischen Containern, was dazu beiträgt, Konflikte zwischen Anwendungen zu vermeiden. Allerdings ist die Isolation nicht so stark wie bei VMs.</li>



<li><strong>Ökosystem &amp; Community: </strong>Docker hat ein reichhaltiges Ökosystem von vorgefertigten Images und Tools, die die Entwicklung und Bereitstellung von Anwendungen beschleunigen. Zudem ist die Community mittlerweile sehr groß und unterstützt gerne.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/image-6-1540x800.png" alt="" class="wp-image-11091" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/image-6-1540x800.png 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/image-6-770x400.png 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<p>Jedoch hat Docker auch folgende <strong>Nachteile</strong> gegenüber VM&#8217;s</p>



<ul class="wp-block-list">
<li><strong>Sicherheit:</strong> Docker-Container teilen sich den Kernel des Host-Betriebssystems, was bedeutet, dass sie nicht so stark isoliert sind wie VMs. Dies kann zu Sicherheitsproblemen führen, wenn Container unsicher konfiguriert sind.</li>



<li><strong>Variation von Betriebssystemen</strong>: Docker ist in der Regel auf Anwendungen beschränkt, die das gleiche Betriebssystem (Linux) verwenden. VMs können verschiedene Betriebssysteme innerhalb desselben Hosts ausführen.</li>



<li><strong>Komplexere Anpassung:</strong> Das Anpassen von Docker-Containern kann komplexer sein als das Anpassen von VMs, insbesondere wenn spezielle Kernel-Module oder Hardware-Zugriff erforderlich sind.</li>
</ul>



<p></p>



<p><strong>Anwendungsfälle für Docker</strong></p>



<p>Docker findet in einer Vielzahl von Anwendungsfällen Verwendung:</p>



<ol class="wp-block-list">
<li><strong>Microservices-Architekturen:</strong> Docker erleichtert die Implementierung von Microservices, indem jede Komponente in einem eigenen Container isoliert wird.</li>



<li><strong>Continuous Integration/Continuous Deployment (CI/CD):</strong> Docker ermöglicht die Erstellung von CI/CD-Pipelines, um Anwendungen effizienter und zuverlässiger bereitzustellen.</li>



<li><strong>Testumgebungen:</strong> Entwickler können problemlos unterschiedliche Testumgebungen erstellen und replizieren.</li>



<li><strong>Skalierbare Webanwendungen:</strong> Docker ermöglicht das einfache Hinzufügen oder Entfernen von Anwendungskomponenten je nach Bedarf.</li>
</ol>



<p><strong>Ökosystem</strong></p>



<p>Docker besitzt mittlerweile ein ausgiebiges Ökosystem welches hier im Groben beschrieben wird:</p>



<ul class="wp-block-list">
<li><strong>Docker Desktop</strong> (one-click installer)
<ul class="wp-block-list">
<li>Docker Engine: Benutzerschnittstelle (Client-Server Anwendung &amp; CLI)</li>



<li>Docker Compose (für muli-container Applikationen als YAML file)</li>



<li>Docker Buildx (Images erstellen)<br>…</li>
</ul>
</li>



<li><strong>Docker Hub: </strong>Bibliothek und Verzeichnisvon Images</li>
</ul>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/image-9-1540x800.png" alt="" class="wp-image-11096" style="width:372px;height:193px" width="372" height="193" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/image-9-1540x800.png 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2023/09/image-9-770x400.png 770w" sizes="auto, (max-width: 372px) 100vw, 372px" /></figure>



<ul class="wp-block-list">
<li><strong>Docker Swarm, Kubernetes</strong>:multiple Host support</li>
</ul>



<p></p>



<p><strong>Fazit</strong></p>



<p>Docker hat die Art und Weise, wie wir Software entwickeln und bereitstellen, grundlegend verändert. Die Fähigkeit, Anwendungen in Containern zu verpacken, bietet Portabilität, Skalierbarkeit und Isolation, die in der heutigen schnelllebigen Welt der Softwareentwicklung von entscheidender Bedeutung sind. </p>



<p></p>



<p></p>



<p><strong>Quellen</strong></p>



<ul class="wp-block-list">
<li>Docker: <a href="https://www.docker.com/">https://www.docker.com/</a></li>



<li>Docker Erklärung 1 &amp; Linux Container: <a href="https://www.redhat.com/de/topics/containers/what-is-docker">https://www.redhat.com/de/topics/containers/what-is-docker</a></li>



<li>Docker Erklärung 2 &amp; Aufbau: <a href="https://k21academy.com/docker-kubernetes/docker-tutorial/">https://k21academy.com/docker-kubernetes/docker-tutorial/</a></li>



<li>Monolith vs Microservices: <a href="https://k21academy.com/docker-kubernetes/monolithic-vs-microservices/">https://k21academy.com/docker-kubernetes/monolithic-vs-microservices/</a></li>



<li>VM vs Docker Performance 1: <a href="https://stackoverflow.com/questions/21889053/what-is-the-runtime-performance-cost-of-a-docker-container">https://stackoverflow.com/questions/21889053/what-is-the-runtime-performance-cost-of-a-docker-container</a></li>



<li>VM vs Docker Performance 2: <a href="https://www.aquasec.com/cloud-native-academy/docker-container/docker-containers-vs-virtual-machines/">https://www.aquasec.com/cloud-native-academy/docker-container/docker-containers-vs-virtual-machines/#:~:text=Docker%20containers%20are%20process%2Disolated,fewer%20resources%20than%20a%20VM</a>.</li>



<li>Vor- und Nachteile: <a href="https://www.computerwoche.de/a/die-wichtigsten-vor-und-nachteile-von-docker-containern,3546671">https://www.computerwoche.de/a/die-wichtigsten-vor-und-nachteile-von-docker-containern,3546671</a></li>
</ul>



<div class="wp-block-file"><a id="wp-block-file--media-6a69d35e-a00e-45d9-9136-a52b65a2bf7c" href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/docker-1.pptx">docker-1</a><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2023/09/docker-1.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-6a69d35e-a00e-45d9-9136-a52b65a2bf7c">Herunterladen</a></div>
<p>The post <a href="https://mobile.fhstp.ac.at/development/docker-einfuehrung-in-die-welt-der-container/">Docker &#8211; Einführung in die Welt der Container</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
