Das neue jaBuT Backup 2019

Die Zeit vergeht, Code wird hinzugefügt, wieder entfernt und verbessert. Aber jetzt ist es endlich an der Zeit Sie wissen zu lassen, woran ich in der letzten Zeit gearbeitet habe, was in diesem Jahr noch zu erwarten ist und worauf Sie sich freuen können!

Es ist mittlerweile zwei Jahre her, als ich mit den ersten Tests für ein neues Feature begonnen habe, welches ich immer „Die neue Profilliste“ nannte. Dieses Feature und noch einige andere Dinge befinden sich nun endlich in der finalen Phase und können präsentiert werden.


Die alte Profilliste

Die alte Profilliste bis Version 2019.03.23612

Technisch gesehen der Code der alten Profilliste bis Version 2019.03.23612 das reinste Durcheinander. Bis zu dieser Version habe ich den Code nie vom Design getrennt, was jedoch sehr wichtig ist, wenn zukunftssicher programmiert werden soll. Aber hey – es hat immer gut funktioniert!
Der größte Nachteil dieser Art von Arbeit besteht aber darin, dass die Software bei jeder Kleinigkeit Daten von der Festplatte laden muss. Beispiel: Wenn Sie ein Profil zum Bearbeiten öffnen, werden alle Profilinformationen von der Festplatte geladen. Beim Speichern werden die Änderungen auf die Festplatte gespeichert und das Profil schließlich erneut von der Festplatte geladen, um es in die Profilliste zurückzuschreiben – oder soll ich sagen zurückzubacken?
Der große Vorteil dieses absolut schlechten Softwaredesigns besteht wieder darin, dass es schwierig ist, alle Daten auf einmal zu verlieren, da alle Daten immer geladen, verwendet und wieder auf die Festplatte gespeichert werden.

Diese Verhaltensweise gilt zieht sich einmal quer durch das Programm. Egal was mit einem Profil angestellt wird. Ein Profil ausführen, ein Profil duplizieren, sogar ein Profil umbenennen führt dazu, dass unnötigerweise Daten geladen und gespeichert werden und alles andere, wo es für den Zugriff auf Profildaten benötigt wird.
So vorzugehen ist in jedem Falls schlechtes Design und sollte von niemandem angewendet werden. Auch wenn Sie gerade erst mit der Programmierung beginnen – verwenden Sie diesen Ansatz nicht. Investieren Sie etwas Zeit und lernen Sie den richtigen Weg.


Die neue Profilliste

Die neue Profilliste seit mitte 2019

Die Implementierung der neuen Profillisten wurde von Grund auf neu aufgebaut und verwendet einen völlig anderen, besseren und zukunftssichereren Ansatz. Die Benutzeroberfläche, der Datenzugriff und die Businnes Logic sind jetzt getrennt, so wie wie es immer sein sollte. Diese Änderung einzubauen war eine Menge Arbeit, die lange gedauert hat. Aber der Aufwand lohnt sich, da ich dadurch neue Funktionen einfacher implementieren kann.


Die neue Benutzeroberfläche

Die meisten Änderungen wurden unter der Haube vorgenommen und sind nicht sichtbar. Für einige Benutzer kann es frustrierend sein, so lange auf ein Update zu warten und dann keine sichtbaren Änderungen wahrzunehmen. Dementsprechend habe ich beschlossen, ebenfalls einige Änderungen an der Benutzeroberfläche vorzunehmen.

Die erste unübersehbare Änderung ist die neue Profilliste. Die Profileleinträge sind jetzt größer und damit besser lesbar. Sie können die Größe über das Hauptmenü > Ansicht > Zoom ändern. Die Statussymbole wurden neu erstellt und sind in verschiedenen Größen vorhanden. Profile können jetzt auch durch Klicken auf den kleinen Stern favorisiert werden. Außerdem haben Profilelemente jetzt je nach Status unterschiedliche Hintergrundfarben und können einen Informationstext enthalten, der in den Profileinstellungen hinzugefügt werden kann.

Die zweite Änderung der Benutzeroberfläche ist das neue und schönere Profilgruppensystem. Profilgruppen können jetzt wesentlich einfacher als zuvor hinzugefügt, umbenannt, gelöscht und neu angeordnet werden. Auch das Gruppieren von Profilen ist dank der größeren Registerkarten jetzt viel einfacher. Klicken Sie einfach mit Ihrer Maus auf ein Profil und ziehen Sie es auf eine Profilgruppe. Wenn Sie es bevorzugen das per Tastatur zu erledigen, dann können Sie dies in den Profileinstellungen. Alle Gruppen außer Alle Profile und Favoriten können umbenannt, gelöscht und neu angeordnet werden.

Die dritte Änderung sind kleinere Farb- und Designänderungen im Hauptfenster. Das Hauptfenster sollte sauberer und etwas moderner aussehen, aber keiner Windows 10 App ähneln.

Zu guter Letzt habe ich viele HighDPI-Verbesserungen implementiert, da einige Nutzer mehr als 100% DPI eingestellt haben. Alle Fenster und Dialoge sollten jetzt in DPI bis zu 175% fehlerfrei dargestellt werden. Weitere Tests mit 4K-Displays und einer Skalierung von 225% und mehr werden später durchgeführt. Bitte beachten Sie: Ich kann nicht vorhersagen, wie sich einige Windows 7-Installationen oder ältere Windows-Versionen jetzt verhalten, da die Fensterskalierung erst seit Windows 10 einigermaßen ordentlich funktioniert.


Was als nächstes kommt

Regelmäßige Fehlerkorrekturen und Verbesserungen werden immer Bestandteil der Entwicklung von jaBuT Backup sein. Für dieses Jahr habe ich geplant, wie von mehreren Benutzern gewünscht, die Möglichkeit zu implementieren, mehr als ein Quellverzeichnis pro Profil hinzuzufügen. Um das ordentlich zu implementieren, muss ich viele Änderungen an Code und Benutzeroberfläche vornehmen. Sobald dies geschehen ist, werde ich darüber nachdenken, was als nächstes implementiert werden soll. Wenn Sie wollen, können Sie mir helfen! Kontaktieren Sie mich per E-Mail und teilen Sie mir mit, was Sie gerne in jaBuT Backup sehen möchten =)


Résumé

Da die zwei großen Refactorings nun erledigt sind kann mich darauf konzentrieren, weitere Funktionen zu implementieren wie bereits auf der Roadmap erwähnt . Leider waren die letzten beiden großen
Refactorings absolut erforderlich, um neue Funktionen sauber implementieren zu können ohne ein riesen Code-Chaos einzubauen.

Ich hoffe Ihnen gefallen meine implementieren Änderungen und jaBuT Backup ebenfalls. Wenn Sie Fehler finden, zögern Sie nicht mich zu kontaktieren.


git diff für Geeks

diff between update 2019.03.23612 and now
324 files changed, 26884 insertions(+), 19656 deletions(-)

diff between update when I started this refactor and now
1035 files changed, 50268 insertions(+), 122604 deletions(-)