Aktuellste Technologien

Ob Web oder App, mit Helm & Walter sind Sie technologisch auf dem neuesten Stand

Frontend vs. Backend — Fullstack

Programme und Anwendungen besitzen oftmals verschiedene Sichten oder Zugriffsmöglichkeiten auf die dahinterliegenden Daten und Funktionen. Wir bei Helm und Walter haben uns auf die technischen Aspekte des Backends von digitalen Anwendungen spezialisiert. Als Fullstack-Entwickler bieten wir darüber hinaus auch umfangreichen Service für Ihre Frontend-Herausforderungen. Damit schaffen wir ein perfektes Zusammenspiel von solider und stabiler Technik im Hintergrund und tollen User-Interfaces (UI) für Ihre Kunden oder Mitarbeiter.

Das Frontend

Zum einen gibt es die Ansicht bzw. die Benutzungsschnittstelle (User-Interface / UI), die Nutzende zu sehen bekommen – das Frontend. Dieses ist im Idealfall ansprechend sowie funktional gestaltet und zeichnet sich durch eine gute Benutzungsfreundlichkeit (Usability) sowie ein angenehmes Nutzungserlebnis (User Experienece / UX) aus. Technologien, die sich zur Erzeugung, Darstellung und Interaktion mit dieser nach außen präsentierten Nutzungsschnittstelle einsetzen lassen, werden als Frontend-Technologien bezeichnet.

Das Backend

Das Backend ist der Teil eines Programms bzw. einer Anwendung, der nicht direkt für die Außendarstellung gedacht ist, sondern sich mit der Verwaltung, Auswertung und Arbeit auf den Daten selbst befasst und teilweise nicht einmal eine Visualisierung dieser Daten bereitstellt. Es stellt aber die Grundlage der Funktionalitäten und damit die Basis für das Frontend dar.

Das Happy-End: Fullstack

Man kann die beiden Seiten auch als Client-Side für Frontend und die Nutzenden sowie Server-Side für die Datenbasis, Logik etc. bezeichnen. Wir bei Helm und Walter bieten Ihnen Lösungen für all diese Ebenen. Dies bezeichnet man als Fullstack.

Frontend Technologien

Es gibt eine ganze Reihe an Möglichkeiten, um ein Frontend für eine Anwendung zu realisieren. In den meisten Fällen setzen wir auf plattformunabhängige Technologien wie:

HTML (5) und CSS (3)

Für Anwendungen und einfache statische Seiten, die in einem Webbrowser dargestellt werden sollen, werden die Inhalte und Bedienelemente mit HTML grundlegend definiert und mit CSS in ihrem Aussehen und ihrer Platzierung angepasst. Jeder Browser interpretiert und visualisiert HTML und CSS ein klein wenig anders oder bietet Sonderfunktionen an.

Zur Realisierung von Webseiten und Projekten im Responsive-Design müssen für jede relevante Bildschirmbreite neue Anweisungen zur Darstellung im CSS definiert werden.

JavaScript (js)

JavaScript ist eine Skriptsprache, die durch einen Webbrowser ausgeführt werden kann. Dadurch lassen sich beispielsweise dynamische Änderungen an Webseiten realisieren. So können Funktionen, Animationen oder das dynamische Nachladen von Inhalten ohne komplettes Neuladen der Seite realisiert werden. Ziel ist es, eine statische, unveränderliche HTML-Seite lebendiger zu gestalten und damit das Nutzungserlebnis (UX) zu verbessern.

Single-Page-Applications (SPA) und Frameworks

Mit Hilfe von Skriptsprachen, wie JavaScript oder TypeScript, lassen sich Webseiten und Webanwendungen komplett dynamisch erzeugen. Das bedeutet, es wird nicht nur eine HTML-Seite geladen, die anschließend mittels JavaScript verändert wird. Stattdessen wird mittels der Skripte ein Großteil des HTML der Webseite selbst initial erzeugt und anschließend weiter verändert. Die Information, was dargestellt werden soll, wird als einfacher Datenstrom (zum Beispiel als Liste von Texten) von einem Server abgefragt. Im Browser selbst wird dann erst aus diesen Informationen die eigentliche Webseite mit ihren Funktionen erzeugt. Weil bei solchen Anwendungsfällen kein offensichtliches Neuladen der Webseite, beispielsweise mit einer neuen oder erweiterten Webadresse (URL), notwendig ist, spricht man von einer Single-Page-Application (SPA)also einer komplexen und dynamischen Web-Anwendung (Web-App), die unter einer einzigen Webadresse erreichbar ist. Diese lässt sich dann auch als eigenständige Cross-Plattform App ausliefern.

Es gibt eine Reihe von Programmbibliotheken (Frameworks), die Programmierern bei der Erstellung solcher SPA und Web-Apps unterstützen und damit eine Art der Standardisierung bieten. Das grundlegende Vorgehen ist dabei oft gleich: Es werden für verschiedene Programmzustände (States) entsprechende Eingabemasken oder Anzeigen definiert (Views), die aus verschiedenen Komponenten (Components) – z.B. Menüleisten, Formularen, Textkästen etc. – zusammengesetzt die gesamte Anwendungsoberfläche bilden.

Beispiele dafür sind:

Vue.js

Vue ist eine JavaScript Bibliothek, die das Bauen von komplexen und dynamischen Web-Anwendungen relativ einfach ermöglicht. Vue.js ist eine der neueren Technologien und unterliegt einer sehr aktiven Weiterentwicklung. Dadurch werden nicht nur die Möglichkeiten stetig erweitert, sondern auch die Performance und Stabilität. Zudem ist Vue.js sehr schlank und einfach einzusetzen, was Entwicklungszeiten deutlich verkürzen kann.

Weiterführender Link: https://vuejs.org/

React

React ist ebenfalls eine JavaScript Bibliothek bzw. ein Framework, welches das Erstellen von SPA und Web-Apps ermöglicht. React ist in erster Linie eine Technologie, die von Facebook entwickelt und eingesetzt wird. Es ist in den meisten Browsern lauffähig und kann darum auch für ältere Infrastrukturen genutzt werden.

Weiterführender Link: https://reactjs.org/

Angular

Angular ist ein Frontend-Framework für Web-Apps, das von einer großen Community, die von Google angeführt wird, als Open-Source Projekt entwickelt wird. Dabei setzt Angular auf TypeScript, anstatt wie andere Frameworks auf JavaScript. Damit wird es von allen neueren Browsern unterstützt. Es setzt auf einen mobile-first Ansatz, womit Anforderungen für Mobilgeräte besonders priorisiert sind.

Weiterführender Link: https://angular.io/

Backend Technologien

Das Backend, also die Server-Side, ist sehr viel technischer und oft für Kunden und Anwender viel weniger greifbar. Dennoch hat sich Helm und Walter gerade auch auf Lösungen in diesem Bereich spezialisiert. Ein solides Backend bildet die Basis für eine stabile und leistungsstarke IT-Lösung. Es ist somit ein besonderes Augenmerk auf diesen Teil zu legen.

Grundlegend können Backend-Technologien in drei große Bereiche unterteilt werden, die jeweils besondere Expertise benötigen:

1. Server-Infrastruktur und Betrieb

Die Basis für viele Anwendungen stellen Web-Server dar. Helm & Walter IT-Solutions hat sich auf die Umsetzung von verteilten Systemen, Cloud-Diensten und Web-Anwendungen (Web-Apps) spezialisiert. Dabei setzen wir vor allem auf eine Linux basierte Cloud-Server-Infrastruktur, die uns und unseren Kunden ein Höchstmaß an Flexibilität und Ausfallsicherheit bietet.

Für die Verwaltung, Einrichtung und Anpassung dieser Server setzen wir auf eine Vielzahl an modernsten Technologien. Dadurch können wir nicht nur den Betrieb Ihrer (Web-)Server gestützten Anwendung sichern, sondern auch Entwicklungs- und Testumgebungen flexibel und realitätsnah gestalten. Dies wiederum reduziert die Risiken bei einer späteren Bereitstellung auf ein Minimum.

Linux

[Server Betriebssystem]

Apache HTTP Server

[Webserver]

node.js

[JavaScript Laufzeitumgebung]

Spring (Boot)

[Java für Webserver]

Docker

[Container-Virtualisierung]

Kubernetes

[Bereitstellung und Skalierung von containerbasierten Anwendungen]

JHipster

[Bereitstellung von Systemarchitekturen]

Zabbix

[Netzwerk Monitoring]

Sentry

[Anwendungs- und Fehler-Monitoring]

2. Datenbank und Datenbasis

Bei den meisten Anwendungsfällen, die wir bei Helm und Walter bearbeiten, stehen in irgendeiner Weise die Aufnahme, Verwaltung, Auswertung und Darstellung von Daten im Vordergrund. Dabei spielt es für uns keine Rolle, wie umfangreich diese Datenmengen sind – wir finden auch für große Datenmengen eine leistungsstarke Lösung.

Bei der Speicherung und Verarbeitung von Daten kommen meist Datenbanken zum Einsatz. Diese legen Einträge vereinfacht gesagt in Tabellen ab, die untereinander teils stark verknüpft sind. Auf diesen Daten können dann Suchen oder Auswertungen vorgenommen werden. Eine gute und professionell durchdachte Strukturierung Ihrer Daten stellt die Grundlage für eine performante IT-Lösung dar. Wir unterstützen Sie bei der Findung, Ausarbeitung und Umsetzung eines solchen soliden Datenmodells.

Auch bei NoSQL (Not only SQL) Systemen für extrem große Datenbanksysteme können wir Ihnen helfen.

Natürlich stehen wir Ihnen auch bei der Migration Ihrer bisherigen Daten in ein neues System zur Seite.

Wir setzen unter anderem auf:

MySQL

[Standard Datenbanksystem auf den meisten Webservern]

MariaDB / MariaDB Column Store

[Datenbanksystem mit Möglichkeiten für performantere Abfragen]

3. Funktionen, Logik und Schnittstellen

Auch auf einem Webserver muss Software laufen, die Anfragen von Clients (Endgeräten, wie PCs, Mobilgeräten oder anderen Servern) entgegennimmt, bearbeitet und beantwortet. Diese Programme können mit unterschiedlichen Programmiersprachen und Technologien erstellt werden. Wir bei Helm und Walter setzen vor allem auf java oder php zur Programmierung von Backends. Gerade php ist zum Standard für solche Aufgaben geworden. Dabei kann jedoch auf verschiedene Basis-Frameworks zurückgegriffen werden.

Wir haben wir uns auf wenige, aber sehr leistungsstarke php-Frameworks spezialisiert:

Laravel

Laravel ist ein relativ neues und sehr leistungsstarkes php-Framework, das durch sehr viele Zusatzprojekte immer weiter in seiner Funktion erweitert wird. Darüber hinaus bietet es Entwicklern weitreichende Unterstützung, was die Entwicklungszeiten von IT-Projekten verkürzt.

Weiterführender Link: https://laravel.com/

Symfony

Auch Symfony ist ein php-Framework bzw. eine Programmbibliothek, die Funktionen und Komponenten für immer wiederkehrende Aufgaben und Probleme in php-Programmen bereitstellt und somit Entwicklungszeiten verkürzen kann und dabei hilft, Fehler zu vermeiden.

Weiterführender Link: https://symfony.com/

Zend

Zend gilt heute als veraltet, war aber bis vor einigen Jahren noch sehr weit verbreitet. Wir nutzen unsere langjährige Erfahrung mit diesem Framework, um bestehende Systeme weiterhin am Laufen zu halten.

Weiterführender Link: https://framework.zend.com/

Sie haben Fragen an uns?

Dann schreiben Sie uns doch einfach, wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen.