Geschrieben von Thomas Kruse
am 13. März 2018
Auf der Konferenz JavaLand stellten Stefan Reuter und Thomas Kruse das Thema "Self-Contained Systems" (SCS) im Kontext moderner Technologieentscheidungen vor.
Auf Basis von Erfahrungen in mehreren Projekten wurde der Weg von einer monolithischen Anwendungslandschaft zu einer Zielarchitektur auf Basis von Microservices und modernen Frontendtechnologien wie Angular skizziert.
Empfohlen wurde dabei die Nutzung von Domain-Driven Design für den Schnitt fachlicher Domänen und damit für die Identifikation möglicher SCS.
Geschrieben von Thomas Kruse
am 2. Februar 2018
Fehler gehören selbst zu Softwareprojekten mit sehr hoher Qualität, denn nicht immer ist die Anwendung selbst für auftretende Probleme verantwortlich.
Dies kann etwa in Single-Page-Applications der Fall sein, die in fremden Browsern laufen, hier am Beispiel einer Angular-Anwendung illustriert.
In einer solchen Anwendung können Fehler zum Beispiel aus unerwarten Interkationen des Benutzers, aber auch Plugins oder Browser-Erweiterungen resultieren.
Geschrieben von Thomas Kruse
am 27. November 2017
Mit dem Thema Dokumentation von Angular-Anwendungen beschäftigt sich Karsten Sitterberg in dem Artikel "Angular dokumentieren", der im Windows Developer Magazin veröffentlicht wurde.
Angular eignet sich gut als Framework für große und komplexe Anwendungen.
Da solche Anwendungen in der Regel langfristig gewartet und weiterentwickelt werden, erfordern sie auch eine gut nutzbare und leicht zu pflegende Entwicklerdokumentation.
Geschrieben von Thomas Kruse
am 23. November 2017
In Kundenprojekten steht immer wieder die Frage nach der richtigen Frontendtechnologie im Raum.
Typischerweise fällt die Wahl dabei entweder auf "React" von Facebook oder "Angular" von Google.
Doch mit welchen Kriterien und Bewertungsmaßstäben geht man hier sinnvoll vor?
Welche der Optionen passt optimal zu den Anforderungen?
Geschrieben von Thomas Kruse
am 29. Oktober 2017
Gerade bei umfangreicheren Anwendungen ist das Thema Dokumentation wichtig:
Neue Entwickler sollen sich schnell zurecht finden und bei einer langfristigen Wartung der Anwendung sollen Konzepte möglichst gleichförmig angewendet werden.
Welche Dokumentationsoptionen dabei in Frage kommen, und wie man diese richtig anwendet werden in dem Fachartikel "Angular Anwendungen perfekt dokumentieren" durch unseren Angular Trainer Karsten Sitterberg beschrieben.
Geschrieben von Karsten Sitterberg
am 20. September 2017
Der Browser entwickelt sich mehr und mehr zu einer vielseitigen Plattform, die als Ziel für immer komplexere Anwendungen dient.
Um mit dieser neuen Plattform alle Anwendungsfälle abbilden zu können, müssen auch aufwändige grafische Darstellungen wie etwa 3D-Modelle oder ganze Spiele auf dieser Plattform möglich sein.
Für 3D-Modelle und Videospiele wurden bisher zum Beispiel OpenGl oder Direct3D verwendet.
Im Browserumfeld steht mit WebGL jetzt eine vergleichbare API für 3D-Programmierung zur Verfügung.
Damit wird ermöglicht, aus dem Browser heraus per JavaScript Grafiken zu erzeugen, die hardwarebeschleunigt direkt durch die Grafikkarte gerendert werden.
Geschrieben von Thomas Kruse
am 6. September 2017
Im zweiten Teil der Artikelserie rund um das Thema Buildautomatisierung mit Jenkins für JavaScript-Anwendungen wird die Verwendung des Jenkinsfile beschrieben.
Ein Jenkinsfile wird genau wie die entwickelte Software selbst verwaltet. Diese Infrastructure-as-Code erlaubt es, die gleichen Vorgehensweisen zur Entwicklung, Test und Qualitätssicherung der Infastruktur zu verwenden, wie für den eigentlichen Quellcode.
Geschrieben von Thomas Kruse
am 18. August 2017
Bei der Nutzung von eigenen Docker-Images stellt sich früher oder später die Frage, wie eine sinnvolle Build-Automatisierung am besten umgesetzt wird.
Der Docker-Host, auf dem die Images gebaut werden, läuft früher oder später in Probleme durch verwaiste Volumes, Image-Layer und ganze Images.
Soll auch der Buildserver als Docker-Container betrieben werden, so wird die Situation noch etwas komplizierter:
Auf keinen Fall soll versehentlich ein Container während des Builds oder sogar der Container des Buildservers selbst "aufgeräumt" werden.
Damit ergeben sich im Prinzip folgende Optionen
-
Sehr sorgfältig erstellte Clean-Up Jobs
-
Verwendung von Docker-in-Docker zur Isolation des Docker-Image Builds
-
Verwendung eines speziellen Build-Slave, der eine Docker Buildumgebung bereitstellt und jederzeit entsorgt und neu erstellt werden kann
Die zuletzt genannte Option wird im folgenden exemplarisch mit Jenkins, Ansible und Vagrant/VirtualBox vorgestellt.
Vagrant dient dabei lediglich zur Veranschaulichung, in produktiven Umgebungen wird man auf Cloud-Resourcen oder VMware ESX zurückgreifen.
Geschrieben von Thomas Kruse
am 6. Juli 2017
Moderne Softwareentwicklung zeichnet sich durch schnelle Auslieferung in hoher Qualtiät aus.
Neben iterativer oder agiler Entwicklungsmethoden und Frameworks, die sich durch eine hohe Produktivität auszeichnen, spielt auch die Herangehensweise bei der Automatisierung von Test, Build und Auslieferung eine wichtige Rolle.
Jenkins ist ein kostenloser Continous-Integration und Buildserver, der sich hervorragend für die Automatisierung von Abläufen rund um den Softwareentwicklungsprozess eignet.
Geschrieben von Thomas Kruse
am 30. Juni 2017
Docker hat mit Version 17.05 sogenannte Multi-Stage Builds eingeführt.
Dieser Beitrag zeigt, wie Docker-Multi-Stage-Builds effektiv für Angular-Anwendungen eingesetzt werden können und um was es sich bei Docker-Multi-Stage-Builds überhaupt handelt.