Introducing G2.ai, the future of software buying.Try now

Was sind Tech-Stacks? Wählen Sie den richtigen für die Entwicklung aus

25. März 2019
von John Thomas Lang

Ob Sie ein Anfänger oder ein erfahrener Digitalveteran sind, die Entscheidung für den richtigen Technologie-Stack – auch bekannt als Tech-Stack – ist entscheidend für den Erfolg der App-Entwicklung.

Ein flüchtiger Moment der Brillanz... Ich habe eine Idee für eine App. Aber was kommt als Nächstes?

Sobald Sie sich für eine Web-App oder eine mobile App entschieden haben, ist es an der Zeit, Ihren Tech-Stack zu bestimmen. Beginnen wir mit den Grundlagen:

Was ist ein Tech-Stack?

Die Erstellung einer revolutionären App erfordert eine Mischung aus Hardware- und Software-Tools, kombiniert mit einem klaren Wertversprechen.

Jedes entscheidende Element überlappt sich mit dem anderen und bietet alles, was zur Entwicklung und Wartung einer effektiven App benötigt wird.

what is a tech stack

Client-seitige (oder Front-End) Technologien

Dies bietet alles, was benötigt wird, um die Benutzererfahrung der Anwendung zu unterstützen; anders ausgedrückt, jede Interaktion, die ein Benutzer mit einer App hat, erfolgt über die Client-Seite.

Wenn wir zum Beispiel ein Auto betrachten, wäre das Front-End alle Knöpfe, Schalter und Hebel, mit denen ein Benutzer interagiert. Wenn der Benutzer die Klimaanlage einschalten möchte, muss er nicht verstehen, wie das elektrische Subsystem des Autos funktioniert; er weiß nur, dass das Drehen eines Knopfes die Klimaanlage einschaltet. Auf die gleiche Weise normalisiert das Front-End komplexe Systeme in diskrete, einfache Benutzerinteraktionen.

Häufige Client-seitige Technologien umfassen:

  • Markup-Sprachen (HTML, XML, XHTML)
  • Stylesheets (interne, externe und Inline-CSS)
  • Spezifische Programmiersprachen (JavaScript, Xamarin)
  • UI-Frameworks, die auf einer Programmiersprache basieren (ReactJS, AngularJS, beide basierend auf JavaScript)

Server-seitige (oder Back-End) Technologien

Dies verbindet die Benutzerinteraktion mit Subsystemen, die Logik ausführen, mit Datenbanken kommunizieren, mit Webdiensten koordinieren und mehr.

Bleiben wir beim Autovergleich, könnte das Back-End der Bordcomputer des Autos sein: sein elektrisches Subsystem, sein hydraulisches Subsystem usw. All diese machen das Auto „fahren“.

Häufige Server-seitige Technologien umfassen:

  • Spezifische Programmiersprachen (C#, Java, PHP, Python)
  • Verschiedene Anwendungs-Frameworks, die auf einer Programmiersprache basieren (Node.js basierend auf JavaScript, .NET basierend auf C#, Django basierend auf Python)
  • Datenbanken (Microsoft SQL Server, MySQL, PostgreSQL)
  • Cloud-Infrastrukturen und -Dienste (AWS, Microsoft Azure, Google Cloud)

Möchten Sie mehr über Anwendungsentwicklung Software erfahren? Erkunden Sie Anwendungsentwicklung Produkte.

Gängige Tech-Stacks

Während Technologie-Stacks eine sich ständig verändernde Landschaft sind, sind die gängigsten Technologie-Stacks LAMP, MEAN und MERN. Lassen Sie uns das aufschlüsseln.

LAMP (Linux, Apache, MySQL, PHP)

LAMP wird weithin als einer der zuverlässigsten und zugänglichsten Technologie-Stacks angesehen. Entwickelt, um auf einem Linux-Betriebssystem zu laufen, konzentriert sich der Stack auf Apache als primären Webserver (d. h. das Mittel, mit dem Benutzer auf die Anwendung zugreifen), MySQL als Datenbankanbieter und PHP (plus ergänzende Frameworks wie Laravel) als Back-End-Technologie.

LAMP erzwingt keine bestimmte Front-End-Technologie; Entwickler können diejenige wählen, die ihren Bedürfnissen am besten entspricht. Komponenten, die einen LAMP-Stack ausmachen, werden fast immer von Hosting-Anbietern unterstützt und gewährleisten Stabilität und Benutzerfreundlichkeit für Entwickler.

Obwohl LAMP einer der älteren und zuverlässigeren Stacks ist, neigen seine Schwächen, wie die Schwierigkeit zu skalieren und nicht gut für Single-Page-Apps geeignet zu sein, dazu, Web- und App-Entwickler zu einer anderen Lösung zu lenken.

MEAN (Mongo, Express, AngularJS, Node.js)

Einer der neueren (aber dennoch leistungsstarken) Akteure auf dem Markt, MEAN, kombiniert ein modernes Framework mit einzigartigen Fähigkeiten, die im gesamten Stack miteinander harmonieren und sich als eine hochmoderne Lösung für viele Entwickler erweisen.

MEAN verwendet MongoDB als primären Datenbankanbieter, AngularJS als Front-End-Technologie und eine Kombination aus Node.js und Express.js als Back-End-Technologie.

MEAN bietet das Beste aus beiden Welten, indem es Benutzerfreundlichkeit ermöglicht und Entwicklern gleichzeitig erlaubt, von einem minimalen funktionsfähigen Produkt zu einer Unternehmenslösung problemlos zu skalieren.

MERN

MERN ist einer der am häufigsten verwendeten Technologie-Stacks zum Erstellen hochwertiger Anwendungen. Obwohl sehr ähnlich zu MEAN, liegt der Hauptunterschied zwischen den beiden in der Verwendung von React anstelle von Angular.

React ist wie ein Eimer voller LEGO-Steine. Es bietet unbegrenzte Freiheit, erfordert jedoch etwas Einfallsreichtum, um es richtig zu nutzen. Angular ist eher wie ein vordefiniertes LEGO-Set. Es ist sehr einfach und definiert, schränkt jedoch die Freiheit des Entwicklers ein.

Beide basieren auf JavaScript (oder TypeScript), und es ist normalerweise der Fall, dass, wenn Sie jemanden finden, der in einem gut ist, er auch im anderen anständig ist. Das gesagt, die Community ist sehr leidenschaftlich über ihre jeweilige Seite.

Tech-Stacks in der Praxis

Haben Sie sich jemals gefragt, welche Technologie-Stacks Ihre Lieblingsmarken antreiben? Werfen wir einen Blick darauf, was Branchenführer für ihre Stacks verwenden.

Uber Tech-Stack

  • Webserver: NGINX, Apache
  • Datenbanken: MySQL, PostgreSQL, MongoDB
  • Server-seitiges Framework: Node.js
  • Programmiersprachen: Python, Java, JavaScript, Objective-C

Instacart Tech-Stack

  • Server: NGINX
  • Datenbanken: PostgreSQL, Redis
  • Server-seitiges Framework: Rails
  • Programmiersprachen: Ruby, Python, Objective-C

Reddit Tech-Stack

  • Server: NGINX
  • Datenbanken: PostgreSQL, Redis
  • Server-seitiges Framework: Node.js
  • Programmiersprachen: JavaScript, Python

Tipp: Finden Sie heraus, ob Ihr Tech-Stack dringend eine IT-Prüfung benötigt.

Den richtigen Tech-Stack für Ihre App-Entwicklung wählen

Während die meisten erfahrenen Entwickler bevorzugte Technologie-Stacks haben, kann es für jeden nicht-technischen Unternehmer entmutigend erscheinen. Der beste Weg, sich in der Welt der Tech-Stacks zurechtzufinden, ist, eine Ressource oder einen Fachexperten zu finden, der Sie auf Ihrem Weg begleitet. Während einige Fachexperten in ihrer Entscheidungsfindung voreingenommen sind, kann die Beratung eines Experten das beste Geld sein, das Sie ausgeben, und Sie vor zukünftigen Kopfschmerzen bewahren. Wenn Ressourcen knapp sind, beginnen Sie mit diesen einfachen Schritten:

Entdecken Sie die Bedürfnisse Ihrer Benutzer

Wie bei jedem unternehmerischen Vorhaben sollten Sie den Endbenutzer an die erste Stelle setzen. Die Aktivität des Benutzers ist ein leitender Faktor bei der Wahl des richtigen Tech-Stacks. Wenn beispielsweise ein großer Prozentsatz Ihrer Benutzer ein mobiles Gerät verwendet, um mit Ihrer App zu interagieren, könnte die Auswahl eines „mobile-first“ Stacks die effektivste Wahl sein. Wenn Ihre Benutzer „nur mobil“ sind, könnte sich Ihr Tech-Stack stark von anderen Anwendungsarten unterscheiden.

TIPP: Machen Sie sich mit den sechs verschiedenen Arten von mobilen Apps vertraut, um sicherzustellen, dass Ihre App in Ihrer Kategorie einen Schritt voraus ist.

Definieren Sie Ihre Entwicklungsbedürfnisse

Das Verständnis der Bedürfnisse der Anwendung ist der Schlüssel zur Wahl des richtigen Tech-Stacks. Die Größe, der Umfang und die Komplexität Ihrer App können die Richtung Ihres Tech-Stacks ändern.

  • Kleine Projekte wie minimale funktionsfähige Produkte (MVPs) oder Ein-Seiten-Apps können perfekt für gut definierte und von der Community unterstützte Stacks wie Python-Django oder Node.js-React sein. Das Hinzufügen von Komplexität nachträglich kann Ihre Entscheidung beeinflussen, daher sollten Sie die Skalierbarkeit während des Entwicklungsprozesses im Auge behalten.
  • Mittlere Projekte wie Online-E-Commerce-Shops und Mid-Market-Softwareanwendungen erfordern etwas komplexere Tech-Stacks mit mehreren Schichten von Programmiersprachen und Frameworks. Ähnlich wie bei kleineren Projekten ist es entscheidend, die Skalierbarkeit im Vordergrund Ihrer Entscheidungsfindung zu halten.
  • Große Projekte wie komplexe Marktplätze oder soziale Anwendungen erfordern wahrscheinlich einen stärker skalierten Tech-Stack, um die Integrität und Leistung der Anwendung zu gewährleisten. Diese größeren Tech-Stacks verwenden in der Regel mehrere Schichten von Programmiersprachen und Frameworks und sind darauf ausgelegt, unter hochvolumigen Bedingungen zu funktionieren.

Bestimmen Sie Ihre Ressourcen

Es ist wichtig, Ihre Ressourcenbeschränkungen zu verstehen, wenn Sie einen Tech-Stack für Ihre App-Entwicklung wählen. Ein erstaunlicher Tech-Stack bedeutet nichts ohne die richtigen Entwickler, die ihn nutzen. Die meisten Frameworks, Entwicklungstools und Datenbanken sind Open-Source, was bedeutet, dass sie kostenlos und weit verbreitet sind. Die meisten Open-Source-Entitäten erlauben eine uneingeschränkte Nutzung und bieten dem Entwickler eine große Leinwand, auf der er sich austoben kann. Die meisten Anwendungsgebühren entstehen direkt durch Server- und Hosting-Verpflichtungen. Diese sollten auch bei der Wahl Ihres Technologie-Stacks berücksichtigt werden.

Tipp: Wie viel kostet es, eine App zu erstellen? Erfahren Sie mehr über 5 versteckte Kosten, die Ihr Budget sprengen könnten, wenn Sie nicht vorsichtig sind.

Den richtigen Entwickler für den Umfang Ihres Projekts zu finden, ist ein weiterer Faktor, den Sie bei der Wahl Ihres Tech-Stacks berücksichtigen sollten. Einige Entwickler spezialisieren sich beispielsweise nur auf Front-End- oder Back-End-Entwicklung. Einen Full-Stack-Entwickler zu finden, der beides kann, könnte die richtige Lösung sein, hat jedoch eine direkte Korrelation zur Ressourcenallokation.

Berücksichtigen Sie auch die „Quelle“ jedes Entwicklers, den Sie einstellen. Entwickler mit traditionellen Informatikabschlüssen sind oft teure Einstellungen, bringen jedoch eine Vielzahl von Fähigkeiten und Erfahrungen mit, die Ihre Anwendung, ob neu oder ausgereift, richtig unterstützen. Entwickler, die aus Coding-Bootcamps kommen, erhalten tiefe Einblicke in die gängigsten, am häufigsten verwendeten Tech-Stacks der Branche, verfügen jedoch möglicherweise nicht über das gleiche Maß an Fachwissen, das erforderlich ist, um eine Anwendung auf Unternehmensebene zu skalieren.

Tipp: Mehr ein DIYer? Erfahren Sie mehr über die besten Anwendungsdesign-Software, um zu sehen, ob es eine Lösung für Sie gibt.

Starten Sie Ihren Stack

Jetzt, da Sie die Welt der Tech-Stacks entdeckt haben, sind Sie einen Schritt näher daran, Ihre App zu erstellen und den Markt im Sturm zu erobern. In allem Digitalen, stellen Sie den Benutzer an die erste Stelle und liefern Sie ein Erlebnis, das begeistert.

Entdecken Sie die Vorteile der schnellen Anwendungsentwicklung und ihr Potenzial, Ihre Leistung zu steigern.

John Thomas Lang
JTL

John Thomas Lang

John is a former Content Marketing Manager at G2. He has played a key role in scaling multiple award-winning tech startups in Chicago. A proud Colorado native, you can likely find him digging through the crates for vinyl records or nerding out on SABR analytics.