Refine
Document Type
- Bachelor Thesis (11)
- Master's Thesis (2)
Language
- German (13) (remove)
Has Fulltext
- yes (13)
Is part of the Bibliography
- no (13) (remove)
Keywords
- JavaScript (13) (remove)
Institute
Open Access
- Closed Access (10)
- Open Access (2)
- Closed (1)
Diese Arbeit befasst sich mit der Entwicklung von Full-Stack-Anwendungen im Bereich des Internets der Dinge mit JavaScript. Grundlegende Wissensbereiche, die für diese Entwicklung notwendig sind, werden vorgestellt und erklärt. Es werden ausgewählte JavaScript-Frameworks und -Interpreter im Bereich des Internets der Dinge vorgestellt, bewertet und miteinander verglichen. Mikrocontroller und Einplatinencomputer, welche von den vorgestellten JavaScript-Frameworks und -Interpretern unterstützt werden, werden vorgestellt.
Um die Entwicklung von Full-Stack-Anwendungen im Bereich des Internets der Dinge mit JavaScript bewerten zu können wird eine Anwendung zur Erfassung, Speicherung und Darstellung von Umgebungsvariablen mit Moddable SDK und dem MERN-Stack entwickelt. Vor der Entwicklung werden Anforderungen über eine Anforderungsanalyse definiert und die Anwendung konzipiert. Im Anschluss wird die Anwendung anhand der Anforderungen bewertet. Probleme, die während der Entwicklung der Anwendung auftreten, werden zusammen mit möglichen Lösungen vorgestellt und Full-Stack-Anwendungen im Bereich des Internets der Dinge mit JavaScript werden in diesem Schritt evaluiert.
JavaScript ist für die Entwicklung von Mikrocontrollern zum aktuellen Stand noch nicht ausgereift genug, jedoch bestehen aktuelle Anstrengungen die Entwicklung von JavaScript APIs für Embedded Systems zu vereinheitlichen und voranzutreiben. Dadurch hat die Entwicklung von Full-Stack-Anwendungen im Bereich des Internets der Dinge mit JavaScript Zukunftspotenzial.
Zu Beginn dieser Arbeit wurde das Problem beschrieben, dass das Ersetzen von einzelnen Modulen innerhalb TYPO3s durch React bisher nicht möglich war. Dadurch ergab sich die Aufgabe eine Lösung zu finden, mit der die Vorteile von React in TYPO3 eingebracht werden können, möglichst ohne große Veränderungen und Aufwände zu betreiben. Als zusätzliche Anforderung wurde definiert, dass React in TypeScript geschrieben werden soll.
Um dem Leser dieser Arbeit die Möglichkeit zu geben, den angefertigten Code verstehen und interpretieren zu können, wurden zunächst Grundlagen in TypeScript, React und TYPO3 geschaffen. Daraufhin wurde der Ist-Stand beschrieben, welcher ein simples TYPO3-Plugin beschreibt. Dies wurde für die grundsätzliche Umwandlung in React möglichst simpel gehalten, war dennoch mit einigen Grundsätzen wie AJAX und Rerendering ausgestattet, um gewisse Vorteile und Problematiken bei der Umsetzung aufzeigen zu können. Daraus ergab sich ein Soll-Stand, welcher zugleich weitere Anforderungen an die spätere Lösung definierte.
Um ein mögliches Lösungskonzept erarbeiten zu können wurden im Kapitel „Stand der Technik“ 2 verwandte Arbeiten und Möglichkeiten vorgestellt. Daraufhin wurden die beiden zu entwickelnden Plugins beschrieben, zunächst das Dummy-TYPO3-Plugin, gefolgt vom in React entwickelten Äquivalent.
In Kapitel 8 wurde ein Konzept erstellt und daraufhin die Umsetzung Schritt für Schritt durchgeführt. Dabei konnte erfolgreich React in TYPO3 aufgesetzt und zur Entwicklung genutzt werden. Das Dummy-Plugin konnte ohne größere Probleme umgesetzt werden und zeigte somit eine mögliche Lösung für die Umwandlung von TYPO3 zu React auf. Um diese Lösung zu validieren, wurde im Folgekapitel das ProofOfConcept entwickelt. Dabei handelte es sich um ein produktiv eingesetztes Projekt, welches auf einer älteren Version basiert und verschiedene Anforderungen mitbrachte. Dies wurde nach Vorstellung des Projektes und Lösungskonzept Schritt für Schritt umgesetzt.
Diese Thesis umfasst mit dem hybriden Rendering, Headless CMS und Progressive Web Apps drei moderne technologische Ansätze aus dem Bereich der Webentwicklung. Ziel der vorliegenden Arbeit ist es dabei, auf Basis eines Einblicks in die Grundlagen des modernen Web Developments zunächst die drei Konzepte einzeln zu betrachten, zu analysieren, Vor- und Nachteile herauszustellen und deren technologische Möglichkeiten zu erklären, um schließlich auch das Zusammenspiel dieser, derzeit relevanten Entwicklungsansätze im Hinblick auf die zugrunde liegende Forschungsfrage zu untersuchen: Ist es möglich verschiedene, aktuelle Trends der Webentwicklung sinnvoll miteinander zu kombinieren und so auf Basis eines Headless CMS, einem Frontendframework für verschiedene Renderingmethoden und der Idee der Progressive Web Apps eine performante und benutzerfreundliche protoytpsiche Web-applikation zu implementieren? Um dies zu überprüfen, wurde auf den zuvor erarbeiteten theoretischen Grundlagen mit MovieRec eine WebApp als interaktives Filmportal konzipiert und schlussendlich mit einem entsprechenden Technologiestack implementiert. Diese Schritte sowie die Umsetzung der Kernfunktionen der Anwendung wurden dabei anhand von Codeausschnitten erklärt.
Diese Arbeit befasst sich mit dem Thema Internet of Things und darin insbesondere mit dem Bereich Smart Home und Smart Mobile Home. Wesentliche Aspekte werden zu diesen Gebieten herausgearbeitet und analysiert. Es wird festgestellt, dass kaum Möglichkeiten existieren, Mobile Homes um smarte Systeme zu erweitern, wie es im herkömmlichen Smart Home Bereich der Fall ist.
Die Low-Code Entwicklungsplattform Node-RED wird als Tool für IoT-Anwendungen im Detail vorgestellt und die Funktionsweise wird ausführlich analysiert. Die Vorgehensweise bei der Anwendungsentwicklung, nach welcher einzelne Bausteine zu aneinanderhängenden Abläufen verkettet werden, wird aufgezeigt.
Der in diesem Rahmen entwickelte Prototyp Smart Van setzt dort an, wo die aktuellen Beschränkungen für Smart Mobile Home Systeme sitzen. Planung, Konzeption und die Implementierung mithilfe von Node-RED werden dokumentiert. Die Ergebnisse werden präsentiert und die Umsetzung des Prototyps wird als Erfolg ausgewertet.
Zusammenfassend wird festgehalten, dass Node-RED gegenwärtig und voraussichtlich auch in Zukunft ein wichtiges Werkzeug für Anwendungen im Bereich IoT ist. Für den Prototyp Smart Van werden die nächsten notwendigen Schritte festgehalten, mit deren Umsetzung der Prototyp auf dem Markt von Smart Mobile Home Systemen ein gewisses Potenzial besitzt.
Mit der kontinuierlichen Weiterentwicklung des World Wide Web, der steigenden Anforderungen an beispielsweise Ladege-schwindigkeit (in Millisekunden!) und Nutzungserlebnis und der Einführung moderner Jamstack-Frameworks mit verschiedenen Rendering-Methoden, wird der Prozess bei der Entwicklung von Webanwendungen immer komplexer.
Das Ziel der vorliegenden Arbeit ist es, die Funktionsweise der einzelnen Rendering-Methoden von Webanwendungen und de-ren Vor- und Nachteile zu untersuchen, um anschließend mit dem gewonnenen Wissen entscheiden zu können, welcher Ansatz für bestimmte Projekttypen der richtige ist. Dazu wird die folgende Forschungsfrage gestellt:
Wie kann unter Verwendung neuster Webtechnologien und Ansätze eine performante, nutzungsfreundliche und für Suchmaschinen optimierte Webanwendung erstellt werden, die den heutigen Standards (Core Web Vitals) gerecht wird?
Um die Forschungsfrage zu beantworten, wurde zunächst die Webanwendung selbst und nachfolgend der Stand der Technik bei der Entwicklung von Webanwendungen erläutert. Um ver-schiedene Ansätze und Funktionsweisen bei der Entwicklung einer Webanwendung beurteilen zu können, wurden diese ge-genübergestellt, auf Anwendbarkeit geprüft und die für den Rahmen dieser Arbeit geeigneten Technologien ausgewählt.
Die erarbeiteten theoretischen Grundlagen dienen zur Konzeption und Umsetzung einer interaktiven, multimedialen Präsentations- und Kollaborationsplattform mit dem Namen Collab. Hierbei ist es Benutzer:innen möglich sich über Dienstanbieter:innen und deren Leistungen zu informieren oder sich selbst als Dienstanbieter:in zu registrieren. Zudem können registrierte Personen eigene Projekte erstellen oder an existierenden Projekten teilnehmen, um diese zusammen in Form einer Kollaboration umzusetzen.
Bereichsübergreifender Einsatz von JavaScript – Aktueller Stand und exemplarische Implementierung
(2021)
Nahezu alle Websites nutzen die Programmiersprache JavaScript zur Darstellung von interaktiven Inhalten und zur Bereitstellung von komplexen Funktionalitäten. Seit ihren Anfängen im Jahr 1995 hat sich die Sprache nicht nur zum Standard in der Webentwicklung etabliert, sondern auch zu einer leistungsfähigen Mehrzweckprogrammiersprache weiterentwickelt.
Diese Arbeit befasst sich mit einer ausführlichen Darstellung der aktuellen Möglichkeiten, welche Ansätze sich durch die Weiterentwicklung JavaScripts zu einer Mehrzweckprogrammiersprache ergeben und wie sich diese heute umsetzen lassen. Anhand des intelligenten Schlüsselkastens „Smart Vault“ wird verdeutlicht, wie dieses Vorgehen praktisch realisiert und die Vorteile einer einzigen Programmiersprache angewendet werden können.
Es hat sich herausgestellt, dass sich JavaScript für Anwendungen unterschiedlicher Bereiche einsetzen lässt und darüber hinaus ein hohes Potenzial für weitere Entwicklungen, Verbesserungen und zusätzliche Einsatzgebiete besitzt. Es lassen sich nicht nur Websites, Web Server und Desktop Apps, sondern auch Mikrocontroller im Internet of Things konfigurieren und miteinander nutzen, ohne eine weitere Programmiersprache zu benötigen. Zahlreiche Bibliotheken und Frameworks machen es möglich, dass die Sprache verschiedene Anwendungen über ihre Einsatzgebiete hinweg miteinander verbindet.
Egal ob Smart City, Smart Home oder als kleine Alltagshilfen, das Internet der Dinge ist heutzutage allgegenwärtig. Um die Dinge der vernetzten Welt nutzen zu können, benötigt man in der Regel ein User Interface. Es gibt verschiedenste Möglichkeiten für den Menschen, mit vernetzten Dingen zu kommunizieren. Es kann über ein Voice User Interface (VUI) mit der Sprache kommuniziert werden oder sogar bereits nur mit Gedanken über sogenannte Brain User Interfaces (BUI). Eine zentrale Rolle hat momentan vor allem das Smartphone, welches als leistungsstarker, dauerhafter Begleiter im Alltag durch eingebaute Sensoren und Kommunikationsmöglichkeiten wie Wifi, Bluetooth oder NFC, ein ideales Interface zum IoT bietet. Das Smartphone, sowie bereits viele Mikrocontroller, bieten zudem die Möglichkeit mit Internettechnologien wie HTML, CSS und JavaScript programmiert zu werden. Somit sind Webentwickler in der Lage, komplette IoT-Anwendungen zu implementieren. Für die webtechnologienbasierte User-Interfaceentwicklung des Smartphones bieten sich Frameworks wie Ionic, React Native, NativeScript oder Evothings an. Zu diesen vier Frameworks wird ein fundierter Vergleich durchgeführt, der Aufschluss über die Einsetzbarkeit der Frameworks bei einer IoT-Anwendung gibt. Ionic steht bei diesem Vergleich beispielsweise durch eine große Community, oder unzählige UI-Elemente mit hoher Usability, an erster Stelle. Die Möglichkeiten von Ionic werden anhand der App für den smarten Briefkasten Mail-E verdeutlicht.
Evaluierung neuer HTML5- und JavaScript-Technologien bei der Nutzung in heterogenen Umgebungen
(2012)
Die 1&1 Internet AG in Karlsruhe betreibt einen Onlinespeicher, der von Kunden der diversen Tochter- und Schwestergesellschaften hauptsächlich über ein Browserfrontend bedient wird. Dieses kommuniziert mittels einer definierten JSON-Schnittstelle mit der auf Java basierenden Middleware. Da der Client schon vor einigen Jahren entwickelt wurde, nutzt er noch nicht alle Möglichkeiten die HTML5 in aktuellen Browsern bietet. Die Beschreibung und Bewertung dieser Möglichkeiten stellt die Kernaufgabe der Thesis dar. Einer der Schwerpunkt soll dabei auf der Offlinefähigkeit und intelligenten Benutzung von Caching- & Sync-Strategien zwischen Onlineanwendung und Offlineclient bestehen. Desweiteren sollen die Möglichkeiten von aktuellen Browsern ohne Beachtung der Rückwärtskompatibilität zu älteren Browsern genutzt werden. Zu Demonstrationszwecken sollen Beispielanwendungen den Einsatz der neuen Technologien erstellt werden, damit deren praktische Nutzung leichter zu erfassen ist. Das Hauptaugenmerk bei den Beispielanwendungen liegt indes nicht auf der Funktionalität, sondern auf dem Einsatz der jeweiligen Technologie, so dass deren Möglichkeiten getestet werden können. Ebenfalls Teil der Arbeit soll die Erarbeitung von theoretischen Aspekten sowie die Erstellung einer Übersicht über den aktuellen Stand der Fachliteratur darstellen. Dies soll bei weiterer Nutzung der Ergebnisse die Erarbeitung von erweitertem Fachwissen erleichtern. Basis sollen hier die aktuell Erschienenen Fachbücher auf deutsch und englisch sowie - naturgemäß nochmals aktueller - die regelmäßigen Veröffentlichungen im Internet und in Fachzeitschriften bilden. Die zu besprechenden Themen umfassen die grundsätzliche Beschreibung von HTML5 und dem Standardisierungsprozess, die neuen HTML-Element in Bezug auf Formulare, Multimedia-Darstellung, die Möglichkeiten der Offline-Anwendung (Application Cache, Cache Manifest, DOM Storage), die Drag & Drop API zur Nutzung beim Dateiupload sowie die File API. Mögliche Themen für den theoretischen Teil sind gängige Architekturmuster (beispielsweise MVC, MVP, MVVM, PAC), Caching- und Sync-Strategien sowie die Potentiale aktueller Skriptsprachen (ECMAScript 5, Coffeescript, DART).
Spätestens mit der Markteinführung des iPhones im Jahr 2007 und mit der Einführung des Android Betriebssystems im Jahr darauf ist die Bedeutung der mobilen Endgeräte und deren Diversität auf dem Softwaremarkt nicht mehr zu leugnen. Bis heute ist das Marktwachstum bei den mobilen Endgeräten ungebrochen. Im Jahr 2012 wurden alleine in Deutschland 23 Millionen neue Smartphones verkauft. Somit nutzt inzwischen etwa jeder vierte Bundesbürger mobile Software. Dies ist ein hundertprozentiges Wachstum im Vergleich zum Jahr 2010. Mit der Einführung des ersten iPads (2010) und vieler ähnlicher Produkte, die meist mit dem Android Betriebssystem betrieben werden, haben sich die Möglichkeiten und Anforderungen für Softwareentwickler erneut erheblich verändert und erweitert. Aufgrund der größeren Displays und immer besserer Rechenleistungen können nun Programme mit komplexen Interfaces, wie sie zuvor nur von Desktoprechnern bekannt waren, auch auf dem mobilen Softwaremarkt Fuß fassen. Bei der Entwicklung einer neuen Anwendung stellt sich immer auch die Frage, auf welchen Endgeräten sie später ausgeführt werden soll. Grundsätzlich gibt es derzeit drei Möglichkeiten Anwendungen für die neuen und mobilen Endgeräte zu entwickeln: des entsprechenden Systems erstellt und verwendet dessen spezielle Schnittstellen. Eine solche App muss folglich für jedes Zielsystem separat entwickelt werden. Um eine plattformübergreifende Anwendung zu entwickeln bietet sich derzeit die Möglichkeit, sogenannte Web-Apps zu implementieren. Hier dient der gemeinsam genutzte WebKit-Webbrowser der verschiedenen Systeme als technische Grundlage. Hierbei können die Anwendungen mit Webtechnologien wie HTML5, CSS3 und JavaScript entwickelt werden. Mit JavaScript Frameworks wie jQuery mobile oder Sencha Touch ist es möglich,Webanwendungen zu erstellen, die vom Bedienkonzept und ihrer Anmutung kaum von nativen Apps zu unterscheiden sind. Die Entwicklung sogenannter hybrider Apps vereint die Möglichkeiten der nativen und der webbasierten Apps. Eine Web-App kann dann mit Hilfe eines Frameworks wie z.B. Titanium oder PhoneGap verpackt werden und wird so zu einer hybriden App, die beispielsweise über die Appstores der Hersteller vertrieben werden kann. In dieser Arbeit beschäftige ich mich insbesondere mit den Möglichkeiten der hybriden App-Entwicklung am Beispiel einer Präsentationsanwendung, die ich im Rahmen dieser Arbeit für die visionsbox GmbH aus Offenburg konzipiert und umgesetzt habe. Eine ähnliche Anwendung auf Basis von Adobe Flash wird bereits seit einiger Zeit von der visionsbox GmbH vertrieben. Meine Aufgabe war es, diese Anwendung auf Basis von Webtechnologien so nachzubilden, dass sie in Zukunft auf möglichst vielen Software-Plattformen lauffähig ist.