Als Softwarestack (etwa „Softwarestapel“) oder Solution-Stack bzw. Lösungsstack (etwa „Lösungsstapel“), oft kurz als Stack bezeichnet, bezeichnet man eine Reihe von aufeinander aufbauenden Softwarekomponenten, die gemeinsam eine Plattform bilden.

Ein Stack setzt sich hierbei zusammen aus dem Betriebssystem, dem Webserver und der Laufzeitumgebung, der Programmiersprache, den Programmierwerkzeugen (z. B. IDE und Compiler), der Lösung für die Datenpersistenz (z. B. Datenbank), sowie Frameworks, Bibliotheken und Schnittstellen. Häufig eingesetzte Stacks werden oft mit einer Abkürzung bezeichnet.

Unter Full Stack wird die Gesamtheit all jener Stacks bezeichnet. Der Begriff wird hauptsächlich zur Beschreibung eines Softwareentwickler-Generalisten (Full Stack Developer) benutzt.

Beispiele + Häufige Stacks und assoziierte Technologien Abkürzung Betriebssystem Webserver Laufzeitumgebung Datenpersistenz Programmiersprache IDE Sonstiges LAMP Linux Apache Perl, PHP oder Python MySQL oder MariaDB Perl, PHP oder Python LAPP Linux Apache Perl, PHP oder Python PostgreSQL Perl, PHP oder Python LNMP/LEMP Linux Nginx Perl, PHP oder PythonMySQL, MariaDB Perl, PHP oder Python LLMP Linux Lighttpd Perl, PHP oder Python MySQL oder MariaDB Perl, PHP oder Python LYME Linux Yaws Mnesia Erlang LYCE Linux Yaws CouchDB Erlang GLASS Linux Apache GemStone SmalltalkSeasideLEAP Linux Eucalyptus, AppScale Python PythonXAMPP Apache PHP, Perl oder Python MySQL oder MariaDB PHP, Perl oder Python MAMP macOS Apache PHP, Perl oder Python MySQL oder MariaDB PHP, Perl oder Python WAMP Windows Apache PHP, Perl oder Python MySQL oder MariaDB PHP, Perl oder Python NMP Nginx PHP MySQL oder MariaDB PHPWIMP Windows IIS MySQL oder MariaDB PHP, Perl, Python WISA Windows, Windows Server IIS .NET SQL ServerC#, F#, VB.NETVisual Studio ASP.NET WINSWindows, Windows Server IIS.NETSQL Server C#, F#, VB.NETVisual Studio OpenACS Linux oder WindowsAOLserver PostgreSQL oder Oracle Tcl, OpenACS MEAN Node.js BrowserMongoDB JavaScript, TypeScript oder DartAngular, Express.js MERN Node.jsBrowser MongoDB JavaScript, TypeScript oder DartReact.js, Express.jsSNAKEOILLinux oder WindowsFlask (Jinja2 und Werkzeug)PythonMongoDBPythonDocker (Software), Traefik (Reverse Proxy) SMACK Apache Mesos JVM Apache Cassandra + Apache Spark Java IntelliJ IDEA, Eclipse, NetBeans Akka, Apache Kafka XRXBrowserXML-Datenbank (BaseX, eXist, MarkLogic Server)XML, xHTML, XQuery, XSLT, XForms REST BCHSlearnbchs.orgBSD (OpenBSD)Open BSD httpd SQLite C JAMjamstack.orgBrowserREST-APIJavaScript, Markup (HTML, CSS) Android Android Android Runtime (ART) SQLiteJava, Kotlin Android Studio Android SDK Apple macOS, iOS macOS Objective-C, Swift Xcode Cocoa XamarinWindows, macOS, Linux, iOS, AndroidMono, .NET SQLite C#, F# Visual Studio, MonoDevelop PhoneGap iOS, Android, WindowsApache Cordova SQLiteJavaScript, HTML, CSS.Net-Framework Windows, Azure IIS .NET SQL Server; alle relationalen und nicht-relationalen Datenbanken C#, F#, VB.NET Visual Studio ASP.NET, WinForms, WPF, UWP, WCF, WF .NET Core/.NET Windows, macOS, Linux, Azure IIS, Apache, Nginx.NET Core SQL Server; alle relationalen und nicht-relationalen Datenbanken C#, F#, VB.NET Visual Studio ASP.NET SAFE Azure .NET CoreSQL Server; alle relationalen und nicht-relationalen Datenbanken F# Visual Studio Suave, Fable, Elmish

Weblinks Heuristiken zur Wahl des Software-Stacks Thomas Ruhroth & Kai Schmidt: How to Tech-Stack: Technologieauswahl für langlebige Projekte, in: Informatik Aktuell, 9. Januar 2024 Software-Stack in: Computerweekly

Einzelnachweise

Kategorie:Softwaretechnik