Die ganze Geschichte ist genau wie der klassische Handlungstrend von Hollywood-Blockbustern: Zwei ehemalige Freunde haben sich inzwischen getrennt und werden sogar in ein Leben gezwungen - und Todeskampf. Die Meinungsverschiedenheit war zunächst nicht schwerwiegend. Es handelte sich lediglich um ein Interesse eines alten Freundes an einem Geschäftsbereich, den der andere Partner schon lange beschäftigt hatte, über den er jedoch nie gesprochen hatte. In der realen Version dieses Programmiersprachen-Duellfilms wurde Node.js zum Auslöser dafür, dass sich die guten Brüder gegeneinander wandten, und dies löste einen Kampf auf Augenhöhe aus: PHP und JavaScript, beide Seiten, arbeiteten einst zusammen, um das zu regieren die ganze Internetwelt, aber jetzt bringen sie sich gegenseitig um, um um die Unterstützung der Entwickler zu konkurrieren.
Wenn ich an diese Tage zurückdenke, war die Zusammenarbeit immer einfach und rein. Damals kümmerte sich JavaScript um die Details im Browser und PHP verwaltete alle serverseitigen Aufgaben, die zwischen Port 80 und MySQL existierten. Zu diesem Zeitpunkt behielten die beiden Parteien eine glückliche kooperative Haltung bei und unterstützten weiterhin verschiedene Schlüsselkomponenten des Internets. Ob WordPress, Drupal oder Facebook: Ohne PHP kann man kaum eine Minute im Internet bleiben.
Ein cleverer Techniker hat jedoch ein erstaunliches Geheimnis entdeckt: JavaScript kann auch auf dem Server ausgeführt werden. Fast über Nacht schien es, dass wir die Leistung von PHP nicht mehr brauchten, um die nächste Generation von Server-Stacks zu erstellen. Mit nur einer Sprache konnten wir Node.js und verschiedene andere Frameworks erstellen, die auf dem Client ausgeführt werden. „JavaScript ist überall“ ist für einige Entwickler sogar zu einer festen Überzeugung geworden.
Natürlich steht das Ende dieser Geschichte noch nicht fest. Für jeden Entwickler, der die Weiterentwicklung von Node.js und die Bequemlichkeit von JavaScript predigt, gibt es immer diejenigen, die sich ihm widersetzen – sie bevorzugen die tiefe Codebasis von PHP und die langfristig stabile tatsächliche Leistung. Kann dieser alte Herrscher also den Herausforderer auf der Serverseite besiegen, den er seit vielen Jahren besetzt? Wird JavaScript seine alten Freunde rücksichtslos stürzen und seinen Ehrgeiz, die Welt zu vereinen, verwirklichen? Bitte nehmen Sie die Popcorn-Eimer und die Cola in die Hand und schauen Sie sich diese aufregende Show mit Mitbewohnern beim gemeinsamen Sex an.
PHP gewinnt: Code und Inhalte mischen
Natürlich hofft jeder, seine eigenen Ideen dabei zum Ausdruck bringen zu können Der Eingabeprozess übersetzt direkt in den Textinhalt der Website, fügt dem Prozess jedoch auch Zweige und einige Wenn-Dann-Anweisungen hinzu, um sicherzustellen, dass die Website abhängig von bestimmten Parametern in der URL einen schönen visuellen Effekt hat. Oder wir möchten in der Lage sein, Text oder Daten mithilfe einer einzigen Datenbank zu mischen. Mit Hilfe von PHP müssen Sie nur das magische PHP-Tag öffnen und können innerhalb von Sekunden mit dem Schreiben von Code beginnen. Ja, es werden keine Vorlagen benötigt – alles ist bereits mit Vorlagen versehen! Es ist nicht erforderlich, zusätzliche Dateien oder komplexe Strukturen zu verwenden. Die Leistungsfähigkeit der programmierbaren Logik steht Ihnen zur Verfügung und wartet darauf, von Ihnen genutzt zu werden.
Node.js gewinnt: Bedenken teilen
Mischen Sie Code und Inhalt wie eine Handvoll Miraculous-Krücken, Obwohl sie den Benutzer zunächst gut führen können, stellen sie am Ende oft eine schwere Belastung dar. Zugegeben, das Mischen von Code und HTML kann ziemlich viel Spaß machen – zumindest die ersten paar Versuche. Aber viele unserer Codebasen werden zu einem Durcheinander gemischter Logik. Echte Programmierer fügen Struktur hinzu und trennen die dekorative Schicht von der logischen Schicht. Offensichtlich können unerfahrene Entwickler ein klareres Verständnis des Projekts erlangen und die Durchführung nachfolgender Wartungsarbeiten erleichtern. Die verschiedenen Frameworks, die auf Node.js laufen, werden von einer Gruppe von Programmierern erstellt, die wissen, dass das Leben besser wird, wenn Modelle, Ansichten und Controller klar getrennt sind.
PHP gewinnt: Deep Code Base
Die gesamte Online-Welt ist mit PHP-Code überflutet. Alle wichtigen Plattformen zum Erstellen von Websites (einschließlich WordPress, Drupal, Joomla usw.) sind in der PHP-Sprache geschrieben. Zusätzlich zu diesen Plattformen liegen die meisten verwandten Plug-ins auch in Form von Open-Source-Code vor. Alles in allem ist PHP-Code leicht verfügbar und wartet darauf, dass jeder ihn herunterlädt, ändert und nach Bedarf verwendet.
Knoten gewinnt: entstehender Code bedeutet moderne Funktionalität
Es ist unbestreitbar, dass Tausende von Open-Source-PHP Dateien können in der Tat jedem helfen, die Projektentwicklung einfacher abzuschließen, aber es gibt auch viele acht Jahre alte WordPress-Plug-ins, die darauf warten, dass Entwickler sie herunterladen und verwenden. Wer möchte Stunden, Tage oder sogar Wochen damit verbringen, Code zu debuggen, der seit Jahren nicht aktualisiert wurde? Zumindest möchte ich das nicht. Node.js-Plugins sind nicht nur jünger, sondern genießen auch alle Annehmlichkeiten, die die neuesten Architekturlösungen bieten. Die Programmierer, die diesen Teil des Codes entwickelt haben, wussten sehr gut, dass moderne Webanwendungen dem Client intelligentere Elemente hinzufügen sollten.
PHP gewinnt: Bequemlichkeit (mehr oder weniger)
Zur Verwendung der PHP-Sprache gibt es nicht viel zu sagen: Ein paar Variablen und Grundfunktionen bestehend aus Strings und Zahlen sind alles. Dies ist eine sehr fokussierte Lösung, und alle Benutzer erwarten, dass sie damit Daten von Port 80 in die Datenbank und das Backend verschieben. PHP hat keine großen Ambitionen, es ist seine Pflicht, diese Aufgabe gut erledigen zu können. Moderne Datenbanken sind wunderbare Werkzeuge, sodass wir sie für die Bewältigung aller Arten schwerer Arbeitslasten einsetzen können. PHP ist eine mäßig komplexe Verarbeitungsmethode und es besteht kein Grund, ihre Verwendung zu erschweren.
Knotengewinne: Schließungskomplexität usw.
Einige kleinere Unannehmlichkeiten bei der Verwendung von JavaScript können auftreten auftreten Es wird einige Entwickler in den Wahnsinn treiben, aber insgesamt ist es eine moderne Programmiersprache mit viel moderner Syntax und einer Reihe nützlicher Funktionen, die durch Abschlüsse dargestellt werden. Es kann einfach umkonfiguriert und erweitert werden, wodurch leistungsstarke Bibliotheken wie jQuery möglich werden. Wir müssen uns nicht um Funktionen wie Objekte kümmern. Warum musst du mit dir selbst kämpfen?
PHP gewinnt: keine Client-Anwendung erforderlich
Jeder sagt, wenn es in der verwendet werden kann Browser Und wenn auf dem Server dieselbe Sprache verwendet wird, ist der tatsächliche Effekt definitiv der beste. Aber wäre es nicht besser, wenn wir im Browser überhaupt keine Sprache verwenden müssten? Was wäre, wenn wir die Datenausgabe direkt im HTML-Format implementieren könnten? Der Browser kann diese Daten direkt akzeptieren, ohne den Aufwand und die Störungen, die durch einen JavaScript-Thread verursacht werden, der versucht, mithilfe Dutzender Webdienstaufrufe eine Seite im Browser zu erstellen. Reines HTML ist oft leistungsfähiger als andere Formulare und PHP ist für solche Erstellungsaufgaben vollständig optimiert. Warum sollte man sich die Mühe machen, JavaScript in den Browser einzuführen? Die richtige Lösung ist es, alles auf dem Server aufzubauen und zu vermeiden, zu schwere Aufgaben dem kleinen Browser auf dem kleinen Telefon zu überlassen.
Knoten gewinnt: Serviceaufrufe sind schlanker als aufgeblähte PHP-HTML-Aufrufe
Obwohl AJAX oft Es ist ein Viele bewegliche Teile sind in einer HTML 5-Webanwendung untergebracht, aber sie sind wirklich cool – und haben echte Vorteile. Sobald sich der JavaScript-Code im Cache des Browsers befindet, müssen nur noch neue Daten über die Netzwerkleitungen hin und her übertragen werden. Hier müssen wir uns nicht mit Unmengen an HTML-Tags herumschlagen und müssen nicht den gesamten Seiteninhalt wiederholt herunterladen. Nur die darin enthaltenen Daten ändern sich. Wenn Sie bereit sind, sich die Zeit zu nehmen, eine exquisite Webanwendung zu erstellen, dann wird Ihnen dies auf jeden Fall ideale Renditen bringen. Node.js ist stark für den Datenbereitstellungsmechanismus optimiert und Daten müssen nur für Webdienste bereitgestellt werden. Wenn Ihre Anwendung sehr komplex ist und große Datenmengen enthält, wird Node.js zweifellos eine gute Grundlage für die effektive Übertragung von Informationen schaffen.
PHP gewinnt: SQL
PHPs Designidee selbst berücksichtigt die Integration mit MySQL und seinen Viele Varianten wie MariaDB müssen koexistieren und zusammenarbeiten. Wenn MySQL nicht ausreicht, um Ihre tatsächlichen Anforderungen zu erfüllen, stehen uns weitere hervorragende SQL-Datenbanken von Oracle und Microsoft zur Auswahl. Unser Code kann durch einfache Aktivierung in Abfrageanweisungen umgewandelt werden. Die riesige Welt von SQL ist endlos und ihr Verbreitungsgebiet wächst immer noch. Etliche der stabilsten und am weitesten entwickelten Codes werden mit SQL-Datenbanken verbunden, was bedeutet, dass all diese leistungsstarken Funktionen letztendlich problemlos in PHP-Projekte integriert werden können. Vielleicht kann man das gesamte Ökosystem nicht als perfekte und harmonische Familie bezeichnen, aber sein beträchtliches Ausmaß lässt sich nicht leugnen.
Node.js gewinnt: JSON
Wenn Sie auf SQL zugreifen müssen, dann ist Node.js relevant Für diese Aufgabe werden auch Bibliotheken bereitgestellt. Darüber hinaus kann Node.js aber auch mit JSON zusammenarbeiten. Diese universelle Lösung kann mit vielen der neuesten NoSQL-Datenbanken interagieren. Das soll nicht heißen, dass wir keine JSON-Bibliothek in unseren eigenen PHP-Stack integrieren können, aber die Verwendung von JSON mit JavaScript kann oft zu einfachen und bequemen Aufgabenverarbeitungsprozessen führen. Auf diese Weise können wir sicherstellen, dass vom Browser über den Webserver bis zur Datenbank die gleiche Syntax verwendet wird, in der Doppelpunkte und Klammern auf genau die gleiche Weise und Funktion verwendet werden. Dies wird jedem helfen, Entwicklungszeit zu sparen und die Frustration beim Schreiben von Code deutlich zu reduzieren.
PHP gewinnt: Codierungsgeschwindigkeit
Für die meisten Entwickler tendiert das Schreiben von Webanwendungen in PHP dazu ein effizienteres Codierungserlebnis: kein Compiler, keine Bereitstellung, keine JAR-Dateien oder Vorverarbeitungsmechanismen erforderlich – verwenden Sie einfach Ihren Lieblingseditor und einige PHP-Dateien im Verzeichnis zum Entwickeln. Es wird von selbst funktionieren. Ihr tatsächlicher Entwicklungsprozess mag anders sein, aber wenn es um eine magische Waffe für den schnellen Abschluss von Projekten geht, spielt PHP definitiv seinen Teil in diesem internen Kampf.
Node.js gewinnt: pure Geschwindigkeit
Wenn Sie sich die Anzahl der geschweiften Klammern im Code selbst ansehen, ist es zwar schwieriger, JavaScript-Code zu schreiben, aber nach Abschluss der Entwicklungsarbeiten ist die Laufgeschwindigkeit des Node.js-Codes extrem toll. Die Einführung des Rückrufmechanismus ist ein genialer Schachzug, da er uns bei der Bearbeitung verschiedener Threads viel Zeit sparen kann. Der Kern des Codes ist gut aufgebaut und speziell darauf ausgelegt, das zu erreichen, was wir tatsächlich benötigen. Ist das nicht der Traum eines jeden Entwicklers?
Englisch: http://www.infoworld.com/article/2866712/php/php-vs-node-js-an-epic-battle-for-developer-mind- share.html
Das Obige stellt PHP vs. Nodejs vor: ein epischer Kampf um Entwicklerpräferenzen, einschließlich verschiedener Aspekte. Ich hoffe, er wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.