Was ist ein Tech-Stack und wie wählt man den richtigen?

Veröffentlicht am 17.11.2021 von Gitanjali Maria und Rosalia Pavlakoudis

Was ist ein Tech-Stack Header

Überlegst du, für dein Unternehmen eine Softwarelösung oder mobile App zu entwickeln? Erfahre mehr über den Tech-Stack und die Elemente, die der Anwendungsentwicklung zugrunde liegen.

Beim Thema Softwareentwicklung hört man von Entwicklern häufig den Begriff des Tech-Stacks oder Technologie-Stacks. Vielleicht hat auch dir schon mal jemand gesagt, dass mit deinem aktuellen Tech-Stack bestimmte Funktionen nicht zu deiner App hinzugefügt werden können oder dass deine Website wegen deines Technologie-Stacks langsam ist.

Wenn du dich jedes Mal fragst: „Was ist ein Technologie-Stack denn eigentlich?“, bist du hier richtig. Wir erklären, was ein Tech-Stack ist, wie er sich von einem Software-Stack unterscheidet, warum er wichtig ist und wie du den richtigen Tech-Stack für dein Unternehmen auswählst. Außerdem erläutern wir am Beispiel eines Social-Media-Giganten, wie ein erneuerter Tech-Stack ein Unternehmen kundenfreundlicher machen kann.

Was ist ein Tech-Stack?

Ein Tech-Stack oder Technologie-Stack, auch als Solution Stack bzw. Lösungsstack bezeichnet, ist die Gesamtheit der Technologien, die zum Erstellen und Ausführen von Softwareanwendungen eingesetzt werden. Dazu zählen Web-Frameworks, Programmiersprachen, Server, Betriebssysteme, Datenbanken und mehr, die zum Entwickeln und Betreiben von Webanwendungen oder mobilen Apps genutzt werden. 

Wenn du beispielsweise eine Webanwendung (z. B. eine Website) mit der Programmiersprache Python erstellt und auf einem Apache-Webserver gehostet hast, sind Python und Apache Elemente des Tech-Stacks deiner Website.

Die zwei Teile eines Tech-Stacks

Jeder Technologie-Stack kann in zwei Teile aufgeteilt werden:

  • Kundenseitig (Frontend): Dieser Teil umfasst die Komponenten, mit denen Kunden direkt interagieren oder die sie auf ihren Bildschirmen angezeigt bekommen. HTML, CSS und JavaScript gehören zu den Frontend-Technologien. Sie dienen dazu, die Struktur einer Website zu gestalten oder Formatierungselemente und interaktive Komponenten (z. B. Social-Media-Buttons, Animationsschaltflächen) hinzuzufügen.

  • Serverseitig (Backend): Dieser Teil umfasst die Technologiekomponenten, mit denen Kunden nicht interagieren und die sie nicht angezeigt bekommen, aber die notwendig sind, damit die kundenseitigen Technologien funktionieren. Programmiersprachen wie PHP, Web-Frameworks wie Django und Server wie Apache sind Teile der Backend-Entwicklung.

* Hinweis: Im Anhang findest du die Definitionen von gängigen Tech-Stack-Komponenten.

Komponenten eines Tech-Stacks

Komponenten eines Tech-Stacks (Quelle)

Was ist ein Software-Stack?

Ein Software-Stack ist ein Unterbereich eines Tech-Stacks und umfasst nur die für die Anwendungsentwicklung genutzten Softwarekomponenten. Dazu gehören Programmiersprachen, Coding-Frameworks, Betriebssysteme, Middleware, Webserver und installierbare Dateien. Ähnlich wie ein Tech-Stack hat auch ein Software-Stack server- und kundenseitige Elemente.

Wenn du für die Infrastrukturanforderungen deiner Anwendung cloudbasierte Dienste wie Azure verwendest, sind auch diese Teil des Software-Stacks. In solchen Fällen besteht kaum ein Unterschied zwischen Tech-Stack und Software-Stack.

Tech-Stack versus Software-Stack

3 häufig genutzte Tech-Stacks

Du musst deinen Tech-Stack nicht von Grund auf neu zusammenstellen. Fertig zusammengestellte Tech-Stacks wie die folgenden beliebten Optionen sparen dir Zeit und Mühe. 

  1. LAMP

Dieser Tech-Stack umfasst das Linux-Betriebssystem, Apache-Server, MySQL-Datenbanken und die Programmiersprache PHP. Alle Komponenten sind Open Source, sodass du den Stack einfach anpassen kannst, beispielsweise indem du Python statt PHP verwendest. Der LAMP-Stack wird häufig zur Entwicklung von Webanwendungen verwendet, die dynamische Inhalte verarbeiten, also Inhalte, die sich abhängig von Nutzereigenschaften wie dem Verhalten während der Sitzung, Daten zu vorherigen Interaktionen oder Präferenzen verändern.

  1. MEAN

Der MEAN-Stack umfasst die Datenbank MongoDB, Express.js-Server, das Framework AngularJS und die Laufzeitumgebung Node.js. Er ermöglicht eine einfache Skalierung von einem Minimalprodukt (MVP) auf ein vollständiges Produkt, da in allen Phasen der App-Entwicklung dieselbe Programmiersprache (JavaScript) verwendet wird. Der MEAN-Stack ist für Anwendungen wie Kalender, Karten, Workflow-Management-Systeme und Nachrichtenseiten geeignet.

  1. MERN

Der Hauptunterschied zwischen den Stacks MERN und MEAN besteht darin, dass MERN React anstelle von Angular als Web-Framework verwendet. Daher ist die Arbeit mit MERN etwas schwieriger, aber es bietet den Vorteil von hochwertigen Anwendungen und interaktiven Nutzeroberflächen (UIs). Anders als Angular hat React kein vordefiniertes Framework, sondern ermöglicht es Entwicklern, Code zum Erstellen benutzerdefinierter UI-Elemente anzupassen.

In beliebten Anwendungen eingesetze Tech-Stacks

In der folgenden Übersicht findest du die Tech-Stacks einiger beliebter Webanwendungen, um besser einschätzen zu können, welche Art von Ausgabe- und UI-Funktionen du von verschiedenen Tech-Stack-Kombinationen erwarten kannst.

Teck-Stacks beliebter Webanwendungen im Überblick
Teck-Stacks beliebter Webanwendungen im Überblick

Warum ist dein Tech-Stack wichtig?

Wie App-Entwickler wissen, ist die Wahl des richtigen Tech-Stacks eine wichtige Grundlage für die gesamte Entwicklung. Dafür gibt es mehrere Gründe:

Der Tech-Stack bestimmt die Skalierbarkeit der Anwendung

Dein Tech-Stack ist so etwas wie das Fundament und die Tragbalken eines Gebäudes, die bestimmen, wie stabil das Gebäude steht und welche weiteren Anbauten möglich sind. Es hängt von deinem Tech-Stack ab, ob du weitere Funktionen zu deiner Anwendung hinzufügen, ihre Geschwindigkeit erhöhen oder ihre Größe für einen schnelleren Download reduzieren kannst.

Der Tech-Stack beeinflusst die Integrationsmöglichkeiten der Anwendung

Deine Software sollte in Anwendungen von Drittanbietern integrierbar sein, damit ein umfassender Funktionsumfang verfügbar ist. Gehaltsabrechnungs-Apps sollten beispielsweise in Personalverwaltungssoftware integriert werden können. Java, C#, .NET, NGINX und Apache-Webserver gehören zu den Tech-Stack-Elementen, die eine einfache Integration ermöglichen. 

Der Tech-Stack beeinflusst, wie viel deine Anwendung kosten wird

Dein Tech-Stack wirkt sich auf die Entwicklungskosten deiner Anwendung aus. Die Kosten von Tools und die Vergütung von Entwicklern schlagen sich direkt in den Gesamtkosten für die Entwicklung nieder. So ist beispielsweise die Entwicklung in PHP kostengünstiger als in Java oder Python, da die Gehälter für PHP-Programmierer niedriger sind.

So wählst du den richtigen Tech-Stack

Es gibt bei der Auswahl eines Tech-Stacks keine standardmäßige Vorgehensweise. Deine Wahl hängt von deinen Projektanforderungen, der Zeit bis zur Markteinführung sowie deinen Anforderungen an die Sicherheit und Skalierbarkeit ab. Gleichzeitig macht es einen Unterschied, ob du eine Webanwendung oder eine mobile App entwickelst. 

Die folgenden fünf Faktoren gilt es zu beachten:

Auch wenn du deinen Tech-Stack anhand dieser Faktoren sorgfältig ausgewählt hast, kann es vorkommen, dass du deinen Stack ändern oder sogar neu aufbauen musst, um dich nach sich wandelnden Kundenvorlieben zu richten (z. B. Präferenzen für Videos und dynamische Inhalte) oder um mit Fortschritten im Bereich App-Entwicklungstechnologie Schritt zu halten. 

Fallgeschichte: Neuer Tech-Stack bei Facebook: Anpassung an den Wandel der Technologien und Nutzerpräferenzen

Als facebook.com 2004 ins Leben gerufen wurde, war es eine PHP-Website. In den nächsten anderthalb Jahrzehnten fügte das Technikteam neue Technologieebenen zum Originalcode hinzu, um verschiedene interaktive Funktionen anzubieten. Diese Änderungen machten die Website jedoch langsamer und die Wartung komplizierter. Gleichzeitig konnten manche vom Team gewünschten Funktionen wie der Nachtmodus nur schwierig implementiert werden. Daher musste das Technikteam den ursprünglichen Tech-Stack überarbeiten, um die UI und die Performance zu verbessern. Das Team entschied sich dafür, den Tech-Stack vollständig neu aufzubauen. Der neue Stack umfasste React, Relay, GraphQL, JavaScript und weitere Elemente. Diese Veränderung verbesserte nicht nur die Geschwindigkeit der Facebook-Website, sondern machte es auch möglich, neue Funktionen hinzuzufügen.

Hier kannst du mehr über den Tech-Stack von Facebook lesen.

Tipps für die Wahl deines Tech-Stacks

Eine Website und/oder mobile App sind für Unternehmen von heute eine Notwendigkeit. Wenn du zum ersten Mal eine App oder Website entwickelst, ist manches vielleicht noch ziemlich kompliziert. Die folgenden Tipps sollen dir helfen:

  • Entscheide dich für bewährte Tech-Stacks: Anstatt selbst einen Tech-Stack zusammenzustellen, wähle vorgefertigte Stacks, die deinen Projekt- und Integrationsanforderungen und Ressourcenbeschränkungen entsprechen.
  • Erstelle als Erstes ein Minimalprodukt: Versuch nicht, in einem Rutsch eine voll ausgestattete Anwendung zu entwickeln, sondern entwickle zunächst einen Prototyp oder ein Minimalprodukt, das die wichtigsten Funktionen unterstützt. Teste das Minimalprodukt mit deinen Nutzern und entwickle erst dann eine Anwendung mit vollem Funktionsumfang.

  • Lass dich in Community-Foren unterstützen: In Community-Foren wie GitHub und SourceForge findest du Antworten auf Fragen zu möglichen Problemen, auf die du bei der Nutzung vorgefertigter Tech-Stacks stoßen könntest. Außerdem kannst du freiberufliche Entwickler beauftragen, die Webanwendungen oder mobile Apps für dich entwickeln können.
Wie geht es weiter? Wirf einen Blick auf unser Verzeichnis für Anwendungsentwicklungssoftware, um das passende Tool zu finden.

*Anhang

Definitionen einiger gängiger Komponenten eines Tech-Stacks.

  • Programmiersprache: Eine Computersprache, mit der Programmierer oder Entwickler Code zur Ausführung von Anwendungen schreiben. Beispiele: Java, C, C++, Python

  • Web-Framework: Eine Standardmethode zum Erstellen und Bereitstellen von Webanwendungen im Internet.

  • Datenbank: Hardware- und Softwaretools, die helfen, Daten auf strukturierte Weise zu speichern und zu organisieren.

  • Webserver: Hardware (Computersysteme) und Software (Serversoftware), die Webanfragen verarbeiten und Website- oder App-Inhalte anzeigen.

  • Integrierte Entwicklungsumgebung (IDE): Eine Softwareanwendung, die Entwicklern alle benötigten Ressourcen zur Entwicklung von Programmen bietet.

  • Laufzeitumgebung: Softwarecodes, Bibliotheken und andere Dateien, die die Ausführung von Programmcodes unterstützen.

  • Middleware: Software, die Anwendungen mit den Betriebssystemen der Nutzer verbindet.

  • Betriebssystem: Eine Systemsoftware, die die Hardware- und Softwarekomponenten eines Computers verwaltet und die reibungslose Ausführung ermöglicht. Beispiele: Microsoft Windows, Linux, macOS

  • HTML (Hypertext Markup Language): Ein System, das die Struktur des Inhalts einer Webseite definiert.

  • CSS (Cascading Style Sheets): Ein Mechanismus, der die Präsentation von Inhalten in einem HTML-Framework verbessert.

Die in diesem Artikel ausgewählten Anwendungen sind Beispiele, um eine Funktion im Kontext zu zeigen und sind nicht als Empfehlung gedacht oder implizieren eine Befürwortung. Sie sind Quellen entnommen, die zum Zeitpunkt der Veröffentlichung als zuverlässig gelten.


Dieser Artikel kann auf Produkte, Programme oder Dienstleistungen verweisen, die in deiner Region nicht verfügbar sind oder die durch die Gesetze oder Vorschriften des Landes eingeschränkt sein können. Wir empfehlen, sich direkt an den Softwareanbieter zu wenden, um Informationen über die Produktverfügbarkeit und Rechtskonformität zu erhalten. Gender Hinweis: Aus Gründen der besseren Lesbarkeit wird bei Personenbezeichnungen und personenbezogenen Hauptwörtern auf dieser Website die männliche Form verwendet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für alle Geschlechter. Die verkürzte Sprachform hat nur redaktionelle Gründe und beinhaltet keine Wertung.


Artikel teilen

Über den Autor oder die Autorin

Content Analyst für GetApp und SoftwareAdvice. Absolventin der HHU Düsseldorf, wohnhaft in Barcelona. Am Wochenende findet man mich meistens am Strand oder beim Brunch.

Content Analyst für GetApp und SoftwareAdvice. Absolventin der HHU Düsseldorf, wohnhaft in Barcelona. Am Wochenende findet man mich meistens am Strand oder beim Brunch.