Was bedeutet serverseitige Sprache?


Beste Antwort

Es ist eine Sprache, die normalerweise auf einem Server ausgeführt wird, aber es ist eine Art erfundener Begriff.

Beim Rechnen gibt es eigentlich keinen solchen Unterschied. Die Benutzer führen Python auf Servern und auf ihren Desktops sowie in nahezu jeder anderen Sprache aus.

Wenn es sich um das Web handelt, ist JavaScript die einzige auf dem Client verfügbare Sprache Alle anderen Sprachen sind „serverseitig“.

Aber eigentlich ist es ein erfundener Begriff, es gibt keine „serverseitige Sprache“.

Antwort

Oh Junge, das ist naiv.

Was würde Sie denken lassen, dass PHP wertlos ist, da NodeJS nicht mehr verfügbar ist?

Wahrscheinlich der Hype hinter NodeJS.

Aber reife Leute werden nicht im Hype-Zug erwischt. Lassen Sie mich das erklären.

Leichtigkeit : PHP gibt es seit mehr als 20 Jahren. Es wurde von Millionen von Programmierern verwendet und überbeansprucht, um zu den beliebtesten Websites und CMS aller Zeiten zu gehören. Sie hatten eine enorme Anzahl von Problemen, und PHP wurde entwickelt, um diese Probleme zu lösen . Es ist eine erfolgreiche Template-Sprache sowie eine Programmiersprache . Es sind alle Tools integriert, mit denen Entwickler mit der Erstellung ihrer Website beginnen können (MySQL, APC, sogar FTP-Funktionen). Das Beste an PHP ist die einfache Erstellung und die schöne Entwicklererfahrung, ein aktualisiertes Ergebnis durch Drücken von F5 zu erhalten.

NodeJS löste ein weiteres Problem: Es brachte ereignisorientierte Programmierung, Single Threaded und sehr schnell. Während NodeJS viele Vor- und Nachteile hat, ist die größte Einschränkung bei JS, dass es von selbst saugt . Sie benötigen eine Menge Werkzeuge, um loszulegen. Normalerweise erstellen Sie keine NodeJS-App ohne TS, was Babel, TSLint und das Herunterladen des DT impliziert.

Dann benötigen Sie einen HTTP-Server, also laden Sie Express herunter.

Dann benötigen Sie Um eine Verknüpfung zu MySQL / MongoDB herzustellen, laden Sie einen ORM oder einen einfachen Treiber herunter.

Normalerweise benötigen Sie ein Build-System, nehmen Ihre Waffe zwischen Webpack, Gulp und Grunt (und Rollup und Parcel und was auch immer) wird nächste Woche auf die erste Seite von reddit gebracht).

Und das ist nur, um mit der minimalen Konfiguration zu beginnen.

Leistung : Es gibt nicht viele Beweise dafür, welche bessere Leistungen erbringen. PHP7 hat viel gebracht und PHP8 wird mit der Verbesserung des JIT-Compilers wieder bessere Benchmarks haben. NodeJS wird von V8 betrieben und ist daher standardmäßig unglaublich schnell.

Lernkurve : Durch JS ist es für sich genommen schrecklich, es ist wirklich tief Sprache, und es braucht Zeit, um sie zu beherrschen. Es gibt einfach so viel zu wissen über seinen prototypischen Charakter, über Verschlüsse, über das Typensystem. PHP ist wirklich einfach zu starten mit : Es ist im Grunde C, dynamisch typisiert und mit Klassen.

Barrierefreiheit : Jeder Host bietet heutzutage PHP-Unterstützung. Nur wenige bieten NodeJS-Unterstützung an, da es immer mehr gibt.

Popularität : Es gibt nur Tonnen von Entwicklern in PHP. Es gibt einige Tools (Symfony, Laravel, CakePHP, WordPress, Joomla, Drupal …), die wirklich wie bei einem anderen aussehen. Sie werden wahrscheinlich ein Projekt mit einem dieser Frameworks schreiben und leicht Entwickler finden, die Ihnen helfen. Es gibt immer mehr NodeJS-Entwickler, aber ein Backend hat buchstäblich nichts mit einem anderen gemeinsam. Die große Auswahl an Tools in der NodeJS-Umgebung ist sowohl eine Stärke als auch eine Katastrophe.

Ich würde NodeJS niemals als dediziertes Backend verwenden. Ich würde lieber PHP verwenden. Aber NodeJS ist in einer Mikrodienstarchitektur unglaublich leistungsfähig.

Während NodeJS heutzutage ein Hype ist und wahrscheinlich eine glänzende Zukunft hat, ist PHP noch lange nicht tot. Trotzdem wird der größte Teil des Webs von PHP betrieben, und ich sehe keine Kunden, die möchten, dass ihr Blog von Gatsby oder Ghost anstatt von WordPress betrieben wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.