Evaluating the Use of a Web Browser to Unify GUI Development for IDE Plug-ins

Ursprünglicher Titel bei der Anmeldung: Entwicklung eines Testframeworks für Saros mit Evaluation einer HTML-basierten GUI

bearbeitet von: Christian Cikryt

Abstract

Saros, an Eclipse plug-in for distributed collaborative programming, is currently being ported to the IntelliJ IDEA platform. As both IDEs use different graphical widget toolkits, SWT and Swing respectively, this results in a duplication of the GUI code. This thesis investigates whether the integration of a web browser into both plug-ins and the display of Saros in HTML-based technologies is a viable alternative. It avoids the redundant implementation of the user interface and maximises the common code base. After a thorough initial evaluation, a prototype is developed that encloses all fundamental mechanisms including GUI tests to assess this approach qualitatively. The prototype has been closely integrated into Saros and provides a basis for further development and evaluation. The choice and integration of the web browser constitutes a large part of this work. In the process an existing wrapper for the SWT browser has been developed further into an external library.

Motivation

Das Eclipse-Plugin Saros ist ein Werkzeug zur verteilten Paarprogrammierung und wird derzeit auf IntelliJ IDEA portiert. Im Zuge der Portierung und in Hinblick auf geringe Code-Duplikation zwischen den verschiedenen Plattformen wird eine Neuimplementierung der GUI mit Webtechnologien in Erwägung gezogen. Des Weiteren ist die Anzahl der bisher vorhandenen Oberflächentests gering und das zur Erstellung dieser benutzte Framework (STF) ist nicht für IntelliJ geeignet.

Vorgehen

In dieser Arbeit wird zunächst die Evaluation der zu verwendenden GUI-Technologie in Zusammenarbeit mit Matthias Bohnstedt durchgeführt. Das Ermöglichen von IDE-unabhängigen GUI-Tests ist ein wichtiger Aspekt der Evaluation. Es wird ein Prototyp entwickelt und in Saros integriert der alle grundlegende Fazetten des HTML-basierten Ansatzes abdecken soll.

Realitätsabgleich nach 3 Monaten Bearbeitungszeit

Da sich die eigentlich parallel stattfindende Masterarbeit zur Implementierung der HTML-Oberfläche aus verschiedenen Gründen verzögert, hat sich mein Fokus von der Implementierung eines Testframeworks zur grundlegenderen Erstellung und Evaluierung eines HTML-Prototypen verschoben. Dazu gehört die Einbindung und Erweiterung des Browsers in die IDEs. Genauer gesagt ist geplant eine von Björn Kahlert entwickelte Browserkomponente einzubinden. Das optimale Vorgehen hierzu gilt es noch auszuarbeiten. Ferner ist eine prototypische Implementierung eines Ausschnittes der Saros-Oberfläche zu erstellen. Der Quellcode und das Verfahren für diesen Ausschnitt soll als Hilfe für eine zukünftige vollständige Implementierung dienen. Da mittlerweile die dritte Masterarbeit an der neuen GUI geplant ist, wird hier erhöhten Abstimmungsbedarf geben, weil die Zuständigkeiten noch nicht geklärt sind und der Arbeitsbeging in der Zukunft liegt. Als weiteren Punkt plane ich das Saros-Testframework für den Teil der GUI nahzuziehen, aber keine grundlegenden Änderungen an seinen Schnittstellen vorzunehmen.

Aktualisierte Ziele

Abgrenzung

aktualisierte Arbeitsschritte

Evaluation HTML-GUI

Technische Voraussetzung für die Verwendung des SWT Browsers schaffen (neu)

Implementation des Prototypen (neu)

Einbinden des SWT Browsers (neu)

Einbinden einer Teilmenge von STF (neu)

Evaluation Testframework (entfällt)

Entwicklung Testframework (entfällt)

Als Nebenprodukt: Trennung von GUI und Anwendungslogik im Code

Ursprüngliche Ziele