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

Bearbeiten
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 Python MySQL, 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 Smalltalk Seaside
LEAP Linux Eucalyptus, AppScale Python Python
XAMPP 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 PHP
WIMP Windows IIS MySQL oder MariaDB PHP, Perl, Python
WISA Windows, Windows Server IIS .NET SQL Server C#, F#, VB.NET Visual Studio ASP.NET
WINS Windows, Windows Server IIS .NET SQL Server C#, F#, VB.NET Visual Studio
OpenACS Linux oder Windows AOLserver PostgreSQL oder Oracle Tcl, OpenACS
MEAN Node.js Browser MongoDB JavaScript, TypeScript oder Dart Angular, Express.js
MERN Node.js Browser MongoDB JavaScript, TypeScript oder Dart React.js, Express.js
SNAKEOIL Linux oder Windows Flask (Jinja2 und Werkzeug) Python MongoDB Python Docker (Software),

Traefik (Reverse Proxy)

SMACK Apache Mesos JVM Apache Cassandra + Apache Spark Java IntelliJ IDEA, Eclipse, NetBeans Akka, Apache Kafka
XRX Browser XML-Datenbank (BaseX, eXist, MarkLogic Server) XML, xHTML, XQuery, XSLT, XForms REST
BCHS[1] BSD (OpenBSD) Open BSD httpd SQLite C
JAM[2] Browser REST-API JavaScript, Markup (HTML, CSS)
Android Android Android Runtime (ART) SQLite Java, Kotlin Android Studio Android SDK
Apple macOS, iOS macOS Objective-C, Swift Xcode Cocoa
Xamarin Windows, macOS, Linux, iOS, Android Mono, .NET SQLite C#, F# Visual Studio, MonoDevelop
PhoneGap iOS, Android, Windows Apache Cordova SQLite JavaScript, 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 Core SQL Server; alle relationalen und nicht-relationalen Datenbanken F# Visual Studio Suave, Fable, Elmish
Bearbeiten

Einzelnachweise

Bearbeiten
  1. learnbchs.org
  2. jamstack.org