Refine
Document Type
- Bachelor Thesis (2)
- Master's Thesis (1)
Has Fulltext
- yes (3)
Is part of the Bibliography
- no (3)
Keywords
- JavaScript (3) (remove)
Institute
Open Access
- Closed (3) (remove)
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.
Encryption techniques allow storing and transferring of sensitive information securely by using encryption at rest and encryption in transit, respectively. However, when computation is performed on these sensitive data, the data needs to be decrypted first and encrypted again after performing the computations. During the computations, the sensitive data becomes vulnerable to attackers as it's in decrypted form. Homomorphic encryption, a special type of encryption technique that allows computation on encrypted data can be used to solve the above-mentioned problem. The best way to achieve maximum security with homomorphic encryption is to perform at least the homomorphic encryption and decryption on the client side (browser) of a web application by not trusting the server. At present time there are many libraries with different homomorphic schemes available for homomorphic encryption. However, there are very few to no JavaScript libraries available to perform homomorphic encryption on the client side of any web application. This thesis mainly focuses on the JavaScript implementation of client-side homomorphic encryption. The fully homomorphic encryption scheme BFV is selected for the implementation. After implementing the fully homomorphic encryption scheme based on the “py-fhe” library, tests are also carried out in order to determine the applicability (in terms of time consumption, security and correctness) of this implementation in a web application by comparing the performance and security for different test cases and different settings.
JavaScript-Frameworks (JSF) sind im Bereich der Webentwicklung seit längerem prominent. Jährlich werden neue JSF entwickelt, um spezifische Probleme zu lösen. In den letzten Jahren hat sich der Trend entwickelt, bei der Wahl des JSF verstärkt auch auf die Performanz der entwickelten Webseite zu achten. Dabei wird versucht, den Anteil an JavaScript auf der Webseite zu reduzieren oder ganz zu eliminieren. Besonders neu ist der Ansatz der "Island Architecture", die erstmals 2019 vorgeschlagen wurde. In dieser Thesis soll die Performanz der meistbenutzten und des performantesten JSF mit dem JSF "Astro" verglichen werden, welches die "Island Architecture" von sich aus unterstützt. Der Schwerpunkt liegt beim Vergleichen der Webseitenperformanz, jedoch werden auch Effizienz und Einfachheit während der Entwicklung untersucht. Das Ziel dieser Arbeit ist es, potenzielle Frameworks zu untersuchen, die die Effizienz und Produktivität für den Nutzer und während der Entwicklung steigern können.