COYO Inside: Technik im stetigen Wandel

Alle Blogbeiträge Veröffentlicht am 29.06.2020

Als Softwareprodukt unterliegt COYO einer stetigen Veränderung. Gerade bei webbasierten Lösungen ist der Grad dieser Veränderungen besonders groß. Das liegt zum einen an der hohen Anzahl an Anforderungen, die wir selbst und auch unsere Kunden an unsere Software stellen. Zu diesen Anforderungen gehören eine gute Anpassbarkeit und Individualisierbarkeit, eine intuitive und fehlerfreie Bedienung, verschiedenste Bedürfnisse zur Internationalisierung und Barrierefreiheit sowie viele weitere Kriterien. Zum anderen unterliegen die verwendeten Technologien einem kontinuierlichen Wandel mit enorm hohem Innovationsdruck und gleichzeitig kurzer Lebensdauer.

In einem solchen Umfeld ist es wichtig, nicht den technologischen Anschluss zu verlieren. Aus diesem Grund teilt sich die Arbeit in der Softwareentwicklung bei COYO grundsätzlich in zwei Bereiche auf: die Entwicklung neuer Funktionen und Ideen sowie die Instandhaltung und Überarbeitung bestehender Bestandteile der Software. Die richtige Balance zwischen diesen beiden Bereichen zu finden, ist eine tägliche Herausforderung.

Regelmäßig werden neue Technologien bei COYO implementiert und Partitionen des Produkts umgezogen. Im Optimalfall funktioniert nach einem Umbau in unserer Software alles genauso wie vorher. Die Vorzüge eines technischen Umbaus zeigen sich häufig erst viel später, indem sie u.a. die Wartbarkeit und Lebensdauer des Produktes erhöhen. Daher möchten wir einige dieser technischen Aspekte etwas genauer in diesem Blog-Artikel beleuchten.

Migration von Angular JS zu Angular 

Unser Front-End basierte in den letzten Jahren im Wesentlichen auf einem Framework, und zwar AngularJS. Dabei handelt es sich um ein JavaScript-basiertes Open-Source-Web-Framework, das hauptsächlich von Google entwickelt wurde. Angular JS erreicht Mitte 2021 sein „End-Of-Life“-Status (EOL) und wird nicht länger weiterentwickelt. Die neue Version Angular (Version 2+) ist eine vollständige Neuentwicklung des Frameworks. Eine vollständige Neuentwicklung des Frameworks heißt für uns bei COYO, dass auch wir unser Front-End vollständig anpassen müssen. Bei Änderungen dieser Größe können sich natürlich auch neue (und manchmal auch altbekannte) Fehler einschleichen. Wir arbeiten hart daran, dass dies nicht oft vorkommt und können nur um euer Verständnis bitten, wenn es dennoch einmal vorkommt. Was derzeit ein großer Aufwand in unserer Softwareentwicklung bedeutet, hat am Ende Vorteile für uns und unsere Kunden.

👉🏻 Einige der Vorteile sind:

- ein verbessertes UI

- Typsicherheit im Front-End und damit langfristig weniger Fehler

- eine deutlich bessere Performanz — sowohl mit Blick auf die initiale Ladezeit als auch bei der Verwendung von COYO

- Sicherheitsupdates und damit verbunden auch ein stabiler laufendes Front-End

- eine einfachere und schnellere Entwicklung sowie bessere Wartbarkeit


Ihr, als Kunden, bekommt von dem Umzug unseres Codes auf das neue Framework die meiste Zeit wenig mit. Ein erster großer Meilenstein war die Migration der Timeline, die vor einigen Monaten abgeschlossen war – die Ladezeiten der selbigen wurden drastisch reduziert. 
Schritt für Schritt folgen jetzt die anderen Komponenten. Natürlich hat eine solch große Entwicklung teilweise auch Nachwirkungen: So müssen beispielsweise durch die Migration der Widget API von AngularJS zu Angular ab dem Cloud Release 26  alle bisher entwickelten Widgets unserer Kunden und Partner angepasst werden.

shahadat-rahman-O2MdroNurVw-unsplash (1)

Hey COYO, wie geht's weiter? 

Als nächstes migrieren wir die Apps und deren API. Auch hier wird es zu notwendigen Anpassungen auf eurer Seite kommen. Wer allerdings ausschließlich die von COYO entwickelten Apps und Widgets nutzt, braucht sich keine Sorgen zu machen. Wir übernehmen natürlich die Migration und auch die unter Umständen notwendigen Konvertierungen von Daten. Weiterhin arbeiten wir gerade an einem neuartigen Plugin-Konzept, das bereits ausschließlich in Angular entsteht. Mehr darüber erfahrt ihr in Kürze.

Auf Nimmerwiedersehen, Bootstrap!

Wenn es um Aktualisierungen unserer technischen Basis geht, kämpfen wir zur Zeit nicht nur an einer Front: Neben der Angular Migration entfernen wir auch stückweise Bootstrap 3.x aus unserer Applikation. Bootstrap ist ein CSS- und JavaScript-Framework und enthält UI-Bausteine und -Grundlagen für Typografie , Formulare, Buttons, Tabellen, und viele weitere Oberflächengestaltungselemente und JavaScript-Erweiterungen. Doch auch Bootstrap hat sich vor einiger Zeit zu einer kompletten Neuentwicklung entschlossen. Im Gegensatz zu der Angular-Migration werden wir hier nicht auf die neusten Bootstrap-Technologie umziehen, sondern uns von der Applikation verabschieden. Teile werden durch neue Angular-Komponenten ersetzt, anderes entwickeln wir komplett selbst. Das öffnet uns neue Gestaltungsmöglichkeiten und wird langfristig dazu führen, dass sich nicht nur unsere API-Schnittstellen stabilisieren, sondern auch die HTML- und CSS -Struktur.

👉🏻 Ihr werdet auch hier einen einmaligen Arbeitsaufwand haben, sofern ihr in eurem COYO CSS-Anpassungen vorgenommen habt. Die Vorteile dieser Änderungen werden in Zukunft jedoch überwiegen: Keine gravierenden Änderungen mit jedem Release und somit eine Beständigkeit des Produkts. Die Entfernung von Bootstrap läuft parallel mit der Angular-Migration.

maxwell-nelson-taiuG8CPKAQ-unsplash

Neues Design-Konzept 

Mit der Entfernung von Bootstrap erfolgt auch eine Verbesserung des Design-Systems. Bisher könnt ihr über einzelne CSS-Klassen auf das Aussehen von COYO zugreifen und macht es somit zu eurer di. Derzeit arbeiten wir daran, die Möglichkeiten unserer internen Designs weiter zu verbessern. Denn je mehr ihr über die vorgegebenen Einstellungsmöglichkeiten anpassen könnt, desto weniger benutzerdefiniertes CSS müsst ihr verwenden. Eine Win-Win-Situation. 

🙋🏻‍♂️ Kennt ihr schon unseren Tech-Blog?

Ihr möchtet weitere Einblicke bekommen, wie die Entwickler bei COYO arbeiten? Dann schaut doch mal auf unserem Tech-Blog vorbei!

Autor

Fynn Feldpausch

Fynn ist Software Architect und koordiniert die Frontend-Entwicklung bei COYO. Als COYOneer der ersten Stunde gewährt er euch spannende Einblicke in die technische Welt unserer Software.