de.hideout-lastation.com
Paradies Für Designer Und Entwickler


MEAN vs LAMP Stack: Vor- und Nachteile

Web-Stacks haben sich über Jahrzehnte mit Fortschritten in Technologie und Backend-Sprachen entwickelt. Zwei der beliebtesten Web-Stacks sind derzeit LAMP und MEAN. Sie stützen sich auf zwei verschiedene Technologien für Backend-Sprachen, Datenbanken und Serverumgebungen. Der Begriff "Stack" bezieht sich auf Technologien, die übereinander gestapelt werden, um eine Web-Server-Umgebung zu erstellen .

In diesem Artikel möchte ich diese beiden Web-Stacks verdeutlichen, indem ich mir ihre Technologieentscheidungen anschaue, sowohl Vor- als auch Nachteile. Wo zeichnet sich jeder Stapel aus? Und welche Arten von Projekten würden am meisten von beiden Optionen profitieren? Wenn Sie mit Web-Technologien noch nicht vertraut sind oder nur etwas über diese beiden Stacks erfahren möchten, finden Sie in diesem Handbuch alles, was Sie benötigen.

Traditionelle LAMP Entwicklung

Die meisten Entwickler sollten über den traditionellen LAMP-Stack Bescheid wissen, da er seit dem frühen Web existiert. LAMP steht für Linux, Apache, MySQL und PHP . Bei jedem dieser Pakete handelt es sich um individuelle Softwarepakete, die zu einer vielseitigen Serverlösung kombiniert werden.

Der größte Grund, bei LAMP zu bleiben, sind Sicherheit und breite Unterstützung . Es gibt es seit Jahrzehnten und es ist eine bewährte Methode für das Hosting von Websites.

Alle Backend-Technologien wie PHP und MySQL sind bekannt und werden von jedem großen Hosting-Provider unterstützt . Wenn Sie an einem LAMP-Stack arbeiten, können Sie grundsätzlich überall hosten. Zusätzlich erhalten Sie Zugriff auf die beliebtesten CMS-Engines . WordPress, Drupal und Joomla laufen alle auf PHP / MySQL.

Es gibt anpassbare Optionen innerhalb der LAMP-Architektur, wie zB LEMP, das Apache durch nginx ersetzt. Sie könnten auch eine Variante auf einem Windows-Server als WAMP-Stack ausführen.

Die gesamte Kernsoftware - einschließlich Apache, MySQL und PHP - war jedoch Open Source und hauptsächlich für Linux gedacht. Aus diesem Grund ist Linux für eine Serverumgebung am sinnvollsten. Deshalb hat LAMP den Test der Zeit für moderne Webentwicklung bestanden.

Die meisten Entwickler gehen diese Route, weil es die einfachste Möglichkeit ist, eine Website online zu bekommen . In Foren finden Sie jede Menge Unterstützung, die alles umfasst, was Sie zur Konfiguration und Fehlerbehebung einer LAMP-Umgebung benötigen. Sie können diese ServerFault-Frage beispielsweise für weitere Informationen lesen.

JavaScript-Backend mit MEAN

Node.js ist die neueste Technologie für Entwickler, die skalierbare Anwendungen mit JavaScript erstellen möchten. Knoten treibt den MEAN-Stack an und bietet einen Hauptvorteil: Alles läuft in einer einzigen Sprache .

MEAN steht für MongoDB, Express.js, Angular.js und natürlich Node.js. Dieses Akronym erfordert keine Serverbetriebssystem- oder Server-Software. Ein MEAN-Stack kann auf jedem Betriebssystem ausgeführt werden, und Node kommt sogar mit einem eigenen Server, um JS im Backend zu behandeln.

Auf der Mean.io-Website finden Sie eine Menge Dokumentation und Support.

Obwohl dieser Stack viel Aufmerksamkeit auf sich gezogen hat, ist er bei weitem nicht so stabil wie ein traditioneller LAMP-Stack.

Warum sollte jemand mit MEAN gehen? Weil es letztendlich schneller und einfacher skalierbar ist . MongoDB ist eine NoSQL-Datenbank, die Abfragen optimiert. Die Verwendung von Fullstack-JavaScript verbessert auch die Entwicklung, da eine Sprache für alle Frontend- und Backend-Arbeiten gilt.

Und viele andere JS-Frameworks kommen als stabile Lösungen auf den Markt. Zum Beispiel kann MEAN auf einen MEEN-Stack umgeschaltet werden, der Angular mit Ember ersetzt.

Programmierer werden den MEAN-Stack lieben, da er Code für Wartbarkeit und Wachstum trennt . Dadurch können Sie Ihre JavaScript-Webanwendungen leichter organisieren, sodass sie in einer natürlichen Umgebung ausgeführt werden können .

Es gibt eine Menge zu diesem Thema zu lernen, und das ist wahrscheinlich die größte Eintrittsbarriere für neue Entwickler. Das Erlernen aller Technologien, die zum Verwalten einer MEAN-App erforderlich sind, kann Monate dauern. Aber wenn Sie Node lieben und alles auf JavaScript ausführen möchten, ist dies die Mühe wert.

Hier sind einige Tutorials für Anfänger, die Ihnen den Einstieg erleichtern sollen.

  • Ein absoluter Anfänger Leitfaden für Node.js
  • Felix's Node.js Anfänger Guide
  • Einführung in Express.js
  • Erfahren Sie, wie Sie moderne Web Apps mit MEAN erstellen
  • Erste Schritte mit Node.js, Express und MongoDB

PHP vs. Knoten

PHP gibt es seit Mitte der 90er Jahre und ist wirklich die beliebteste Backend-Sprache. Viele Web-Entwickler beginnen mit PHP (oder lernen es schließlich), weil es so über Web-Plattformen und Hosting-Provider hinweg vorherrscht.

Knoten ist ein neuerer Rahmen, aber seine Popularität ist außerordentlich schnell gestiegen. Dies schließt die Popularität von NPM als Paketmanager für Webentwickler ein und erweitert sich zu leistungsstarken Frontend-Frameworks wie Angular 2.

Der andere Vorteil von Node ist, dass es einen eigenen Webserver hat . JavaScript ist die Wurzel von allem auf einem MEAN-Stack. Wenn Sie also JS lieben, dann werden Sie es lieben, MEAN-Web-Apps zu erstellen.

Viele Entwickler sind der Meinung, dass PHP eine schlecht entworfene Sprache ist, weil der Autor, Rasmus Lerdorf, es nicht als Sprache entworfen hat. PHP begann als generische Lösung für Websites und entwickelte sich schnell zu einer großen Bibliothek nicht verwandter Funktionen.

Aber mit PHP 7, das versucht, viele Fehler der Sprache zu beheben, und mit freien OOP- Frameworks, wie Laravel, ist PHP eine viel bessere Sprache als je zuvor.

BILD: Stapelüberlauf

Die Sprachdebatte hängt also von Ihrer persönlichen Entscheidung ab . Liebst du es wirklich JavaScript zu schreiben? Dann könnte Knoten mit einem MEAN-Stack eine Überlegung wert sein.

Wenn Sie PHP bereits kennen und bei dem, was Sie wissen, bleiben möchten, ist LAMP ebenfalls ein praktikabler Weg.

Allgemeine Pros & Contras:

Jeder zu vergleichende Webstapel besteht aus mehreren Schichten, einschließlich Betriebssystem, Serversoftware, Datenbank und Backend-Sprache.

(1) Der MEAN-Stapel enthält auch Angular, ein Frontend-Framework. Es gibt kein benötigtes Framework in einem LAMP-Stack, aber Sie können immer Ihr eigenes zu jeder App hinzufügen, die Sie erstellen.

(2) In Bezug auf OS sucht der LAMP-Stack nach einem Derivat von Linux. Linux ist normalerweise die beste Wahl für eine Serverumgebung, unabhängig vom Stack, und auch für MEAN.

(3) Jetzt ist das Betriebssystem des Servers nur die Computer-Software, aber es ist nicht die Webserver-Software . Um das zu erreichen, brauchen Sie ein Programm wie Apache oder nginx. LAMP verwendet Apache, weil es eine der stabilsten verfügbaren Optionen ist.

(4) MEAN verwendet den Node.js-Server, der Teil des Node-Pakets ist . Es ist immer noch ziemlich neu, und obwohl es genügend Unterstützung gibt, hat Node bei weitem nicht die gleiche Community wie Apache.

(5) Auch ein Knotenserver benötigt ein Backend von JavaScript (ohne Erweiterungen). Apache erlaubt die meisten Backend-Sprachen und es gibt viele kostenlose Erweiterungen für mehr Unterstützung. Aber im Moment hat Apache nichts für die Node-Unterstützung.

(6) In der Datenbankverwaltung finden Sie den größten Unterschied . LAMP verwendet MySQL für relationale Datenspeicherung, während MEAN MongoDB verwendet, eine nicht-relationale Datenbank. Nicht-relationale DBs sind viel schneller und bieten eine einfachere Skalierungsmethode mit höherem Datenverkehr.

(7) Denken Sie daran, dass PHP nicht nur auf MySQL beschränkt ist . Es kann MongoDB und andere Alternativen wie PostgreSQL oder SQLite verwenden. Es ist nur so, dass die meisten PHP-Entwickler MySQL kennen, daher ist es der Hauptanwärter für einen typischen LAMP-Stack.

(8) MEAN-Stacks laufen normalerweise schneller und skalieren größer, benötigen jedoch viel mehr Zeit und Serverwissen, um das System zu erlernen. LAMP-Stacks sind erprobt und zuverlässig. Sie verfügen über die sicherste Infrastruktur und die größtmögliche Unterstützung.

(9) Programmiersprachen machen einen großen Unterschied zwischen den beiden Stapeln. LAMP arbeitet hauptsächlich mit PHP, das WordPress und das Laravel-Framework enthält. MEAN arbeitet mit ExpressJS / NodeJS für das Backend mit AngularJS am Frontend.

(10) MEAN ist Full-Stack-JavaScript, und es gibt eine Menge, die Sie lernen müssen, um das zu erreichen. Es ist eine häufige Wahl von neuen Startups, die bereit sind, die Grenzen der Web-App-Entwicklung zu erweitern. LAMP ist traditioneller mit JS auf dem Frontend, PHP auf dem Backend . Es ist für Leute gemacht, die Webseiten nur ohne große Sorgen online haben wollen.

Bitte schauen Sie sich diese Vergleichsanleitung an, um ein wenig mehr zu erfahren. Keine Wahl ist richtig oder falsch, nur anders und für verschiedene Projekte gemacht.

Aufwickeln

Ich würde sagen, die meisten Websites lehnen sich an den LAMP-Stack an, da dieser Test getestet wurde und viele hilfreiche Q & A-Threads in Google indiziert sind. MEAN wächst immer noch und hat auch viel Unterstützung, kann aber technischer sein als die meisten Leute damit umgehen wollen.

Fühlen Sie sich frei, beides zu versuchen und sie für sich selbst zu sehen. Es ist möglich, beide Setups lokal auf Ihrem Computer zu installieren und ohne Remote-Server darauf aufzubauen.

Und wenn Sie mehr Informationen zu einem der beiden Stacks suchen, habe ich unten eine Reihe nützlicher Links zusammengestellt.

  • Lernen Sie moderne Web-Apps mit MEAN zu erstellen (thinkster.io)
  • Docker LAMP Stack Administrator (jessesnet.com)
  • Wie man Linux, Apache, MySQL, PHP (LAMP) auf Debian 8 stapelt (digitalocean.com)

Wie Kickstarter seine Unterstützer enttäuscht hat

Wie Kickstarter seine Unterstützer enttäuscht hat

Kickstarter ist seit fast einem Jahrzehnt eine der bekanntesten Crowdfunding-Plattformen und unterstützt hunderte von Projekten, die nicht in der Lage sind, die notwendige Unterstützung mit traditionellen Mitteln zu finden .Leute (oder Unterstützer), die sich für ein bestimmtes Projekt interessieren, verpfänden jeden Geldbetrag für ihre erfolgreiche Ausführung. Sobal

(Tech- und Design-Tipps)

Anfängerleitfaden zur iOS-Entwicklung: Erstellen Sie Ihre erste App - Teil II

Anfängerleitfaden zur iOS-Entwicklung: Erstellen Sie Ihre erste App - Teil II

Im ersten Teil unseres iOS-Tutorials führte ich Sie durch eine geführte Tour der iPhone-App-Entwicklung. Wir haben uns Xcode 4 genauer angeschaut und ein sehr kurzes Tutorial zum Aufbau der iPhone App gemacht. Das Anfänger-Tutorial wurde für alle geschrieben, die in die Programmierung von iOS-Apps einsteigen möchten.Heut

(Tech- und Design-Tipps)