PHP und JavaScript sind beides Skriptsprachen, die von Webentwicklern häufig verwendet werden. Aber jede hat ihre eigenen Nuancen und Anwendungsfälle.

In diesem Beitrag werden wir die Unterschiede zwischen den beiden erforschen und wann du jede Sprache in Entwicklungsprojekten verwenden solltest.

Beginnen wir damit, uns anzusehen, wie diese Sprachen entstanden sind.

Willst du lieber die Videoversion sehen?

PHP vs. JavaScript: Ursprünge

PHP ist eine Open Source Sprache, die im Jahr 1995 von Rasmus Lerdorf entwickelt wurde. Der Name stammt von Personal Home Page Tools – einer Reihe von Skripten, die Rasmus verwendet, um die Besuche auf seiner Webseite zu tracken.

Mit der Einführung von PHP 3.0 bekam die Sprache ein umgekehrtes Akronym: PHP: Hypertext Preprocessor. Jetzt ist es einfach als PHP bekannt.

JavaScript wurde 1995 von Brendan Eich von Netscape entwickelt, um Interaktivität in das Web zu bringen. Ursprünglich als Mocha bekannt, wurde der Name in LiveScript und später in JavaScript geändert, um von der Popularität der Sprache Java zu profitieren.

Heute ist JavaScript offiziell als ECMAScript bekannt, aber die meisten Leute nennen es immer noch JavaScript.

Beide Sprachen gibt es also schon seit einiger Zeit.

Jetzt werden wir uns einige ihrer anderen Gemeinsamkeiten ansehen.

PHP und JavaScript Gemeinsamkeiten

Sprachtyp

PHP und JavaScript sind beides Skriptsprachen. Dies steht im Gegensatz zu „reinen“ Programmiersprachen wie Java oder C++.

Skriptsprachen werden in der Regel interpretiert und nicht kompiliert. Das bedeutet, dass sie nicht direkt, sondern über einen Drittanbieter in Maschinencode übersetzt werden. Das hat Auswirkungen auf ihre Laufzeit.

Stell dir das so vor: Stell dir vor, du willst eine Webseite von deiner Muttersprache in Navajo übersetzen. Wenn du die Navajo-Sprache nicht kennen würdest, bräuchtest du einen Dolmetscher, der dir hilft, und die Übersetzung würde mehr Zeit in Anspruch nehmen.

Das ist der Grund, warum kompilierte Sprachen tendenziell schneller sind als interpretierte Sprachen.

Typisierung von Variablen

Eine weitere Gemeinsamkeit ist, dass PHP und JavaScript schwach typisiert sind.

Das bedeutet, wenn du eine Variable in einer der beiden Sprachen erstellst, musst du ihren Datentyp nicht zuweisen: Er wird angenommen.

Du kannst also das Folgende in PHP schreiben:

$x = 'Hello world';

$y = 'Bonjour le monde';

Oder in JavaScript:

var x = 'Coding is fun';

let y = 'No, honestly';

In beiden Sprachen werden diese Variablen als Strings (Mengen von Zeichen) erkannt.

Dies steht im Gegensatz zu einer stark typisierten Sprache wie Java, wo du bei der Deklaration sagen musst, welchen Typ von Variable du verwendest:

int x = 5;

Sowohl PHP als auch JavaScript sind dynamisch typisiert: das heißt, du kannst den Typ einfach ändern, indem du ihn in deinem Code neu definierst:

$x = 5;

In PHP ist $x nun eine ganze Zahl.

x = 3.14195;

In JavaScript ist x nun eine Zahl.

Da Typen in PHP oder JavaScript nicht explizit definiert sind, brauchst du Funktionen, die dir sagen, mit welchem Datentyp du arbeitest.

JavaScript hat die typeof Funktion, um dies zu tun.

PHP hat die gettype Funktion, um den Typ einer Variablen zu ermitteln. Eine neue, verbesserte Version von gettype, get_debug_type, ist Teil der PHP 8 Version.

Klassen und Objekte

Weder PHP noch JavaScript waren ursprünglich objektorientiert. Die Objektorientierung wurde hinzugefügt, als sich die Sprachen weiterentwickelten.

Die Fähigkeit, Objekte und Klassen zu erstellen, wurde mit PHP 5 im Jahr 2004 eingeführt.

JavaScript hat Objekte und Klassen erst viel später verwendet. Sie kamen 2015 mit der Einführung von ES6 in die Sprache.

Eine Klasse ist eine generische Gruppierung von Objekten.

Ein Objekt ist eine Entität mit Eigenschaften (Merkmalen) und Methoden (Verhaltensweisen).

Das Spiel Dungeons and Dragons (D&D) bietet eine gute Analogie.

Ein Spielercharakter entspricht einem Objekt. Jeder Charakter gehört zu einer Charakterklasse, wie z.B. Barbar, Schurke oder Zauberer.

Objekte können eine beliebige Anzahl von Eigenschaften haben, die du definieren möchtest.

Die Eigenschaften eines Charakters können also sein:

  • Name
  • Rasse
  • Fähigkeiten (Stärke, Intelligenz, Weisheit, Geschicklichkeit, Konstitution und Charisma)
  • Persönlichkeitstyp (z.B. mutig, schüchtern, neugierig)
  • Ausrichtung (gesetzmäßig, chaotisch, gut, böse)

Du kannst Objektmethoden verwenden, um Informationen über das Objekt abzurufen.

Hier ist ein PHP Code Beispiel für eine Klassen- und Objektdefinition:


<?php

class Sorcerer {

// Define properties

public $name;

public $race;

public $intelligence;

// Constructor function for the object

// takes 3 arguments, name, race and intelligence

function __construct($name, $race, $intelligence) {

$this->name = $name;

$this->race = $race;

$this->intelligence = $intelligence;

}

# Define object methods

// Get the name

function get_name() {

return $this->name;

}

// Get the race

function get_race() {

return $this->race;

}

// Get intelligence

function get_intelligence() {

return $this->intelligence;

}

} // end Sorcerer class

// Create a Sorcerer

$yensid = new Sorcerer("Yen Sid", "Human", 18);

# Output the object properties in the browser

echo $yensid->get_name();

echo "<br>";

echo $yensid->get_race();

echo "<br>";

echo 'Intelligence: ';

echo $yensid->get_intelligence();

?>

Wenn dieser Code zu einer HTML-Datei hinzugefügt wird, sollte die Ausgabe im Browser die folgende sein:

Yen Sid

Mensch

Intelligenz: 18

Du kannst auch Methoden definieren, die Aktionen sind, die die Objekte ausführen oder auf sie angewendet werden.

In D&D könnten das z.B. sein:

  • surpriseAttack()
  • disarmTrap()
  • castSpell()
  • resistPoison()

Wenn eine Methode auf einem Objekt ausgeführt wird, kann das Ergebnis von den Eigenschaften des Objekts abhängig sein. Daher wird ein Zauberlehrling nicht so effektiv zaubern können wie ein erfahrener Zauberer.

Marktnachfrage

Eine weitere Gemeinsamkeit von PHP und JavaScript ist, dass Entwickler für beide Sprachen sehr gefragt sind.

Entwickler, die JavaScript und PHP verwenden, werden auch gut bezahlt.

In den USA verdienen sie im Durchschnitt etwa 80.000 Dollar im Jahr.

PHP Entwickler Gehälter, Glassdoor.com
PHP Entwickler Gehälter, Glassdoor.com
JavaScript Entwickler Gehälter, Glassdoor.com
JavaScript Entwickler Gehälter, Glassdoor.com

Dokumentation

Die weniger gute Nachricht für Neueinsteiger in PHP oder JavaScript ist, dass die offizielle Dokumentation für beide Sprachen nicht sehr benutzerfreundlich ist. Es wurde eher für erfahrene Entwickler als für Anfänger geschrieben.

Du kannst dir die Dokumentation für jede Sprache hier ansehen:

JavaScript-Lehrer Chris Ferdinandi beklagt den Mangel an guter JavaScript-Dokumentation und sagt, dass es einer der Gründe war, warum er so lange gebraucht hat, um die Sprache zu beherrschen.

An dieser Stelle fragst du dich vielleicht: „Was ist der Unterschied zwischen PHP und JavaScript?“ Tatsächlich gibt es mehrere.

Was sind die Unterschiede zwischen PHP und JavaScript?

Server-seitiges vs. Client-seitiges Skripting

PHP ist eine serverseitige Skriptsprache. Das bedeutet, dass es auf dem Webserver läuft, im Gegensatz zu einem Client-Rechner.

Serverseitige Programmierung ist nützlich, um Benutzern dynamische Inhalte (typischerweise aus einer Datenbank) zu liefern, wie z.B. eine Willkommensnachricht („Hi, Claire!“), wenn sich ein Benutzer anmeldet.

Noch wichtiger ist, dass serverseitiges Scripting im E-Commerce eingesetzt wird. Zum Beispiel gibt es über 100 WooCommerce-Erweiterungen, die sich über APIs (Application Programming Interfaces) mit verschiedenen Zahlungsanbietern verbinden, um Transaktionen zu verarbeiten.

JavaScript ist eine clientseitige Sprache, also läuft es auf dem Laptop, dem Telefon oder dem Tablet des Nutzers.

JavaScript kann das DOM manipulieren, was für Document Object Model steht und man kann es sich als eine baumartige Struktur vorstellen, die aus dem HTML einer Webseite gebildet wird.

Wenn du jemals auf ein Akkordeon oder einen Toggle gestoßen bist, vielleicht als Teil eines FAQ Plugins, hast du clientseitiges JavaScript in Aktion gesehen. Wenn du auf eine Frage klickst oder tippst, schalten JavaScript-Event-Handler die CSS-Anzeige- oder Sichtbarkeits-Eigenschaften ein oder aus und zeigen oder verstecken die entsprechende Antwort.

Frontend vs Backend

PHP läuft im Backend einer Webseite – dem Teil, den Besucher nicht sehen! In WordPress bedeutet das, dass PHP seine ganze Arbeit auf dem Webserver und im WordPress-Admin macht.

JavaScript lief traditionell im Frontend, aber das änderte sich 2009, als Node.js, eine Backend-Runtime, eingeführt wurde. Heute ist JavaScript wirklich eine Full-Stack-Sprache.

Kombination mit anderen Sprachen

Da PHP eine Backend-Sprache ist, ist es ein Teil des LAMP-Stacks (Linux, Apache, MySQL, PHP).

PHP kann mit HTML verschmelzen. Das siehst du, wenn du dir den Code vieler Webapplikationen ansiehst, einschließlich WordPress.

Hier ist ein Beispiel aus der index.php Datei des Twenty Twenty Themes:


<header class="archive-header has-text-align-center header-footer-group">

<div class="archive-header-inner section-inner medium">

<?php if ( $archive_title ) { ?>

<h1 class="archive-title"><?php echo wp_kses_post( $archive_title ); ?></h1>

<?php } ?>

<?php if ( $archive_subtitle ) { ?>

<div class="archive-subtitle section-inner thin max-percentage intro-text"><?php echo wp_kses_post( wpautop( $archive_subtitle ) ); ?></div>

<?php } ?>

</div><!-- .archive-header-inner -->

</header><!-- .archive-header -->

Wenn du jedoch PHP mit anderen Backend-Sprachen in Web-Apps mischst, ist es schwieriger, sie zu warten. Außerdem musst du nicht nur PHP kennen, sondern auch diese anderen Sprachen lernen und beherrschen!

JavaScript-Entwickler haben ein bisschen mehr Freiheit beim Schreiben ihres Codes. Sie können die Sprache mit HTML, XML und Ajax verwenden.

Case Sensitivity

Groß- und Kleinschreibung ist die Unterscheidung zwischen Groß- und Kleinbuchstaben bei der Benennung von Entitäten in der Sprache.

PHP ist teilweise case sensitive. Groß- und Kleinschreibung ist für einige Dinge wichtig und für andere nicht.

PHP-Variablen sind case sensitive.

Wenn du also eine Variable in PHP erstellst:

$dog = "chihuahua";

und versuchst, den Wert von $DOG später in deinem Code zu erhalten, wird es nicht funktionieren.

PHP-Funktionen sind jedoch unabhängig von der Groß- und Kleinschreibung.

Wenn du diese Funktion in PHP erstellst:

function dogFetch() {

// your code to run when the function is called

}

und später DogFetch() in deinem Code aufrufst, wird deine Funktion trotzdem ausgeführt.

Dies ist jedoch keine gute Programmierpraxis, da es inkonsistent ist.

JavaScript hingegen ist komplett case sensitive. Also würden Variablen mit den Namen beagle, BEAGLE und Beagle alle voneinander verschieden sein.

Syntax

Die Syntax ist der Satz von Regeln, die eine Sprache regeln. Dazu gehören Wortstellung, Grammatik und Zeichensetzung.

Im Deutschen könnten wir sagen:

Ich habe meine Suppe langsam gegessen.

Aber wenn du Yoda wärst, würdest du dies sagen:

Meine Suppe habe ich langsam gegessen.

Warum? Die Syntax ist anders. Gleiche Wörter, andere Reihenfolge.

The Yoda-Speak Generator
Der Yoda-Sprachgenerator

Manche Sprachen verwenden Wörter, die gleich aussehen, aber eine andere Bedeutung haben.

Lui auf Französisch bedeutet "er" auf Englisch
Lui auf Französisch bedeutet „er“ auf Englisch
Lui auf Italienisch bedeutet "er" auf Englisch
Lui auf Italienisch bedeutet „er“ auf Englisch

Während Menschen verzeihen, wenn wir ein falsches Wort verwenden, sind Computer sehr wörtlich. Wenn wir einen Fehler in unserer Programmiersyntax machen, weiß ein Computer oft nicht, was wir gemeint haben, was normalerweise zu einem Fehler führt.

Bei JavaScript und PHP haben beide die gleiche doppelte Schrägstrichsyntax für einzeilige Codekommentare:

// This is a comment

Aber PHP hat auch eine andere Form der Kommentar-Syntax:

# This is a comment

Wenn du versuchst, die PHP-Kommentarsyntax in JavaScript zu verwenden, bekommst du einen Fehler:

# This is a Comment

Uncaught SyntaxError: private fields are not currently supported
JavaScript Ungefangener SyntaxFehler
JavaScript Ungefangener SyntaxFehler

Andere Syntaxfehler sind sowohl in JavaScript als auch in PHP üblich, wie z.B.:

  • Das Fehlen eines Semikolons (;) am Ende einer Code-Zeile.
  • Kein Paar geschweifte Klammern {} für bedingte Anweisungen verwenden.

Definitionen von Variablen und Konstanten

Wie wir bereits gesehen haben, haben JavaScript und PHP unterschiedliche Arten, Variablen zu deklarieren.

Sie definieren auch Konstanten unterschiedlich.

JavaScript verwendet diese Syntax:

const x = 6;

Bei einer einfachen Konstante wie dieser, kann ihr Wert später nicht mehr geändert werden.

Wohingegen PHP die define() Funktion für Konstanten verwendet.

define(name, value, case-insensitive)

PHP Konstanten werden per Konvention in Großbuchstaben geschrieben. Ein Beispiel ist:

define('MONSTER', 'Sulley');

Die ersten beiden Parameter innerhalb der Klammern sind selbsterklärend.

Der dritte, case-insensitive, hat einen Standardwert von false. Nur wenn er auf true gesetzt ist, wird die Konstante case-insensitive sein.

Das heißt:

define('MONSTER', 'Sulley', true);

Arrays

Arrays sind Variablen, die mehr als eine Sache speichern können.

In PHP sind Arrays assoziative Arrays oder geordnete Karten. Das bedeutet, dass die Elemente innerhalb des Arrays zusammengehörige Schlüssel- und Wertepaare haben.

<?php

$array(

key => value,

key2 => value2,

...

)

Ein weniger abstraktes Beispiel ist das folgende, bei dem der Schlüssel ein Vorname und der Wert der Nachname ist.

<?php

$array = array(

"Frodo" => "Baggins",

"Sam" => "Gamgee",

"Merry" => "Brandybuck",

"Pippin" => "Took",

);

Der Einfachheit halber kannst du PHP-Objekte in Arrays und Arrays in Objekte konvertieren.

Allerdings kann JavaScript nur Arrays haben, die nummerierte Indizes haben. Zum Beispiel:

var mountains = [

"Everest",

"Kilimanjaro",

"Fuji"

];

Um einen Wert abzurufen, musst du den Array-Index referenzieren, der bei 0 beginnt.

var mountain = mountains[1];

Assoziative Arrays mit ihren benannten Indizes werden in JavaScript nicht unterstützt.

Datenbank Integration

Eine Sache, die PHP hervorragend kann, ist die Anbindung an Datenbanken. PHP lässt sich besonders gut mit MySQL oder MariaDB integrieren, die beide von WordPress verwendet werden. Eine Reihe von PHP-Frameworks bieten ebenfalls einfache Datenbankintegrationen.

Die Verwendung einer Datenbank ist nützlich, um Informationen zu suchen, zu sortieren und zu filtern, um sie dem Benutzer zu präsentieren, wie z.B. Produkte in einem Online-Shop.

Historisch gesehen ist JavaScript nicht mit Datenbanken kompatibel, aber das beginnt sich zu ändern.

PouchDB ist ein Beispiel für eine JavaScript-Datenbank.

PouchDB Open Source JavaScript Datenbank
PouchDB Open Source JavaScript Datenbank

Threading

Threading bezieht sich auf die Anweisungen, die eine Programmiersprache verarbeiten kann.

PHP ist multi-threaded, was bedeutet, dass es mehrere Befehle parallel verarbeiten kann.

Das Gegenteil ist eine Single-Thread-Sprache wie JavaScript, die nur einen Befehl zur gleichen Zeit verarbeiten kann.

Um Threading zu veranschaulichen, verwendet der Entwickler Samim Yaquby die Analogie eines Cafés, das Kunden bedient.

In einem kleinen Café mit nur einem Barista ist es einfacher und effizienter, wenn der Barista die Kunden mit einfacheren Bestellungen zuerst bedient, einen nach dem anderen. Dies ähnelt dem Single Threading von JavaScript.

Im Gegensatz dazu würden in einem großen Starbucks höchstwahrscheinlich mehrere Baristas gleichzeitig die gleichen Bestellungen ausführen. Dies ähnelt dem Multi-Thread-Ansatz von PHP.

Geschwindigkeit

Im Allgemeinen wird JavaScript auf der gleichen Hardware schneller ausgeführt als PHP. Da JavaScript jedoch auf dem Client ausgeführt wird, wirkt sich ein alter und langsamer Client-Rechner negativ auf die Ausführungszeit aus.

Die Geschwindigkeit von PHP hat sich seit der Veröffentlichung von PHP 7 sprunghaft verbessert, dank einer neuen Engine, die die Leistung verdoppelt und den Speicherverbrauch verbessert hat. Im Vergleich zu PHP 5.6 kann PHP 7.0 mehr als die doppelte Anzahl an Anfragen bewältigen, und die Leistung hat sich mit jeder 7.x-Version weiter verbessert.

PHP läuft auch besser als JavaScript, wenn du Echtzeitanwendungen wie Chatbots oder Spiele erstellst.

Die Veröffentlichung von PHP 8 mit dem Just in Time Compiler wird PHP voraussichtlich noch schneller machen.

Paket-Manager

Jede Sprache hat ihren eigenen Paketmanager, um Pakete zu verwalten: wiederverwendbare Code-Module von Drittanbietern, die einem Projekt zusätzliche Funktionen hinzufügen. Einige Pakete hängen von anderen ab, um zu funktionieren, daher werden sie Abhängigkeiten genannt.

PHP hat zwei Paketmanager, PEAR und Composer, die PHP-Pakete auf dem Packagist Repository herunterladen können.

JavaScript hat mehrere bekannte Paketmanager, darunter npm, Yarn und Bower.

JavaScript Paket Manager
JavaScript Paket Manager

Von diesen ist npm das beliebteste, mit mehr als 11 Millionen Entwicklern, die es weltweit nutzen.

Nutzung im Web

PHP ist heute die meistgenutzte serverseitige Sprache im Web. Mit fast 80% der Webseiten, die es nutzen, schlägt es die Konkurrenz um Längen.

W3Techs Server-seitige Programmiersprachen
W3Techs Server-seitige Programmiersprachen

Während PHP sehr beliebt ist, ist JavaScript auf Webseiten nahezu allgegenwärtig. 97% der Webseiten nutzen es.

W3Techs Client-seitige Programmiersprachen
W3Techs Client-seitige Programmiersprachen

Wofür wird PHP verwendet?

PHP hat eine große Bandbreite an Einsatzmöglichkeiten.

Am bekanntesten ist es wohl für die Erstellung dynamischer Webseiten. Laut BuiltWith wird PHP von über 34 Millionen Webseiten verwendet und es treibt einige der bekanntesten und bestverdienenden Webseiten im Web an, darunter Nike, Salesforce und Walmart.

Webseiten mit PHP mit geschätzten $1m+ Umsatz
Webseiten mit PHP mit geschätzten $1m+ Umsatz

PHP ist perfekt geeignet, wenn dein Projekt eine sichere Authentifizierung von Benutzern benötigt. Dazu gehören die Handhabung von Cookies und Sessions, die Authentifizierung mit Benutzername und Passwort und die Zwei-Faktor-Authentifizierung.

Wie bereits erwähnt, ist PHP gut für die Arbeit mit Datenbanken geeignet, da es mit einer großen Anzahl von Datenbanken zusammenarbeiten kann. Es hat auch eine eingebaute Datensicherheit für die Behandlung von Benutzereingaben, um sich vor Bedrohungen wie SQL-Injection-Angriffen zu schützen.

PHP wird auch häufig für die Erstellung von Echtzeitanwendungen wie Instant Messaging verwendet.

Schließlich, auch wenn du die meiste Arbeit am Frontend machst, wirst du ein Server-Backend benötigen. PHP ist eine ideale Wahl, da es genau dafür geschaffen wurde.

Wofür wird JavaScript verwendet?

JavaScript ist so populär geworden, dass die richtige Frage vielleicht lautet: „Wofür wird JavaScript nicht verwendet?“

Abgesehen von Webseiten und Webapplikationen, wurde JavaScript für die folgenden Dinge verwendet:

  • Mobile Anwendungen
  • Web-Server
  • Spiele
  • Dia-Decks
  • Chatbots
  • …und sogar programmierbare Drohnen
Super Chrono Portal Maker, ein HTML5 und JavaScript Spiel
Super Chrono Portal Maker, ein HTML5 und JavaScript Spiel

Kann JavaScript mit PHP verwendet werden?

Die Antwort ist ja, absolut.

Ein häufiges Beispiel sind Webformulare, wo es nützlich ist, Benutzereingaben zu validieren, bevor sie in einer Datenbank gespeichert werden.

Du kannst JavaScript für die clientseitige Validierung verwenden, z.B. um zu überprüfen, ob eine E-Mail im richtigen Format vorliegt. Danach kannst du PHP für die serverseitige Validierung verwenden, z.B. um zu überprüfen, ob die E-Mail in deiner Datenbank existiert.

Wie WordPress JavaScript und PHP verwendet

Traditionell hat WordPress beide Sprachen verwendet, aber viel mehr PHP als JavaScript. Das hat sich mit der Einleitung des Gutenberg-Editors zu ändern begonnen.

In Matt Mullenwegs State of the Word auf dem WordCamp US im Jahr 2015 gab er eine Vorstellung davon, wie wichtig JavaScript werden würde, indem er die Zuhörer aufforderte

„Lerne JavaScript, tiefgründig.“

So wie es aussieht, werden beide Sprachen in WordPress verwendet.

PHP wird für die Template-Dateien des Themes, die Schleife, die Authentifizierung, die Validierung und den Datenbankzugriff verwendet.

JavaScript steuert die Interaktivität von Themes und Plugins, die clientseitige Validierung und die Ereignisbehandlung. Vor allem für die Entwicklung von Blöcken sind JavaScript-Kenntnisse erforderlich, da Blöcke vom React JS Framework abhängig sind.

PHP vs. JavaScript lernen

Da sie relativ einfach zu erlernen sind, gibt es keinen Grund, warum du nicht sowohl PHP als auch JavaScript lernen kannst.

Die beiden Sprachen basieren auf bestimmten Programmiergrundlagen, wie Variablen, Schleifen, bedingte Anweisungen, Scope und Objekte.

Weil es eine so etablierte und beliebte Sprache ist, ist es einfach, PHP zu lernen.

Da PHP eine serverseitige Sprache ist, brauchst du einen Server, um Code zu schreiben. Das kann ein echter Webserver sein, oder eine Emulation eines solchen, wie eine lokale Entwicklungsumgebung. Einige Beispiele sind DevKinsta, XAMPP, WAMP, oder MAMP.

Du kannst JavaScript ganz einfach lernen, indem du in der Browserkonsole übst.

Im Chrome Browser kannst du die Konsole über die Tastenkombination Strg+Umschalt+J unter Windows oder Befehl+Wahl+J auf dem Mac aufrufen.

Ein einfaches Hello World Programm in der JavaScript Konsole von Chrome
Ein einfaches Hello World Programm in der JavaScript Konsole von Chrome

Wo es schwieriger wird, JavaScript zu meistern, ist die schiere Größe des Ökosystems.

Die JavaScript-Sprache hat sich von Vanilla JavaScript zu einer Fülle von Frameworks erweitert. Angular, Vue, jQuery und React sind nur einige von vielen, die es mittlerweile gibt.

Einige JavaScript-Frameworks
Einige JavaScript-Frameworks

Eine gute Ressource für Anfänger kommt von MDN Web Docs in ihrer JavaScript Dokumentation.

Chris Ferdinandi, der sich einen Namen damit gemacht hat, Leute über Vanilla JavaScript aufzuklären, sagt, dass es bei ihm erst richtig Klick gemacht hat, nachdem er jQuery gelernt hat.

Sein Rat an JS-Neulinge ist:

„Mach dir keine Gedanken darüber, in welcher Reihenfolge du etwas lernen solltest. Verschwende deine Zeit nicht mit dem Versuch, die perfekte Sache auszuwählen, denn es gibt keine perfekte Sache.“

Sei dir des „Shiny Object“-Syndroms mit JavaScript-Frameworks bewusst, wenn du nicht zuerst die Grundlagen von HTML und CSS verstanden hast. HTML ist die Grundlage für alles im Web, und es kann wirklich kaputt gehen, wenn es von einem übereifrigen JavaScript-Entwickler falsch gehandhabt wird.

PHP vs JavaScript – Vergleichstabelle

PHP JavaScript
Server-seitiges Scripting Client-seitiges Skripting
Wird auf dem Backend verwendet Verwendet im Frontend (jetzt Full Stack mit Node.js)
Kombiniert nur mit HTML Kombiniert mit mehreren Sprachen
Teilweise Groß- und Kleinschreibung Groß- und Kleinschreibung beachten
Syntaxunterschiede z.B. # für Kommentare erlaubt Syntaxunterschiede z.B. # für Kommentare nicht erlaubt
Variablen deklariert mit $ Präfix Variablen deklariert mit den Keywords var oder let
Hat assoziative Arrays Keine assoziativen Arrays
Integriert mit vielen Datenbanken Schlechter oder nicht vorhandener Support für Datenbanken
Multi-threaded Single-threaded
Schnell, wenn PHP 7.0 oder höher Schneller als PHP normalerweise
Verwendet PEAR und Composer Paketmanager Verwendet npm, Yarn und Bower Paketmanager
Schnell laufend, wenn PHP Version > 7.x Generell schneller als PHP
Wird auf etwa 80% der Webseiten verwendet Wird auf fast allen Webseiten verwendet

 

Zusammenfassung

In diesem tiefen Einblick in PHP vs. JavaScript gibt es nicht wirklich einen Gewinner. Sie haben beide ihre Stärken und Schwächen.

PHP ist stabil und zuverlässig, während JavaScript das coole Kind im Block geworden ist. Aber das bedeutet nicht, dass eines besser ist als das andere.

Welches auch immer du für dein nächstes Projekt wählst – und das könnten beide sein! – wenn du dir die Zeit nimmst, die Sprache zu verstehen, kannst du sicher sein, dass du eine Webseite oder App bauen wirst, die deine Nutzer begeistern wird.

Claire Brotherton

Claire Brotherton is a WordPress web developer, blog writer and accessibility advocate based in Edinburgh, Scotland. She works with businesses, nonprofits and entrepreneurs who are passionate about access and inclusion, and blogs regularly on her website, A Bright Clear Web. Tweet her at @abrightclearweb.