Im Allgemeinen verwendet jedes Webprojekt mit angemessener Größe etwa fünf Sprachen: HTML, CSS, Javascript, eine serverseitige Sprache (ASP, JSP, CGI-Skripte mit Perl, PHP usw.) und eine Variante von SQL für die Datenbankkonnektivität.
(Dies ist natürlich eine Handbewegung des Streits darüber, ob HTML und CSS als Programmiersprachen gelten oder nicht - ich bin das Camp "Sie sind, aber nur keine Turing-vollständigen Sprachen", aber das ist ein ganz anderer Thread. )
Einige Beispiele, wie all diese zusammenarbeiten:
Wenn Sie den Best-Practice-Weg gehen, ist die Struktur einer Webseite in HTML und die Anweisungen zur Anzeige in CSS - die sich in derselben Datei befinden können, aber nicht müssen. Das CSS enthält eine Reihe von Klassen, auf die sich der HTML-Code bezieht, und es ist Sache des Browsers, herauszufinden, wie man sie zusammenklickt.
Wenn Sie noch einen Schritt weiter gehen, können alle Javascript-Skripte auf dieser Seite das vorhandene HTML / CSS ändern (Inhalt von HTML-Entitäten ändern, eine CSS-Klasse gegen eine andere austauschen, das Verhalten des CSS ändern usw.). ) Dies geschieht über das sogenannte Dokumentobjektmodell, bei dem es sich im Wesentlichen um eine sprach- und plattformunabhängige API handelt, mit der HTML-Seiten objektähnlich bearbeitet werden können (an diesem Punkt werde ich mich langsam zurückziehen und nur einen Link zum relevanten Objekt bereitstellen Wiki-Artikel .)
Aber woher kommt dann all das HTML / CSS / Javascript? Das macht die serverseitige Sprache. In der einfachsten Form ist die sererseitige Sprache ein Programm, das eine riesige Zeichenfolge zurückgibt, die eine HTML-Seite als Ausgabe enthält. Dies kann natürlich viel komplexer werden: HTML-Formulare und Abfragezeichenfolgenparameter können als Eingabe für unser serverseitiges Programm verwendet werden, und dann haben Sie die gesamte AJAX-Sache, bei der das Javascript Daten auch direkt an die Serversprache senden kann. Sie können sich auch vorstellen, wo die Serversprache HTML, CSS und Javascript anpassen kann, die ausgespuckt werden - im Wesentlichen haben Sie ein Programm in einer Sprache, das ein Programm in einer anderen Sprache schreibt.
Die serverseitige Verbindung zwischen Sprache und SQL funktioniert ähnlich. Es gibt viele Möglichkeiten, es komplexer und sicherer zu machen. Am einfachsten ist es jedoch, wenn Ihre Serversprache eine Zeichenfolge mit einem SQL-Befehl dynamisch erstellt, diese über einen Connector an die Datenbank übergibt und zurückkehrt eine Ergebnismenge. (Dies ist ein Fall, in dem Sie wirklich eine Funktion haben, die sich auf someValue = database.executeThisSQLCommand (SQLString) beschränkt.)
Zum Abschluss kommunizieren verschiedene Sprachen in diesem Fall entweder, indem sie tatsächlich Programme ineinander schreiben, oder indem sie Daten in sehr einfachen, leicht zu analysierenden Formaten weitergeben, die jeder verstehen kann. (Hauptsächlich Saiten.)
Native COM components
sind?