Korath, C. (2020). Eine Cloud-basierte Programmierumgebung für QML [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/79723
E194 - Institut für Information Systems Engineering
-
Date (published):
2020
-
Number of Pages:
88
-
Keywords:
QML; cloud computing; language server protocol; software development; integrated development environment
de
QML; cloud computing; language server protocol; software development; integrated development environment
en
Abstract:
The occurrence of cloud computing in the past few years has changed software engineering significantly. The Internet of Things, streaming platforms or other computing-intensive operations are just some of the settings cloud computing is used for nowadays. The possible scenarios for cloud computing seem to be endless anyway. Considering all benefits arising from the use of the cloud in software solutions, it is therefore reasonable to use the cloud in the processes of software engineering itself. The concept of this paper strongly adheres to this idea by shifting some of the tasks of software engineering towards the cloud. Therefore, a cloud-based integrated development environment (IDE) for QML should be built. This development environment shall provide features to facilitate the development of applications for mobile devices, such as smartphones and tablets. The IDE should support all relevant steps in the software engineering live cycle beginning with coding itself up to the deployment of the finished application. The integration of the cloud should help to reduce the amount of development software which has to be installed on a developer’s local device. Due to omitting the local software, one major source of error can be removed - the installation of the software itself. Challenges like this can prevent an effective use of the software and therefore have to be tackled. The solution provided within this paper indicates how a working alternative for local development environments might look like. Hence, a cloud-based IDE was developed and integrated into an already existing cloud environment. The following methodical approach was used: At first, a suitable base implementation of an IDE was selected through a detailed investigation of different approaches. Integrating already existing features and applying different changes to GitLab – which was selected during the investigation – led to the completed cloud-based IDE as presented in this paper. The effectiveness and usefulness of the presented approach was analysed by software engineering experts, which also have identified possible flaws and suggestions for future improvements.
Das Aufkommen von Cloud-Computing in den letzten Jahren hat die Softwareentwicklung nachhaltig verändert, denn die Einsatzmöglichkeiten der Cloud könnten vielfältiger nicht sein. Ob der Einsatz im Internet of Things, als Basis für eine Streaming-Plattform oder für andere rechenintensive Operationen, das Aufkommen der Cloud hat viele neue Lösungen ermöglicht. Bei all den Möglichkeiten der Cloud scheint es nur logisch, diese als Softwareentwickler und Softwareentwicklerin nicht nur für das eigene Produkt einzusetzen, sondern auch zum eigenen Vorteil während der Softwareentwicklung zu nutzen. Das Konzept hinter dieser Arbeit greift diesen Gedanken auf und versucht, dazu einen Teil der Aufgaben der Softwareentwicklung in der Cloud abzubilden. Dafür soll eine Cloud-basierte Entwicklungsumgebung für QML entstehen. Mit Hilfe dieser soll die Entwicklung von Applikationen für mobile Geräte ermöglicht werden, wobei die Entwicklungsschritte beginnend beim Schreiben der Applikation bis zur Auslieferung dieser über den Cloud-Service abgedeckt werden können. Durch die Einbindung der Cloud sollen lokale Installationen von Entwicklungssoftware verringert und auf längere Sicht obsolet gemacht werden. Durch den Wegfall der lokalen Entwicklungsumgebungen kann eine häufige Fehlerquelle eliminiert werden, die Installation der Software selbst. Fehlerquellen wie diese, die dazu führen können, dass Anwender und Anwenderinnen ein Entwicklungstool nicht effektiv einsetzen können, sind die eigentlichen Hintergründe dieser Arbeit. Das Ergebnis dieser Arbeit zeigt, wie eine funktionierende Alternative zu lokalen Entwicklungsumgebungen aussehen kann. Dazu wurde eine Cloud-basierte IDE entwickelt, welche in ein bereits zum Teil existierendes Cloud-System integriert wurde. In einer eingehenden Recherche wurden zuerst mögliche Optionen für eine adäquate Basis der IDE, die für die weitere Entwicklung eingesetzt werden sollte, abgewogen. Durch Einbringen von Änderungen und durch Einbinden von weiteren Ressourcen wurde die Anwendung GitLab in eine Cloud-basierte IDE umgewandelt. Die Funktionen des Cloud-basierten Ansatzes wurde gemeinsam mit Experten und Expertinnen einer Analyse unterzogen, welche auch dazu genutzt wurde, um mögliche Schwachstellen und Verbesserungspotential zu identifizieren.