<?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 Maximilian Hraschan - Mobile USTP MKL</title>
	<atom:link href="https://mobile.fhstp.ac.at/author/it201503/feed/" rel="self" type="application/rss+xml" />
	<link>https://mobile.fhstp.ac.at/author/it201503/</link>
	<description>Die &#34;Mobile Forschungsgruppe&#34; der USTP, sie  sammelt hier alles zu den Themen Design, UX und Entwicklung mobiler Applikationen</description>
	<lastBuildDate>Tue, 19 Apr 2022 08:00:40 +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 Maximilian Hraschan - Mobile USTP MKL</title>
	<link>https://mobile.fhstp.ac.at/author/it201503/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sensor Library</title>
		<link>https://mobile.fhstp.ac.at/development/sensor-library/</link>
		
		<dc:creator><![CDATA[Maximilian Hraschan]]></dc:creator>
		<pubDate>Thu, 03 Mar 2022 09:59:13 +0000</pubDate>
				<category><![CDATA[Cross Plattform]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=9852</guid>

					<description><![CDATA[<p>Sensor Library Innerhalb des 3ten Semesters haben wir, die Masterklasse Mobile, die Aufgabe ein Gruppenprojekt umzusetzten. Zusammen wurde entschieden, dieses mit Flutter umzusetzen. Eine Flutter Library, welche verschiedene Sensoren auslesen kann und roh oder interpretiert zurückgibt. https://github.com/hraschan/flutter_sensor_library Außerdem haben wir uns hier entschieden, dass es eine “Beispiel App” dafür geben soll, die die Anwendung der <a class="read-more" href="https://mobile.fhstp.ac.at/development/sensor-library/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/development/sensor-library/">Sensor Library</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Sensor Library</h1>



<p>Innerhalb des 3ten Semesters haben wir, die Masterklasse Mobile, die Aufgabe ein Gruppenprojekt umzusetzten. Zusammen wurde entschieden, dieses mit Flutter umzusetzen. Eine Flutter Library, welche verschiedene Sensoren auslesen kann und roh oder interpretiert zurückgibt.</p>



<p><a href="https://github.com/hraschan/flutter_sensor_library">https://github.com/hraschan/flutter_sensor_library</a></p>



<p>Außerdem haben wir uns hier entschieden, dass es eine “Beispiel App” dafür geben soll, die die Anwendung der Library präsentiert.</p>



<p><a href="https://github.com/hraschan/flutter_sensor_library_app">https://github.com/hraschan/flutter_sensor_library_app</a></p>



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



<p>Da wir alle zuvor kaum bis gar keine Erfahrung mit Flutter gemacht haben, wurde von Mario und Maximilian ein Workshop vorbereitet, der uns die Grundlagen präsentiert hat und in welchem wir gemeinsam das Setup des Projekts durchführten.</p>



<p>Flutter an sich ist ein Open-Souce-Framework von Google, das zur Erstellung von nativ kompilierten Anwendungen verwendet wird. Bei Flutter gibt es viele Bibliotheken für Standard-UI-Elemente, die bei Android oder iOS benötigt werden. Für Desktop Webanwendungen kann das Framework auch eingesetzt werden.</p>



<p>Das Framework wird also primär für iOS und Android Applikationen verwendet. Für die Entwicklung wird die Programmiersprache “Dart” verwendet, diese wurde ebenfalls von Google entwicklet.</p>



<h2 class="wp-block-heading">Was kann die Library</h2>



<p>Die Library bietet verschiedene Klassen und Methodensammlungen an, um die Sensoren eines Mobilgeräts nutzen zu können. Dabei beruht sie bei den meisten Sensoren auf bereits vorhandenen Librarys, verarbeitet diese und gibt die Daten, wenn gewünscht, gesammelt an eine Flutter App weiter. Zudem bietet die Library auch interpretierte bzw. aus mehreren Sensoren zusammengefasste Daten, wie bspw. die Höhenmeter an, die aus dem aktuellen Luftdruck (Barometer) und dem Luftdruck auf Seehöhe ausgerechnet werden.</p>



<p>Aufgerufen kann die Funktionalität über gewisse Wrapper-Klassen, je nachdem ob Bewegungs-Daten (Movement), Positions-Daten (Position) oder Umgebungs-Daten (Environment) benötigt werden. Außerdem können die nativen Sensoren einzeln aufgerufen werden. Dabei muss immer angegeben werden, in welchem Zeitintervall die jeweilige Klasse Daten zurückliefern soll.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Movement mvmnt = Movement(inMillis: 2000);
mvmnt.getMovementType(true).forEach((element) {print(element.fwd);});

</pre></div>


<p>Mit diesem einfachen Code-Beispiel kann alle 2 Sekunden abgefragt werden, ob sich das Gerät in den letzten zwei Sekunden nach vorne bewegt hat. Mit der Übergabe des Boolean (in dem Fall true) kann festgelegt werden, ob die aktuelle Fortbewegung zum Zeitpunkt der Abfrage oder die interpolierten Daten seit der letzten Abfrage wiedergegeben werden sollen.</p>



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



<p>Um die Andwendung der Library zu vereinfachen, wurde ein Beispielapplikation geschaffen, welche die einzelnen Verwendungszwecke zeigen soll. Hier einige Screenshots der Anwendung:</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">
<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="257" height="529" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/03/grafik-2.png" alt="" class="wp-image-9856"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img decoding="async" width="258" height="529" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/03/grafik-1.png" alt="" class="wp-image-9855"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>
</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" style="flex-basis:100%">
<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">
<figure class="wp-block-image size-full"><img decoding="async" width="313" height="643" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/03/grafik-3.png" alt="" class="wp-image-9857"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="313" height="643" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/03/grafik-5.png" alt="" class="wp-image-9859"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="313" height="643" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/03/grafik-7.png" alt="" class="wp-image-9862"/></figure>
</div>
</div>
</div>
</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">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="289" height="642" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/03/grafik-4.png" alt="" class="wp-image-9858"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="290" height="643" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/03/grafik-8.png" alt="" class="wp-image-9863"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="289" height="643" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/03/grafik-9.png" alt="" class="wp-image-9864"/></figure>
</div>
</div>



<h2 class="wp-block-heading">Personal Learnings</h2>



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



<p>Mein Learning aus dem Gruppenprojekt ist die Einführung in Flutter. Ich habe mit diesem Framework zuvor noch keine Projekte umsetzen können. Ehrlichgesagt finde ich das Framework recht unübersichtlich und ich finde es gibt Frameworks, die um Einiges besser konzipiert sind als Flutter. Dennoch habe ich dieses Learning für die Zukunft mitnehmen können und da Flutter recht bekannt ist, ist auch diese Erfahrung von Wert.</p>



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



<p>Für mich war Flutter vollkommenes Neuland. Bei diesem Projekt konnte ich hier einiges lernen. Von Projektstruktur über Codeaufbau, Widget Aufbau, Verwendung von Libraries sowie die Nutzung verschiedener Simulatoren.</p>



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



<p>Die Vertiefung der Kenntnisse in Flutter nach dem gemeinsamen Workshop mit Maximilian ist bestimmt ein großer Lernzugewinn. Die Nutzung der Sprache Dart ist doch etwas ungewohnt, obwohl sie sehr an JavaScript angelehnt ist. Außerdem konnte ich bei der Konzeption einer Library sehr viel dazulernen. Die Erarbeitung einer Library und die Vorstellung anderer Entwickler<em>innen als Nutzer</em>innen des eigenen Programms stellt einen Lerneffekt dar, den man in anderen Projektkontexten so nicht hat.</p>



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



<p>Für mich hat dieses Projekt vor allem einen tieferen Einblick in Flutter ermöglicht. Auch habe ich das aufbauen einer eigenen Library bis jetzt noch nicht in dieser Form kennengelernt. Ich denke jedoch das es noch einiger Zeit bedarf um gute Lösungen mit der Technologie Flutter entwickeln zu können</p>



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



<p>Bis zum Workshop von Mario und Maxi kannte ich weder Flatter noch Dart. Durch den Workshop konnte ich mir ein gutes Grundwissen aneignen und anschließend im Rahmen des Projekts tiefer in die Materie einsteigen. Im Großen und Ganzen habe ich einen guten Überblick über Flutter, Dart und verschiedener Sensoren bekommen.</p>



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



<p>Die Zusammenarbeit mit Mario und Maxi während der Ausarbeitung des Backends hat mir einige neue Erkenntnisse gebracht. Sowohl mit Flutter als auch mit Dart hatte ich vor diesem Projekt wenig zu tun gehabt. Daher war es für mich sehr erkenntnisreich, ein Projekt umzusetzen, beziehungsweise daran beteiligt zu sein. Auch der Gedanke eine eigene Library zu erstellen war für mich interessant, da ich diesen Aspekt des Programmierens bis dato nur von der anderen Seite gekannt habe. Ich bin gespannt, ob die Library in irgendeiner Form einen späteren Verwendungszweck finden wird.</p>
<p>The post <a href="https://mobile.fhstp.ac.at/development/sensor-library/">Sensor Library</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Gymble</title>
		<link>https://mobile.fhstp.ac.at/allgemein/gymble/</link>
		
		<dc:creator><![CDATA[Maximilian Hraschan]]></dc:creator>
		<pubDate>Sat, 05 Feb 2022 11:16:29 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=9343</guid>

					<description><![CDATA[<p>Im zweiten und dritten Semester des Masterstudium Interactive Technologies, haben Maximilian Hraschan und Armin Novacek die Fitnessapp, welche wir im ersten Semester mit Ionic umgesetzt haben, neu ausprogrammiert. Diesmal entschieden wir uns für ein neues Frontend, umgesetzt in React Native. Jenes Framework war uns beiden neu und wir musste gezwungenermaßen bei Null anfangen. Das Backend <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/gymble/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/gymble/">Gymble</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Im zweiten und dritten Semester des Masterstudium Interactive Technologies, haben Maximilian Hraschan und Armin Novacek die Fitnessapp, welche wir im ersten Semester mit Ionic umgesetzt haben, neu ausprogrammiert. Diesmal entschieden wir uns für ein neues Frontend, umgesetzt in React Native. Jenes Framework war uns beiden neu und wir musste gezwungenermaßen bei Null anfangen. Das Backend in NodeJs konnten wir teilweise übernehmen und um neue Funktionalitäten erweitern. Neben neuen Funktionen hat sich auch das Design der App verändert.</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">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="355" height="750" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/02/image.png" alt="" class="wp-image-9344"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="358" height="750" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/02/image-1.png" alt="" class="wp-image-9345"/></figure>
</div>
</div>



<p>Wir entschieden uns die klassische Fitnesstrackingapp in Richtung Physiotherapie zu erweitern. Mehr zu den Funktionen für Physiotherapeut:innen und dessen Patient:innen werden nachfolgend angeführt. Außerdem konnte unsere Idee die Jury des Creative Pre-Inkubators (CPI) überzeugen und wir wurden im Programm aufgenommen. Derzeit absolvieren wir den CPI mit der App Gymble und erweitern parallel die App.</p>



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



<p>Da Maximilian Hraschan und Armin Novacek die App gerne für ihre Masterarbeit verwenden wollten wurde die App um eine Idee reicher. Diese beschränkt sich nun nicht mehr nur auf den Bereich Fitness, sondern möchte auch in der Physiotherapie eine Veränderung bewirken. Somit teilt sich die App in zwei große Teilbereiche auf, einerseits den Fitnesspart, in dem es dem User möglich ist, sein Training zu tracken, den fortschritt einzusehen und sich mit anderen Fitnessbegeisterten zu verbinden. Im zweiten Bereich Physiotherapie soll den Patient:innen eine Therapie Übersicht gegeben werden und den Physiotherapeut:innen eine Administrative Plattform geboten werden. Details zu dem Tracking – und Statistikfunktion gibt es bereits in unseren letzten Beiträgen. &nbsp;</p>



<p><a href="https://akirchknopf-21110.php.fhstp.cc/allgemein/fitness-app-gymble/">Beitrag Maximilian Hraschan</a>, <a href="https://akirchknopf-21110.php.fhstp.cc/allgemein/gymble-projektbeitrag/">Beitrag Armin Novacek</a></p>



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



<p>Das Netzwerk ermöglicht User:innen sich mit anderen Nutzer:innen zu befreunden. Mit diesen Freund:innen können sie Trainingspläne, einzelne Trainings und Übungen teilen. Das Netzwerk dient zu Inspiration und schlägt User:innen beliebte Trainings vor. Neben den beliebtesten Trainings werden User:innen auch die Trainings ihrer Freund:innen gezeigt, welche runtergeladen werden können. Diese können einfach zur eigenen Trainingsroutine hinzugefügt werden. Dieser Bereich ist einerseits für fortgeschritten Kraftsportler:innen von Vorteil, da sie ihre Trainingsroutine abwechslungsreicher gestalten können und andererseits passend für Anfänger:innen, da diese ohne viel Vorerfahrung Zugang zu beliebten Trainings haben und dadurch ein erleichterter Einstieg garantiert ist.</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">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="358" height="750" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/02/image-2.png" alt="" class="wp-image-9346"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="356" height="750" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/02/image-3.png" alt="" class="wp-image-9347"/></figure>
</div>
</div>



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



<p>Für Patient:innen der Physiotherapie soll die App eine zusätzliche Stütze zur aktiven Therapie bieten. Die Patient:innen bekommen von ihrer persönlichen Physiotherapeut:in eine Therapie zugewiesen in der sich alle Übungen befinden die sie dann zu Hause erneut durchführen können. Eine extra dafür vorgesehene Seite führt die Patient:innen durch die Therapie, erklärt die einzelnen Übungen und ermöglicht es dem User nach jeder abgeschlossenen Übung ein Feedback zu dieser abzugeben. In der Übungsübersicht kann der Patient:in ein Video zu jeder Übung hinzufügen. Dieses kann gemeinsam mit der Physiotherapeut:inn aufgenommen um später beim durchführen der Therapie das Video immer wieder anschauen zu können.</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">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="356" height="750" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/02/image-4.png" alt="" class="wp-image-9348"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="356" height="750" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/02/image-5.png" alt="" class="wp-image-9349"/></figure>
</div>
</div>



<h2 class="wp-block-heading">Physiotherapeut:innen</h2>



<p>Die Physiotherpeut:innen können in der App Administrative Funktionen durchführen. So haben sie die Möglichkeit neue Patient:innen ihrer Liste hinzuzufügen. Außerdem können sie dann jeder Patient:inn neue Therapien hinzufügen oder diese bearbeiten und löschen. Auch kann der Fortschritt der einzelnen Patent:inn eingesehen werden und zusätzliche Notizen angehängt werden. Außerdem können vorab Vorlagen für Übungen und Therapien erstellt werden.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="353" height="750" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/02/image-6.png" alt="" class="wp-image-9350"/></figure></div>



<h2 class="wp-block-heading">Kraftsportler:innen</h2>



<p>Armin Novacek konzeptioniert im Rahmen seiner Masterarbeit zusätzliche Features, die die Aufgabe haben, User:innen bestmöglich zu motivieren. Im Rahmen der Umsetzung führte er Interviews mit Fitnesstrainer:innen, um die bestmöglichsten Features zu identifizieren. Es wurden insgesamt 4 Features umgesetzt. Ein weiteres Feature befindet sich in der Umsetzung.</p>



<h3 class="wp-block-heading">Ein Abschlussscreen nach dem Workout</h3>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="377" height="792" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/04/image.png" alt="" class="wp-image-9897"/></figure></div>



<p>User:innen werden nach dem abgeschlossenen Training über die Zusammenfassung des Trainings informiert. Unter den Informationen befinden sich die Trainingszeit, der Trainingsfortschritt (weiteres neues Feature), das insgesamt bewegte Gewicht und die erreichten Ziele (weiteres neues Feature). Insbesondere die letzten drei Informationen sollen User:innen zum weiterführenden Training anregen.</p>



<h3 class="wp-block-heading">Zielsetzung in der App</h3>



<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">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="376" height="791" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/04/image-1.png" alt="" class="wp-image-9898"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="376" height="790" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/04/image-2.png" alt="" class="wp-image-9899"/></figure>
</div>
</div>



<p>Zielsetzung ist laut den befragten Expert:innen der Schlüssel zu Erfolg im Krafttraining. Dieses Feature orientiert sich an der Arbeitsweise von Fitnesstrainer:innen. Ähnlich wie ein/eine Trainer:in, stellt die App den Nutzer:innen Fragen, in welchen Bereichen sie sich verbessern wollen. Es wird unterschieden zwischen sogenannten Maximalkraftzielen und Trainingszeitzielen. Sind alle Fragen beantwortet worden, ist in der App ein neues Ziel sichtbar. Gymble überprüft ab diesem Zeitpunkt die prozentuelle Erreichung des Ziels. Vorerst ist es nur möglich, die zwei zuvor genannten Arten von Zielen anzulegen. Wählen User:innen ein Maximalkraftziel aus, muss zudem eine Übung gewählt werden, in welcher das Ziel erreicht werden soll. Zuletzt muss das gewünschte Gewicht eingetragen werden und das Ziel kann gesetzt werden. Das Ziel wird erreicht, sobald der/die Sportler:in in der genannten Übung mindestens eine Wiederholung mit dem Zielgewicht geschafft hat. Bei einem Trainingszeitziel muss ausgewählt werden, für welchen Zeitraum das Ziel gelten soll. Der/die Nutzer:in kann zwischen einem zeitlichen Wochen-, Monats-, Jahres- oder Lebensziel auswählen und muss anschließend die gewünschte Trainingszeit eintragen. Die App prüft, ob der/die Sportler:in beispielsweise jede Woche das Trainingszeitziel erreicht hat und benachrichtigt den/die User:in, sobald das Ziel abgeschlossen wurde.</p>



<h3 class="wp-block-heading">Trainingsfortschritt im Training zeigen</h3>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="351" height="733" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/04/image-3.png" alt="" class="wp-image-9900"/></figure></div>



<p>Dieses Feature stellt User:innen eine essenzielle Information zur Leistungsentwicklung zur Verfügung. In den Expert:inneninterviews wurde genannt, dass sehr viele Sportler:innen im Krafttrainingsbereich, Kraftsteigerung als Hauptziel festlegen. Jene Funktion errechnet die Progression anhand der gesammelten Daten der letzten Trainingseinheit. User:innen wird die Information der Kraftsteigerung/Kraftminderung mittels eines eingefärbten Badges übermittelt. Die Progression wird als prozentualer Wert angezeigt. Der Badge ist entweder rot, sobald der Wert negativ ist, grau, sobald, weder eine Steigerung noch Verminderung auftritt und grün, sobald der/die User:in einen Fortschritt verzeichnet. Der Fortschritt wird angesichts des bewältigten Gewichts festgestellt. Die Progressionen werden jeweils für die einzelnen Übungen errechnet und schlussendlich, wird nach dem abgeschlossenen Training eine Gesamtentwicklung bereitgestellt.</p>



<h3 class="wp-block-heading">Statistik des Übungsfortschritts</h3>



<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">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="340" height="720" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/04/image-4.png" alt="" class="wp-image-9901"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="343" height="722" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2022/04/image-5.png" alt="" class="wp-image-9902"/></figure>
</div>
</div>



<p>Bei diesem Feature handelt es sich um eine Statistik, welche User:innen einen detaillierten Einblick in die persönliche Leistungsentwicklung gewährt. Der/die Nutzer:in kann aufgrund einer gewählten Übung alle bisher festgehaltenen Trainingsdaten bezüglich der Übung auslesen. Sobald die genannte Übung einige Male ausgeführt wurde, kann hinsichtlich des erzeugten Funktionsgrafen eine Steigerung, ein Nachlass oder eine anhaltende Leistung erkannt werden. Die gesammelten Daten werden nicht gelöscht, demnach reicht der Informationsgehalt bis hin zum Zeitpunkt, zu dem der/die Sportler:in das erste Mal die Übung ausgeführt und in der App einträgt. Tippt der/die User:in auf einen Punkt in der Statistik, stellt die App detaillierte Informationen über die durchgeführten Sätze des abgeschlossenen Workouts zur Verfügung. In einer horizontalen ScrollView können User:innen ihre gesamte Übungsentwicklung auslesen.</p>



<h2 class="wp-block-heading">Armins Beitrag und Erkenntnisse</h2>



<p>Ich habe Features für Kraftsportler:innen umgesetzt. Für ein Feature, die Zielsetzung, habe ich mich mit CronJobs auseinandergesetzt, da die Ziele je nach gewähltem Zeitraum zurückgesetzt werden sollen. Weiters habe ich alle neuen Features designed und selbst konzeptioniert. Insgesamt habe ich auch noch sehr viel Zeit in Bugfixing gesteckt und selbst die App beim Training getestet. Letztendlich sind die meisten Fehler beim Testing in der Realität aufgefallen. Auch das ist ein Learning ????</p>



<h2 class="wp-block-heading">Maximilians Beitrag und Erkenntnisse</h2>



<p>Ich habe mich dieses Semester ganz der Umsetzung der Funktionen für Patient:innen und Physiotherapeut:innen gewidmet. Dort habe ich alle Seiten neu designed und eingebaut.</p>



<p>Gelernt habe ich am meisten durch die Implementierung der Video Upload Funktionalität. Ich habe mit dem extra Package „Multer“ die Upload Funktion eingebaut und somit ermöglicht das die User:inn ein Video hochladen kann. Um den Server mit Videomaterial nicht übermäßig zu überlasten, musste ich alle Videos am Server konvertieren, um Speicherplatz zu sparen. Diese habe ich mit dem Package „ffmpeg“ erfolgreich umgesetzt. So wird jedes Hochgeladene Video auf 720x? Pixel umgewandelt, um wertvollen Speicher zu sparen.</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/gymble/">Gymble</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fitness App Gymble</title>
		<link>https://mobile.fhstp.ac.at/allgemein/fitness-app-gymble/</link>
		
		<dc:creator><![CDATA[Maximilian Hraschan]]></dc:creator>
		<pubDate>Wed, 22 Sep 2021 13:40:08 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=9105</guid>

					<description><![CDATA[<p>Bereits im ersten Semester der Masterklasse Mobile ist die Idee für eine Fitness App entstanden. Durch technische Probleme wurde schnell klar, dass eine andere Technologie für die Umsetzung verwendet werden muss. Dazu später mehr. Gemeinsam mit meinem Studienkollegen Armin Novacek haben wir die Idee einer Fitness App in die Realität umgesetzt. Die Grundidee war es, <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/fitness-app-gymble/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/fitness-app-gymble/">Fitness App Gymble</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Bereits im ersten Semester der Masterklasse Mobile ist die Idee für eine Fitness App entstanden. Durch technische Probleme wurde schnell klar, dass eine andere Technologie für die Umsetzung verwendet werden muss. Dazu später mehr. </p>



<p>Gemeinsam mit meinem Studienkollegen Armin Novacek haben wir die Idee einer Fitness App in die Realität umgesetzt. Die Grundidee war es, eine App zu gestalten, die vor allem unseren Ansprüchen gerecht wird. Dabei soll sich die App nicht wie bereits andere auf dem Markt befindliche Produkte an Anfänger richten, sondern an ein fortgeschrittenes Publikum. Den Grundstein für unsere Vorhaben legten wir im Rahmen dieses Projekt in der Masterklasse. Da die Zeit für das gesamte Projekt jedoch zu kurz ist, sind wir stets noch dabei, das Projekt weiter voranzutreiben und programmieren auch in unserer Freizeit weiter an unserer Idee.</p>



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



<p>Unsere App lässt sich in drei verschiedene Bereiche aufteilen. Die Trackingfunktion, die Statistik und unsere innovative Idee, welche ich hier noch nicht preisgeben möchte. Im Rahmen unseres Projektes in der Masterklasse haben wir uns auf die ersten beiden Bereiche fokussiert. Die App an sich haben wir mit React Native umgesetzt. Anstatt ganz klassisch mit JavaScript zu arbeiten, haben wir uns gezielt für TypeScript entschieden, da es bessere Übersicht im Projekt und einfacheres Debugging möglich macht. Das Backend wurde Großteils schon im Zuge des ersten Semesters entwickelt und programmiert, es basiert auf Node.js, Express.js und TypeORM.</p>



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



<p>Die Tracking Sektion macht es möglich, den Trainingsfortschritt effizient zu speichern. Dafür kann der User anfänglich ein eigenes Training erstellen. Hierfür wählt er Übungen aus unserer vorgefertigten Liste aus oder erstellt seine ganz Persönlichen. Hat er nun ein Training einmalig erstellt, kann er mit einem Klick das Training starten und seinen Fortschritt ganz bequem speichern. Natürlich hat er immer die Möglichkeit, sein Training zu verändern oder ein neues zu erstellen. Außerdem ist es möglich, Trainings zu archivieren und wirklich nur die Trainings auf der Startseite anzuzeigen, die gerade benötigt werden.</p>



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



<p>Wir der Titel schon andeutet, bietet dieser Bereich eine kompakte Übersicht über die Trainingsfortschritte. Ganz oben befindet sich ein horizontaler Slider, in dem kleine Facts wie etwa die Anzahl der abgeschlossenen Trainings oder Übungen angezeigt werden. Als zweites Feature findet sich ein Kalender, in dem alle abgeschlossenen Trainings im Detail nachvollziehbar sind. Zudem gibt es die Möglichkeit, die abgeschlossenen Trainings über den zeitlichen Verlauf in Wochen, Monaten oder Jahren einzusehen. Zum Schluss gibt es noch eine Übersicht, wie ausgewogen welche Muskelgruppe trainiert wurde.</p>



<h2 class="wp-block-heading">Mein Beitrag und Erkenntnisse</h2>



<p>Meine Arbeit hat sich die meiste Zeit auf die Umsetzung der Trainings und Teile der Statistik beschränkt, dies sowohl im Frontend als auch im Backend. Im Detail bedeutet das, dass ich das Hinzufügen, Bearbeiten, Löschen und Starten eines Trainings implementiert habe und im Statistikbereich den Kalender mit der detaillierten Übersicht über abgeschlossene Trainings programmiert habe.</p>



<p>Zum Start dieses Projektes war mir das Framework React Native zur Gänze unbekannt. Doch über die Zeit habe ich mich immer weiter damit auseinandergesetzt und besitze mittlerweile fortgeschrittene Kenntnisse in diesem Framework. Node.js und Co. kannte ich bereits aus dem ersten Semester und konnte mein bereits bekanntes Wissen festigen und in gewissen Bereichen erweitern.</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/fitness-app-gymble/">Fitness App Gymble</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Das neue IOS 15 Update</title>
		<link>https://mobile.fhstp.ac.at/allgemein/das-neue-iso-15-update/</link>
		
		<dc:creator><![CDATA[Maximilian Hraschan]]></dc:creator>
		<pubDate>Tue, 07 Sep 2021 12:50:26 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=8982</guid>

					<description><![CDATA[<p>IOS 15 wird der neue Nachfolger von IOS 14 und überrascht mit zahlreichen Neuerungen. Laut Apple soll das neue Betriebssystem Update im Herbst 2021 auf den Markt kommen. Dies wurde auch auf der WWDC21 (The Apple Worldwide Developer Conferenc 2021) so von Apple bestätigt. Dem bisherigen Release Zyklus nach zu urteilen wird dies also im <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/das-neue-iso-15-update/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/das-neue-iso-15-update/">Das neue IOS 15 Update</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>IOS 15 wird der neue Nachfolger von IOS 14 und überrascht mit zahlreichen Neuerungen. Laut Apple soll das neue Betriebssystem Update im Herbst 2021 auf den Markt kommen. Dies wurde auch auf der WWDC21 (The Apple Worldwide Developer Conferenc 2021) so von Apple bestätigt.  Dem bisherigen Release Zyklus nach zu urteilen wird dies also im September oder Oktober der Fall sein.</p>



<h2 class="wp-block-heading">Was ändert sich? </h2>



<h3 class="wp-block-heading">Facetime mit 3D-Audio, Porträtmodus und SharePlay</h3>



<p>Durch die neue 3D-Audio Funktion ist es in Zukunft möglich, die Stimmen seiner Gesprächspartner während eines FaceTime Anrufes aus der Richtung zu hören aus der die Person gesprochen hat. Dies soll für ein natürlicheres Gefühl beim Gespräch mit den Liebsten führen und die Stimmen räumlicher wirken lassen. Außerdem wird das Gesprochene noch besser von Hintergrundgeräuschen separiert, durch neue Mikrofonmodi. Auch kann der Hintergrund nun weichgezeichnet werden dies tauft Apple den Porträtmodus.</p>



<p>Durch die neue SharePlay Funktion werden demnächst FaceTime Anrufe noch interaktiver. So wird es zukunftig möglich sein während eines Anrufes gemeinsam Songs über Apple Music zu hören, den Bildschirm zu teilen und damit gemeinsam Filme, Videos oder Apps anzuschauen. SharePlay soll auf iPhone, iPad, Mac und Apple TV laufen, FaceTime soll zukünftig auch für Windows verfügbar werden. Leider jedoch wird Apple SharePlay nicht gleich zum Release von IOS 15 verfügbar sein, sondern durch ein weiteres Update nachgeliefert werden. Dies wurde den Entwicklern auf der WWDC21 mitgeteilt.</p>



<h3 class="wp-block-heading">Neue Nutzer-Einstellungen und Mitteilungsübersicht</h3>



<p>Benachrichtigungen sollen sich in IOS 15 individuell filtern lassen. Die Nutzer können frei entscheiden welche Apps ihnen Benachrichtigungen senden können. Ein Beispiel wäre etwa während der Arbeitszeit. Dafür kann der User neue Homescreen-Seiten anlegen die gewisse Apps ausblenden und den Nutzer weniger ablenken. </p>



<p>Mit der neuen On-Device-Intelligenz sollen Mitteilungen unterschiedlich priorisiert werden. So werden wichtige  Nachrichten ganz oben angezeigt und unwichtigere zu einem Zeitpunkt angezeigt an dem es den Nutzer weniger stört. Dringende Nachrichten werden natürlich sofort zugestellt. </p>



<p>Auch werden neue Memojis eingeführt, mit diesen es möglich sein wird individuelle Outfits und Looks vergeben zu können. Weiters werden mehrere Fotos in Mitteilungen jetzt als Collage angezeigt.</p>



<h3 class="wp-block-heading">Text in Bild erkennen</h3>



<p>IOS 15 soll Zukünftig über eine Texterkennung, den Text in Bildern erkennen. Apple nutzt dafür die Kamera-App des jeweiligen Gerätes. Der erkannte Text lässt sich dann ganz einfach kopieren und weiter verwenden. So können etwa die Adresse einer Wohnung oder die Kontaktdaten auf einer Visitenkarte erkannt werden.</p>



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



<p>Mit den Updates für die Health App hast du jetzt neue Möglichkeiten, Daten&nbsp;mit deinen Lieben zu teilen, einen Messwert, um dein Sturz­risiko einzu­schätzen, und eine Trend­analyse, die dir hilft, Veränderungen deiner Gesundheit zu verstehen.</p>



<h3 class="wp-block-heading">Neue Apple-Karten</h3>



<p>Durch die aktuelle Google Marktdominanz mit Google Maps will Apple seine Karten App verbessern. Es wurden eine deutlich verbesserte und detailreichere Darstellung von Stadtteilen und Gebäuden angekündigt. Das Navigieren soll durch mehr Straßendetails vereinfacht werde und im öffentlichen Verkehr soll das auffinden von Haltestellen leichter geworden sein. Diese Haltestellen können künftig als Erinnerung angelegt werden, um von ihrem iPhone erinnert zu werden, das sie aussteigen sollen</p>



<h3 class="wp-block-heading">Alles auf einen Blick</h3>



<p> Weitere und noch detailliertere Informationen gibt es natürlich auf der Offiziellen Apple Website. <a href="https://www.apple.com/at/ios/ios-15-preview/features/" target="_blank" rel="noreferrer noopener">Hier </a>geht&#8217;s zur genauen Übersicht.</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/das-neue-iso-15-update/">Das neue IOS 15 Update</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Performance Vergleich von Ionic vs React Native vs Native Apps</title>
		<link>https://mobile.fhstp.ac.at/allgemein/performance-vergleich-von-ionic-vs-react-native-vs-native-apps/</link>
		
		<dc:creator><![CDATA[Maximilian Hraschan]]></dc:creator>
		<pubDate>Thu, 04 Feb 2021 10:52:58 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=8752</guid>

					<description><![CDATA[<p>Inhalt Einleitung Native Mobile Apps React Native Ionic Verwendete Testmethoden Testanwendung Testszenarios Ergebnisse CPU Verbrauch Arbeitsspeicher verbrauch Batterie verbrauch Anwendungs und APK Größe Analyse Andere Tests Fazit Einleitung 2012 gab es auf der Erde ca.1,06 Milliarden Menschen die im Besitz eines Smartphones waren. Dieser Wert hat sich in den vergangenen 19 Jahren fast vervierfacht. Somit <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/performance-vergleich-von-ionic-vs-react-native-vs-native-apps/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/performance-vergleich-von-ionic-vs-react-native-vs-native-apps/">Performance Vergleich von Ionic vs React Native vs Native Apps</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Inhalt</p>



<p><a href="#Einleitung">Einleitung</a></p>



<p><a href="#Native Mobile Apps">Native Mobile Apps</a></p>



<p><a href="#React Native">React Native</a></p>



<p><a href="#Ionic">Ionic</a></p>



<p><a href="#Verwendete Testmethoden">Verwendete Testmethoden</a></p>



<p><a href="#Testanwendung">Testanwendung</a></p>



<p><a href="#Testszenarios">Testszenarios</a></p>



<p><a href="#Ergebnisse">Ergebnisse</a></p>



<p><a href="#CPU Verbrauch">CPU Verbrauch</a></p>



<p><a href="#Arbeitsspeicher verbrauch">Arbeitsspeicher verbrauch</a></p>



<p><a href="#Batterie verbrauch">Batterie verbrauch</a></p>



<p><a href="#Anwendungs und APK Größe">Anwendungs und APK Größe</a></p>



<p><a href="#Analyse">Analyse</a></p>



<p><a href="#Andere Tests">Andere Tests</a></p>



<p><a href="#Fazit">Fazit</a></p>



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



<p>2012 gab es auf der Erde ca.1,06 Milliarden Menschen die im Besitz eines Smartphones waren. Dieser Wert hat sich in den vergangenen 19 Jahren fast vervierfacht. Somit gibt es derzeit ca. 3,8 Milliarden Menschen die ein Smartphone und die derzeit vorhandenen Apps nutzen. (<em>Smartphone Users 2020</em>, o.&nbsp;J.) Dieser Aufsteigende Trend wiederspiegelt sich auch in der &nbsp;Weltweiten Anzahl an heruntergeladenen Apps. Waren es im Jahre 2016 noch 140,68 Milliarden Downloads sind es jetzt bereits 218 Milliarden heruntergeladene Apps. (<em>Annual Number of Mobile App Downloads Worldwide 2020</em>, o.&nbsp;J.)</p>



<p>Immer mehr Menschen wollen oder müssen ihre eigene App entwickeln. Dies stellt die Entwickler jedoch vor eine Herausforderung. Durch die zwei Betriebssysteme IOS und Android ist es notwendig für jedes Betriebssystem eine eigene App zu entwickeln. Dafür wird für die Entwicklung von Android Apps die Programmiersprachen Java und Kotlin verwendet und für IOS hingegen Swift und Objective-C. Um diesen Prozess zu vereinfachen gibt es die sogenannten Cross-Plattform Apps. Diese dienen dazu eine Programmiersprache zu verwenden und die Apps gleichzeitig für Android und IOS zu Entwickeln.&nbsp; („Cross-Plattform-Apps entwickeln“, 2019) In diesem Artikel wird aufgeschlüsselt wie sich Cross-Plattform Apps im Performance Vergleich mit Native programmierten Apps schlagen.</p>



<h1 class="wp-block-heading"><a>Native Mobile Apps</a></h1>



<p>Native Apps werden meist mit einer Programmiersprache entwickelt. Im Vergleich zu anderen Technologien werden Native programmierte Apps meist durchgehende Performance und weniger Fehleranfälligkeit zugeschrieben. Wie oben bereits erwähnt müssen Entwickler für IOS Development die Programmiersprachen Swift und Objective-C verwendet werden. Eine App Native zu programmieren ist für die meisten ein Traum. Die dafür nötigen Aufwände und Kosten sind für viele jedoch nicht aufwandbar. Nicht nur müssen zwei verschiedene eigenstehende Apps entwickelt werden, zusätzlich müssen diese auch separat gewartet werden. Folgend noch zwei Beispiele aus der App Welt, welche Native programmiert wurden: Einerseits die Weltbekannte Karten App Google Maps und andererseits das Business Netzwerk LinkedIn (Sharma, 2020)</p>



<h1 class="wp-block-heading"><a>React Native</a></h1>



<p>React Native ist ein JavaScript Framework welches dafür entwickelt wurde Native gerenderte Apps für IOS und Android zu entwickeln. Als Basis nutzt dieses Framework die von Facebook entwickelte JavaScript Library React. Web Entwicklern ist es damit möglich echte native Apps zu programmieren. Fast der ganze Code der mit React Native geschrieben wird kann auf beide Plattformen verteilt werden. Ähnlich zu React verwendet auch React Native eine Mischung aus JavaScript und XML Markup, besser bekannt als JSX. Die Brücke zwischen React Native und der fertigen Nativen App ruft dann die nativen Rendering APIs in Objective-C oder Java auf. Somit wird eine React Native App mit echten UI-Komponenten gerendert was sich im Schluss wie jede andere mobile Anwendung anfühlt und aussieht. Zusätzlich wird eine Plattform API zu Verfügung gestellt um auch auf Funktionen wie die Telefonkamera oder das Standort Signal des Gerätes zugreifen zu können.(<em>1. What Is React Native?</em>, o.&nbsp;J.) Einige Beispiele für React Native Apps sind Instagram, Discord, Facebook, Pintrest oder Uber Eats. (<em>React Native</em>, o.&nbsp;J.)</p>



<h1 class="wp-block-heading"><a>Ionic</a></h1>



<p>Ionic ist ein kostenloses Open-Source SDK Framework welches es erlaubt Mobile Anwendungen in IOS, Android und Windows mit einer Code Basis zu entwickeln. Ionic fällt in die Begrifflichkeit der Hybrid Apps. Ionic verwendet für die Entwicklung ihrer Apps Welt bekannte Webtechnologien wie HTML, CSS, JavaScript, Angular und TypeScript. Weiters stellt Ionic eine Vielzahl an vorgefertigten Komponenten und kann auch teilweise auf Native Funktionen zugreifen. Außerdem kann es mit der mitgelieferten CLI glänzen. Ionic wurde bereits 2013 veröffentlicht und befindet sich momentan in der Version Ionic 5. Folgend noch einige Beispiele für mit Ionic programmierte Apps. Cat, EA, Nasa, Airbus und viele mehr. (Ionic, o.&nbsp;J.)</p>



<h1 class="wp-block-heading"><a>Verwendete Testmethoden</a></h1>



<p>Im nachfolgenden Absatz dieses Artikels werden die Ergebnisse eines Experimentes, des Master Studenten Filip Asp von der Universitet Linköpings, aufgeschlüsselt und erklärt. Hierzu wurden Ionic, React Native und eine native programmierte Android App verglichen. Um eindeutige Kenntnisse aus diesem Experiment ziehen zu können, wurden dafür fünf verschiedene Messparameter verwendet: Der verbrauchte Arbeitsspeicher der Anwendung, die CPU Belastung, die Projektgröße, die Größe der APK (Android Package Kit) Datei und schlussendlich der Batterie Verbrauch des Gerätes.(Asp, 2018)</p>



<h2 class="wp-block-heading"><a>Testanwendung</a></h2>



<p>Die Anwendung die für diesen Test verwendet wird basiert auf dem Design der Atten-home App. In der Haus Übersicht der App werden alle im Haus verfügbaren Räume angezeigt. Zusätzlich gibt es dann einen Statistik Reiter in dem entweder die Temperatur oder der Leistungsverbrauch angezeigt werden. Mit klick auf einen Raum werden die verfügbaren Geräte angezeigt. Diese können hier ein und ausgeschalten werden. Auch ist die selbe Statistik Seite wie oben beschrieben hier verfügbar. Mit einem weiteren Klick auf ein Gerät öffnen sich die Einstellungen des ausgewählten Gerätes. Für eine Lampe wären dies zum Beispiel die Möglichkeit die Lampe zu dimmen. Bei einem Heizstrahler wäre es die Stärke des Heizeffektes. (Asp, 2018)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="524" height="428" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/02/erste.png" alt="" class="wp-image-8754"/></figure>



<h2 class="wp-block-heading"><a>Testszenarios</a></h2>



<p>Um ein möglichst aussagekräftiges Ergebnis von dem Test zu bekommen wurden folgende 5 verschiedene Szenarios getestet. Diese wurden auf einem Sony Xperia X Performance und Samsung Galaxy S7 durchgeführt:</p>



<p>„</p>



<p><em>1. <strong>Expand each graph on the home statistics screen. Wait for 5 seconds.</strong></em></p>



<p><em>2. <strong>Expand each graph on a room screen. Wait for 5 seconds.</strong></em></p>



<p><em>3. <strong>Expand each graph on a radiator screen. Wait for 5 seconds.<br></strong>Rendering the graphs was the most demanding in the application and therefore showed the biggest difference in performance. In each layer, each of the applications fetch more data from the back end, therefore all the possible scenarios with graphs were chosen to be part of the test.</em></p>



<p><em>4. <strong>Select a lamp. Turn off the lamp. Go back to the room screen. Turn the lamp back on again. Wait for 5 seconds.</strong><br>A scenario where data was sent to the back end was also needed in order to get coverage. This scenario was the one where the design and functionality did not differ at all, therefore this scenario was chosen.</em></p>



<p><em>5. <strong>Start the application.<br></strong>It was early noticed that the startup time of the applications were different. In order to have the other scenarios run at equal pace the startup of the application had to be done in a separate scenario.</em> „ <em>(Asp, 2018)</em><em></em></p>



<h1 class="wp-block-heading"><a>Ergebnisse</a></h1>



<p>Um diesen Artikel im Rahmen zu halten werden nachfolgend die Ergebnistabellen der Tests nur gezeigt aber nicht im Detail erklärt. Danach folgt eine Kurze Analyse der Tests.</p>



<h2 class="wp-block-heading"><a>CPU Verbrauch</a></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="477" height="160" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/02/Bild1.png" alt="" class="wp-image-8755"/></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="475" height="156" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/02/Bild2.png" alt="" class="wp-image-8756"/></figure>



<p>(Asp, 2018)</p>



<h2 class="wp-block-heading"><a>Arbeitsspeicher verbrauch</a></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="471" height="155" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/02/Bild3.png" alt="" class="wp-image-8757"/></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="472" height="176" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/02/Bild4.png" alt="" class="wp-image-8758"/></figure>



<p>(Asp, 2018)</p>



<h2 class="wp-block-heading"><a>Batterie verbrauch</a></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="474" height="176" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/02/Bild5.png" alt="" class="wp-image-8759"/></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="474" height="179" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/02/Bild6.png" alt="" class="wp-image-8760"/></figure>



<p>(Asp, 2018)</p>



<h2 class="wp-block-heading"><a>Anwendungs und APK Größe</a></h2>



<h5 class="wp-block-heading">„</h5>



<p><em>Sony Xperia X Performance:</em></p>



<ul class="wp-block-list"><li><em>React Native: 20.16 MB</em></li><li><em>Ionic 2: 5.66 MB</em></li><li><em>Android: 2.68 MB</em></li></ul>



<p><em>Samsung Galaxy S7:</em></p>



<ul class="wp-block-list"><li><em>React Native: 20.34 MB</em></li><li><em>Ionic 2: 5.81 MB</em></li><li><em>Android: 2.67 MB</em></li></ul>



<p><em>The APK sizes of the different applications:</em></p>



<ul class="wp-block-list"><li><em>React Native: 8.2 MB</em></li><li><em>Ionic 2: 5.6 MB</em></li><li><em>Android: 2.2 MB</em></li></ul>



<p>„ (Asp, 2018)</p>



<h1 class="wp-block-heading"><a>Analyse</a></h1>



<p>In den meisten Fällen hat React Native im Vergleich zu Ionic nicht so viel Leistung und Speicher verbraucht. Beim Starten der App, also Szenario 5 gab es die meisten unterschiede zu sehen. Dort verbrauchte Ionic mit Abstand am meisten Ressourcen. Jedoch hat die Native Android Anwendung in den meisten Fällen mehr Arbeitsspeicher verbraucht als die anderen Technologien. Das könnte jedoch darauf zurückzuführen sein, dass diese mehr Arbeitsspeicher beanspruchen, um gewisse Aktionen schneller ausführen zu können. Grundsätzlich war der Unterschied in Leistung der einzelnen Entwicklungsmöglichkeiten nur minimal unterschiedlich. (Asp, 2018)</p>



<h1 class="wp-block-heading"><a>Andere Tests</a></h1>



<p>Bei der Recherche dieses Artikels wurden noch weitere Papers oder Arbeiten gefunden, welche verschiedene Technologien vergleichen. Hier wurden jedoch meist React Native mit dem Google Framework Flutter verglichen. Somit sind diese nicht in diesen Artikel eingeflossen. (<em>Flutter &#8211; Beautiful Native Apps in Record Time</em>, o.&nbsp;J.)</p>



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



<p>Die verglichen Technologien nehmen sich in Performance nicht viel. Dahingehend sollte bei der Auswahl solch einer die ausgewählt werden mit der man sich am wohlsten fühlt. Auch anzuführen ist, dass die verwendete Quelle für den Test bereits 3 Jahre alt ist und die 3 verglichenen Technologien bereits vielfach aktualisiert wurden. Demnach müsste der Test wiederholt werden, um noch genauere Ergebnisse zu liefern.<br></p>



<h1 class="wp-block-heading"><a>Literaturverzeichnis</a></h1>



<p><em>1. What Is React Native? &#8211; Learning React Native [Book]</em>. (o.&nbsp;J.). Abgerufen 2. Februar 2021, von https://www.oreilly.com/library/view/learning-react-native/9781491929049/ch01.html</p>



<p><em>Annual number of mobile app downloads worldwide 2020</em>. (o.&nbsp;J.). Statista. Abgerufen 2. Februar 2021, von https://www.statista.com/statistics/271644/worldwide-free-and-paid-mobile-app-store-downloads/</p>



<p>Asp, F. (2018). <em>A comparison of Ionic 2 versus React Native and Android in terms of performance, by comparing the performance of applications</em>. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-147556</p>



<p>Cross-Plattform-Apps entwickeln: React Native, Flutter und Co. (2019, März 20). <em>entwickler.de</em>. https://entwickler.de/online/tools/cross-plattform-apps-579874358.html</p>



<p><em>Flutter—Beautiful native apps in record time</em>. (o.&nbsp;J.). Abgerufen 4. Februar 2021, von https://flutter.dev/</p>



<p>Ionic. (o.&nbsp;J.). <em>What is Ionic</em>. Ionic Framework. Abgerufen 2. Februar 2021, von https://ionicframework.com/what-is-ionic</p>



<p><em>React Native</em>. (o.&nbsp;J.). Abgerufen 2. Februar 2021, von https://reactnative.dev/</p>



<p>Sharma, S. (2020, August 9). <em>Native vs Hybrid vs Cross-Platform—What To Choose?</em> Medium. https://medium.com/flutterdevs/native-vs-hybrid-vs-cross-platform-what-to-choose-3221130f7cc5</p>



<p><em>Smartphone users 2020</em>. (o.&nbsp;J.). Statista. Abgerufen 2. Februar 2021, von https://www.statista.com/statistics/330695/number-of-smartphone-users-worldwide/</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/performance-vergleich-von-ionic-vs-react-native-vs-native-apps/">Performance Vergleich von Ionic vs React Native vs Native Apps</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Einstieg in Laravel</title>
		<link>https://mobile.fhstp.ac.at/allgemein/einstieg-in-laravel/</link>
		
		<dc:creator><![CDATA[Maximilian Hraschan]]></dc:creator>
		<pubDate>Thu, 21 Jan 2021 14:10:00 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=8726</guid>

					<description><![CDATA[<p>Was ist Laravel? Bei Laravel handelt es sich um ein PHP Framework welches sich optimal für kleine bis große Projekte eignet. Dieses Framework ist gut skalierbar und dafür konzipiert, individuell erweitert zu werden. Das Framework mit seiner wohl bekannten MVC Struktur kam im Jahre 2011 das erste mal durch den Initiator Taylor Otwell zum Vorschein. <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/einstieg-in-laravel/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/einstieg-in-laravel/">Einstieg in Laravel</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">Was ist Laravel?</h2>



<p>Bei Laravel handelt es sich um ein PHP Framework welches sich optimal für kleine bis große Projekte eignet. Dieses Framework ist gut skalierbar und dafür konzipiert, individuell erweitert zu werden. Das Framework mit seiner wohl bekannten MVC Struktur kam im Jahre 2011 das erste mal durch den Initiator Taylor Otwell zum Vorschein. Seit her hat sich das Framework stehts weiterentwickelt. Sowohl in seiner Community Größe als auch seiner Features und handhabe. Laravel befindet sich derzeit in der Version 8.</p>



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



<p>Um&nbsp; Laravel für das Locale Development optimal vorzubereiten wird eine Virtuelle Maschine benötigt, welche durch Vagrant verwaltet wird. Weiteres wird die Hauseigene Vagrant Box Homestead und der Package Manager PHP Composer benötigt. All dies lässt sich in der Linkliste am Ende dieses Artikel finden. Dort ist auch die genaue Installationsanleitung zu finden.</p>



<p></p>



<p></p>



<h2 class="wp-block-heading">Einfacher Weg um ein Login/Registrierung Feature zu implementieren</h2>



<p>Der einfachste Weg in Laravel eine Benutzeroberfläche zu entwickeln, ist die Verwendung des von Laravel mitgelieferten Jetstream Plugin. Mit den folgenden Befehlen ist es möglich dieses Plugin in wenigen Minuten zu installieren:</p>



<ul class="wp-block-list"><li>composer require laravel/jetstream</li><li>php artisan jetstream:install livewire</li><li><strong>npm install &amp;&amp; npm run dev</strong><strong></strong></li><li>php artisan migrate</li></ul>



<p>Sobald diese Schritte erfolgreich abgearbeitet wurden. Sind auf der Welcome Page (Standard View welche beim Erstellen des Projektes erstellt wird) ein Login und Register Button angezeigt. Dort habt ihr nun die Möglichkeit einen User zu erstellen/upzudaten oder sich mit diesem einzuloggen. In der dort auffindbaren Dokumentation findet ihr noch weitere Details über alle verfügbaren Features.</p>



<figure class="wp-block-gallery columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="521" height="415" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/01/Login.png" alt="" data-id="8735" data-full-url="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/01/Login.png" data-link="https://akirchknopf-21110.php.fhstp.cc/allgemein/einstieg-in-laravel/attachment/login/" class="wp-image-8735"/></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="540" height="554" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/01/register.png" alt="" data-id="8736" data-full-url="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/01/register.png" data-link="https://akirchknopf-21110.php.fhstp.cc/allgemein/einstieg-in-laravel/attachment/register-2/" class="wp-image-8736"/></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1272" height="795" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/01/Dashboard.png" alt="" data-id="8734" data-full-url="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2021/01/Dashboard.png" data-link="https://akirchknopf-21110.php.fhstp.cc/allgemein/einstieg-in-laravel/attachment/dashboard/" class="wp-image-8734"/></figure></li></ul></figure>



<p></p>



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



<p>Das Routing in Laravel wird benötigt um die richtigen Inhalte an der richtigen URL anzuzeigen und zusätzlich alle verwaltenden HTTP Requests zu verwalten. Zusätzlich können auch alle Routes die für die Verwendung einer mit Laravel erstellten API benötigt werden. Nachstehend findet mal einige Beispiele solcher Routes:</p>



<pre class="wp-block-code"><code><span class="has-inline-color has-vivid-cyan-blue-color">//Route mit Funktion die direkt die Welcome View rendert und auf den Namen 'home' aufzurufen ist
</span>Route::get('/', function () { return view('welcome'); })-&gt;name('home');
<span class="has-inline-color has-vivid-cyan-blue-color">//Route die von der root url auf die home url redirected mit Http Statuscode
</span> Route::redirect('/home', '/', 301);
<span class="has-inline-color has-vivid-cyan-blue-color">//Route die von der root url auf die home url permanent redirected
</span>Route::permanentRedirect('/home', '/');
<span class="has-inline-color has-vivid-cyan-blue-color">//Route die direkt die Welcome View rendert
</span>Route::view('/welcome', 'welcome');
<span class="has-inline-color has-vivid-cyan-blue-color">//Http GET Request mit Funktion der die Id eines Users ausgibt
</span>Route::get('user/{id}', function ($id) { return 'User '.$id; });
<span class="has-inline-color has-vivid-cyan-blue-color">//Resource Route - Diese erstellt für einen Controller alle nötigen Routes
</span>Route::resource('/posts', PostsController::class);</code></pre>



<p>Der im letzten Beispiel genannte Resource Controller kann über folgenden Command Line Befehl generiert werden:</p>



<p><strong>Php artisan make:model  -mcr dein Name</strong></p>



<p>Mit diesem Befehl wird ein Datenbank Model mit dem dazugehörigen Resource Controller erstellt. Mehr dazu später.</p>



<p></p>



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



<p>Laravel verwendet seine Haus internes Blade Template um HTML Code in Views einfach verwalten zu können. In diesen ist es super simple Daten einzubetten und auch geringfügige Logik wie if-conditions, foreach Schleifen und Switch Case Statements dafür zu verwenden, Daten dynamisch zu generieren. Folgend ein Beispiel mit Posts.</p>



<pre class="wp-block-code"><code>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
    &lt;title&gt;Posts&lt;/title&gt;
    &lt;!-- Scripts --&gt;
    &lt;script src="{{ asset('js/app.js') }}" defer&gt;&lt;/script&gt;
    &lt;!-- Styles --&gt;
    &lt;link href="{{ asset('css/app.css') }}" rel="stylesheet"&gt;
&lt;/head&gt;
&lt;body&gt;

    &lt;h1&gt;Posts&lt;/h1&gt;
<span class="has-inline-color has-vivid-cyan-blue-color">    {{-- Hier werden wenn vorhanden alle Posts dynamisch ausgegeben  --}}
</span>    @if($posts)
    @foreach($posts as $post)

    &lt;p&gt;{{ $post-&gt;title }}&lt;/p&gt;
    &lt;p&gt;{{ $post-&gt;description }}&lt;/p&gt;
    &lt;p&gt;{{ $post-&gt;user-&gt;name }}&lt;/p&gt;
    @endforeach
    @endif
&lt;/body&gt;

&lt;/body&gt;
&lt;/html&gt;</code></pre>



<p></p>



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



<p>Der Laravel Controller dient dafür die Daten die für die View benötigt werden bereitzustellen und diese fachgerecht zu verwalten. Wie oben bereits erwähnt eignet sich ein Resource Controller dafür ganz perfekt, da dort bereits vorgefertigte Funktionen wie erstellen, updaten, löschen, details anzeigen ect. bereits erstellt werden.</p>



<p>Auch hier ein Beispiel wie die Daten der oben ausgegebenen Posts verwaltet werden:</p>



<pre class="wp-block-code"><code>class PostsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
<span class="has-inline-color has-vivid-cyan-blue-color">        //Hier wird auf das Model "Posts" zugegriffen und alle Posts des users in die Variable gespeichert
</span>
        $posts = Posts::with('user')-&gt;get();
<span class="has-inline-color has-vivid-cyan-blue-color">        //Anschließend wird die View gerendert und die variable $posts an diese übergeben
</span>
        return view('posts.index')-&gt;with('posts',$posts);
    }
}</code></pre>



<p></p>



<h2 class="wp-block-heading">Models &amp; Datenbank</h2>



<p>Auch hier verwendet Laravel wieder ein eigens produziertes Tool. Für das erleichtern von Datenbank abfragen gibt es hierfür den Eloquent ORM. Um eine Datenbank überhaupt verwenden zu können muss diese erst in der .env Datei entsprechend konfiguriert werden. </p>



<pre class="wp-block-code"><code>DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_workshop
DB_USERNAME=admin
DB_PASSWORD=password

Hier können die entsprechenden Daten eingetragen werden. Unterstützt werden gängige Datenbanken wie PostgreSQL, mySQL ect.</code></pre>



<p>Durch das automatisch angelegte Model können nun wie oben im Controller gezeigt ganz einfach Daten aus der Datenbank abgefragt werden. Wenn speziellere Abfragen benötigt werden können diese Direkt im Model implementiert werden.</p>



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



<p>Aus meiner eigenen Erfahrung kann ich sagen das Laravel ein super einfaches Framework ist und beim Development einfach nur Spaß macht. Das meiste ist selbsterklärend bzw. lässt sich durch die gute Dokumentation und große Community super schnell herausfinden. Wie am Anfang erwähnt lassen sich auch große Projekte gut strukturieren. Ich arbeite sehr gerne damit und kann es für Einsteiger in Frameworks herzlichst empfehlen.</p>



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



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



<p><a href="https://laravel.com/docs/8.x/installation">https://laravel.com/docs/8.x/installation</a></p>



<p><a href="https://laravel.com/docs/8.x/homestead">https://laravel.com/docs/8.x/homestead</a></p>



<p><a href="https://www.virtualbox.org/wiki/Downloads">https://www.virtualbox.org/wiki/Downloads</a></p>



<p><a href="https://getcomposer.org/download/">https://getcomposer.org/download/</a></p>



<p><a href="https://www.vagrantup.com/downloads">https://www.vagrantup.com/downloads</a></p>



<h3 class="wp-block-heading">Login/Registrierung</h3>



<p><a href="https://jetstream.laravel.com/2.x/introduction.html">https://jetstream.laravel.com/2.x/introduction.html</a></p>



<p><a href="https://jetstream.laravel.com/2.x/features/authentication.html">https://jetstream.laravel.com/2.x/features/authentication.html</a></p>



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



<p><a href="https://laravel.com/docs/8.x/routing">https://laravel.com/docs/8.x/routing</a></p>



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



<p><a href="https://laravel.com/docs/8.x/views">https://laravel.com/docs/8.x/views</a></p>



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



<p><a href="https://laravel.com/docs/8.x/controllers">https://laravel.com/docs/8.x/controllers</a></p>



<p><a href="https://laravel.com/docs/8.x/queries">https://laravel.com/docs/8.x/queries</a></p>



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



<p><a href="https://laravel.com/docs/8.x/eloquent">https://laravel.com/docs/8.x/eloquent</a></p>



<p><a href="https://laravel.com/docs/8.x/database">https://laravel.com/docs/8.x/database</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/einstieg-in-laravel/">Einstieg in Laravel</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Citybus &#8211; Initialprojekt 2020</title>
		<link>https://mobile.fhstp.ac.at/allgemein/citybus-initialprojekt-2020/</link>
		
		<dc:creator><![CDATA[Maximilian Hraschan]]></dc:creator>
		<pubDate>Thu, 01 Oct 2020 07:35:44 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://akirchknopf-21110.php.fhstp.cc/?p=8507</guid>

					<description><![CDATA[<p>Echtzeit Busdaten Direkt an der Bushaltestelle soll ein Bus Plan mit QR-Code abgebildet sein. Dieser führt zu einer Mobilen Web Anwendung die einerseits die Echtzeit Daten der Buslinie und andererseits die Aktuelle und nachfolgende Haltestellen anzeigt. http://flock-1575.students.fhstp.ac.at/</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/citybus-initialprojekt-2020/">Citybus &#8211; Initialprojekt 2020</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Echtzeit Busdaten</p>



<p>Direkt an der Bushaltestelle soll ein Bus Plan mit QR-Code abgebildet sein. Dieser führt zu einer Mobilen Web Anwendung die einerseits die Echtzeit Daten der Buslinie und andererseits die Aktuelle und nachfolgende Haltestellen anzeigt. </p>



<p><a href="http://flock-1575.students.fhstp.ac.at/">http://flock-1575.students.fhstp.ac.at/</a></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1415" height="1890" src="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2020/10/Busplan-1-edited.jpg" alt="" class="wp-image-8522" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2020/10/Busplan-1-edited.jpg 1415w, https://mobile.fhstp.ac.at/wp-content/uploads/2020/10/Busplan-1-edited-1150x1536.jpg 1150w" sizes="auto, (max-width: 1415px) 100vw, 1415px" /></figure>



<div class="wp-block-file"><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2020/10/Citybus.pdf">Citybus Präsentation</a><a href="https://akirchknopf-21110.php.fhstp.cc/wp-content/uploads/2020/10/Citybus.pdf" class="wp-block-file__button" download>Herunterladen</a></div>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/citybus-initialprojekt-2020/">Citybus &#8211; Initialprojekt 2020</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
