Refine
Year of publication
- 2020 (12) (remove)
Document Type
- Bachelor Thesis (3)
- Book (3)
- Article (2)
- Master's Thesis (2)
- Working Paper (2)
Language
- German (12) (remove)
Has Fulltext
- yes (12)
Is part of the Bibliography
- no (12)
Keywords
- E-Learning (2)
- 5-Faktoren-Modell der Persönlichkeit (1)
- Abschlussarbeit (1)
- Air Quality Monitoring (1)
- Android <Systemplattform> (1)
- Arbeitsklima (1)
- Arbeitswelt (1)
- Benutzerfreundlichkeit (1)
- Berufsleben (1)
- Berufsziel (1)
Institute
- Fakultät IV - Wirtschaft und Informatik (12) (remove)
Insbesondere aufgrund der Zugehörigkeit zum sehr aktuellen und viel betrachteten Thema Machine Learning ist die genetische Programmierung mit ihren vielseitigen Anwendungsmöglichkeiten ein sehr interessantes Gebiet. Wie in allen Forschungsschwerpunkten gibt es auch hier viele Ansätze die standardmäßige Vorgehensweise weiter zu verbessern – einer dieser Ansätze ist die Verwendung von Subroutinen. Diese könnten in diesem Kontext auch als Methoden, Funktionen oder ähnliches bezeichnet werden und bedeuten, dass vom Algorithmus neben dem eigentlichen Programm auch wiederverwendbare Folgen von Anweisungen entwickelt werden, die über einen Bezeichner an beliebigen Stellen verwendet werden können. Hierfür gibt es bereits diverse Konzepte, die in Tests sehr gute Ergebnisse erzielt haben und eine Verbesserung gegenüber der standardmäßigen genetischen Programmierung ohne Subroutinen erreichen konnten. Diese Tests fanden allerdings immer in sehr spezialisierten Testumgebungen statt. Besonders interessant sind allerdings solche Systeme zur genetischen Programmierung, die (theoretisch) beliebige Probleme lösen kann, da sie für eine Vielzahl von Problemstellungen verwendet werden können.
Das Ziel dieser Arbeit ist es, zu untersuchen, ob und inwiefern die Verwendung von Subroutinen auch in einem solchen allgemeinen System zur genetischen Programmierung, das theoretisch dazu in der Lage ist, beliebige Probleme zu lösen, möglich und sinnvoll ist.
Vergleich von nativer App- und Cross-Platform-Entwicklung (Facebook React Native und Google Flutter)
(2020)
Die Entwicklung mobiler Applikationen für iOS und Android ist in der Regel mit viel Arbeit verbunden, da man für beide Plattformen gezwungenermaßen unterschiedlichen Quelltext schreiben muss. Abhilfe für dieses Problem schaffen Cross-Platform-Frameworks wie React Native von Facebook oder Flutter von Google. Anhand dieser Frameworks lassen sich Apps für beide Plattformen mit nur einer Codebase entwickeln. Eine kritische Stelle und oft gebrauchtes Kontra-Argument gegen die Entwicklung mit Cross-Platform-Frameworks ist die Hardwarenähe der nativen Applikationen, an welcher es den Frameworks vermeintlich mangelt. Doch wie ist der Stand der Dinge im Jahr 2020? Können Cross-Platform-Frameworks inzwischen performant und einfach auf Hardwarekomponenten zugreifen und machen damit die mühsame, native Entwicklung für iOS und Android vor allem in Anbetracht der Entwicklung von größerer Enterprise-Software obsolet?
Dieser Frage wird in dieser Arbeit nachgegangen und generell überprüft wie tauglich die Cross-Platform-Entwicklung ist. Nach dem Lesen dieser Bachelorarbeit sollte entschieden werden können, ob Cross-Platform-Frameworks für das Anwendungsproblem des Lesers geeignet sind. Um die Forschungsfrage zu beantworten, wurden je zwei Applikationen im Rahmen einer Fallstudie für je iOS und Android entwickelt, damit geprüft werden konnte, wie förderlich die zuvor genannten Frameworks sind. Der Fokus der Arbeit liegt also auf der Güte bzw. dem heutigen Stand der Cross-Platform-Entwicklung, vor allem im Bezug auf die Benutzung von Hardwarekomponenten bzw. betriebssystemspezifischen Diensten (Bluetooth, Kamera, etc.).
Die Ergebnisse der Fallstudie zeigen, dass es stets auf den Kontext und die Komplexität der zu realisierenden Anwendung ankommt inwiefern Cross-Platform-Frameworks verwendet werden können. In simplen Anwendungsfällen können Frameworks meist zu einer erheblichen Kostenminimierung und Zeitersparnis führen, wohingegen bei komplexeren Anwendungen relativ schnell Grenzen und starke Abhängigkeiten erreicht werden.