Softwarestack

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ürzungBetriebssystemWebserverLaufzeitumgebungDatenpersistenzProgrammierspracheIDESonstiges
LAMPLinuxApachePerl, PHP oder PythonMySQL oder MariaDBPerl, PHP oder Python
LAPPLinuxApachePerl, PHP oder PythonPostgreSQLPerl, PHP oder Python
LNMP/LEMPLinuxNginxPerl, PHP oder PythonMySQL, MariaDBPerl, PHP oder Python
LLMPLinuxLighttpdPerl, PHP oder PythonMySQL oder MariaDBPerl, PHP oder Python
LYMELinuxYawsMnesiaErlang
LYCELinuxYawsCouchDBErlang
GLASSLinuxApacheGemStoneSmalltalkSeaside
LEAPLinuxEucalyptus, AppScalePythonPython
XAMPPApachePHP, Perl oder PythonMySQL oder MariaDBPHP, Perl oder Python
MAMPmacOSApachePHP, Perl oder PythonMySQL oder MariaDBPHP, Perl oder Python
WAMPWindowsApachePHP, Perl oder PythonMySQL oder MariaDBPHP, Perl oder Python
NMPNginxPHPMySQL oder MariaDBPHP
WIMPWindowsIISMySQL oder MariaDBPHP, Perl, Python
WISAWindows, Windows ServerIIS.NETSQL ServerC#, F#, VB.NETVisual StudioASP.NET
WINSWindows, Windows ServerIIS.NETSQL ServerC#, F#, VB.NETVisual Studio
OpenACSLinux oder WindowsAOLserverPostgreSQL oder OracleTcl, OpenACS
MEANNode.jsBrowserMongoDBJavaScript, TypeScript oder DartAngular, Express.js
MERNNode.jsBrowserMongoDBJavaScript, TypeScript oder DartReact.js, Express.js
SNAKEOILLinux oder WindowsFlask (Jinja2 und Werkzeug)PythonMongoDBPythonDocker (Software),

Traefik (Reverse Proxy)

SMACKApache MesosJVMApache Cassandra + Apache SparkJavaIntelliJ IDEA, Eclipse, NetBeansAkka, Apache Kafka
XRXBrowserXML-Datenbank (BaseX, eXist, MarkLogic Server)XML, xHTML, XQuery, XSLT, XFormsREST
BCHS[1]BSD (OpenBSD)Open BSD httpdSQLiteC
JAM[2]BrowserREST-APIJavaScript, Markup (HTML, CSS)
AndroidAndroidAndroid Runtime (ART)SQLiteJava, KotlinAndroid StudioAndroid SDK
ApplemacOS, iOSmacOSObjective-C, SwiftXcodeCocoa
XamarinWindows, macOS, Linux, iOS, AndroidMono, .NETSQLiteC#, F#Visual Studio, MonoDevelop
PhoneGapiOS, Android, WindowsApache CordovaSQLiteJavaScript, HTML, CSS
.Net-FrameworkWindows, AzureIIS.NETSQL Server; alle relationalen und nicht-relationalen DatenbankenC#, F#, VB.NETVisual StudioASP.NET, WinForms, WPF, UWP, WCF, WF
.NET Core/.NETWindows, macOS, Linux, AzureIIS, Apache, Nginx.NET CoreSQL Server; alle relationalen und nicht-relationalen DatenbankenC#, F#, VB.NETVisual StudioASP.NET
SAFEAzure.NET CoreSQL Server; alle relationalen und nicht-relationalen DatenbankenF#Visual StudioSuave, Fable, Elmish

Weblinks

Einzelnachweise

  1. learnbchs.org
  2. jamstack.org