Website Programmierung Frontend - Backend Programmiersprache

6 Antworten

Ist beides in der Praxis das gleiche. Eine Mischung aus (X)HTML/CSS/Javascript/JQuery für das Layout und grundlegende Funktionen, PHP, (My)SQL und Co für die Programmierung und Kommunikation mit der Datenbank. Für das Web eher exotische Sprachen wie C, C++, Phyton oder auch Java kommen eher selten zum Einsatz und wenn dann fast nur in Verbindung mit entsprechenden Frameworks. Die wenigsten Seiten setzen darauf.

Woher ich das weiß:Berufserfahrung – selbstständiger Dienstleister und Nerd
tobistenzel  29.08.2012, 22:51

Naja, Python ist jetzt nicht so exotisch für Websites. Schonmal was von Zope, Django und so gehört? ;)

Java ist auch nicht gerade unwichtig (Spring, JSF, Play), vor allem bei großen Firmen verbreitet.

Ruby ist natürlich auch noch wichtig.

C/ C++ sind natürlich wirklich exotisch fürs Web, außer für Hochleistungskram im Hintergrund wie bei Google.

0
Limearts  29.08.2012, 22:53
@tobistenzel

Gemessen an der Verbreitung im Netz, machen diese Programmiersprachen trotzdem einen Prozentsatz aus, der kaum an der 1% Marke des Webs kratzen dürfte. Für allgemeine Entwicklung eines Backends vollkommen "blödsinnig" :)

0
Ichfragewas 
Fragesteller
 29.08.2012, 23:03
@Limearts

Auf Wikipedia steht zum beispiel das sowohl Youtube als auch Google Phyton verwenden, ist Phyton dann eine gute Idee für die dynamische Ausgabe auf Werbsiten?

0
tobistenzel  29.08.2012, 23:09
@Ichfragewas

Ist ne sehr gute Idee (vor allem für Hobbyprogrammier), damit arbeite ich auch bei meinem aktuellen Job.

PHP ist leider nicht totzukriegen ;)

0
Ichfragewas 
Fragesteller
 29.08.2012, 23:10
@tobistenzel

Vielen Dank für den link, sehr interessant, aber warum benutzt man mehre Programmiersprachen im Backend, reicht nicht eine, wie Phyton? oder PHP? Warum mehrere? Was gibt das für einen Sinn?

0
Limearts  29.08.2012, 23:12
@tobistenzel

Die meisten Websites (immerhin weit über 300.000.000 Domains weltweit) setzen noch immer auf statischen Content. Klar setzen die größten auf sehr fortschrittliche, teils sogar experimentelle Sprachen um den enormen Traffic auf etlichen Servern zu bewältigen, aber trotzdem kann man davon ausgehen dass die Verbreitung anderweitiger Sprachen im niedrigen, einstelligen Bereich liegt, gemessen an der Gesamtmenge ;)

0
Ichfragewas 
Fragesteller
 29.08.2012, 23:14
@Limearts

Ah ok, wenn das so stimmt wie du sagst, aber jetzt habe ich eben NOCH eine Frage: Warum benutzt man mehr als eine Sprache zur dynamsichen Ausgabe auf Websiten, warum mehrere Sprachen im backend, reicht nicht eine, und, wenn es so stimmt das zum beispiel Google mehrere Sprachen benutzt, kann ich mir das dann so vorstellen, das wenn ich mich einlogge, mein Name mit zum beispiel PHP ausgegeben wird :D mein Dateinamen bei Google Drive aber zjm Beispiel mit Phyton? :D

0
Limearts  29.08.2012, 23:19
@Ichfragewas

Ich bin in den tatsächlichen Programmiersprachen nicht firm, nutze selbst nur die von mir als gängig gelisteten. Aber auch in den Sprachen hat jede ihre Vor- und Nachteile, die bestimmte Codesegmente effizienter oder weniger umständlich lösen kann als vergleichbare Pendants. Bei den anderen Sprachen wird es aufs gleiche hinaus laufen. Man kommt wunderbar mit wenigen aus, wenn es aber um die letzten Fitzel an Leistung und Stabilität geht, bieten sich andere Lösungen unter Umständen eher an.

0
tobistenzel  29.08.2012, 23:40
@Ichfragewas

Gibt da viele Gründe. Ein paar davon:

  • manche Sprachen eignen sich für manche speziellen Sachen einfach besser
  • unterschiedliche "Vorlieben" in Abteilungen
  • man hat irgendeine kleinere Firma aufgekauft, die was anderes benutzt hat
  • aktuelle "Trends" und "Moden" gibts auch bei Sprachen
  • man schreibt bestimmte Teile, die besonders rechenintensiv sind nachträglich in einer anderen Sprache, weil sich diese irgendwie schneller ausführen lässt
  • es gibt für manche Sprachen schon viel fertigen Code oder ganze Frameworks, die einem viel Arbeit abnehmen.

Twitter hat z.B. mit Ruby angefangen. Später, als das Ganze größer wurde, haben sie im Hintergrund ein Scala-Backend gebastelt, was das System ordentlich beschleunigt hat. Kommt öfter vor, dass manche Teile erst in einer recht "einfachen" und dynamischen Sprache wie Python oder Ruby geschrieben werden. Die sind aber üblicherweise nicht so schnell ausführbar wie z.B. Scala, Java oder gar C++.

0
tobistenzel  04.09.2012, 00:57
@Ichfragewas

Eine gute Sprache, um zu lernen, was man beim Entwurf von Programmiersprachen so alles falsch machen kann...

Ist schon ewig her, dass ich mal was Ernsthaftes mit PHP gemacht habe. So ein Artikel reicht mir als Bestätigung, dass man da immer noch die Finger davon lassen sollte, vor allem weil es so viele bessere Alternativen gibt:

http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

So kaputt ist keine andere halbwegs verbreitete Sprache, würde ich sagen ;) Javascript z.B. ist teilweise auch ganz schön vermurkst, aber im Kern ist das wirklich gut gemacht.

0

Kommt darauf an, wo du das "Frontend" siehst ;)

Wie schon gesagt wurde kann der Browser (also der Client) üblicherweise nur HTML, CSS und JS (außer Plugins).

Auf Serverseite kommen alle möglichen Programmiersprachen zum Einsatz. Da könnte man bei großen Systemen auch zwischen "Frontend" (Webserver) und "Backend" (Datenbank, andere Dienste, die von den Websites genutzt werden) unterscheiden. Das passt besser zu deinen Zuordnungen der Programmiersprachen. C++ und Java für rechenintensive Anwendungen, Python, PHP, ASP und Co. (auch Java) für das Erstellen der dynamischen Inhalte auf der Serverseite.

Völliger Humbung. ASP.Net ist keine Programmiersprache, es ist ein Framework von Mircosoft, für die Web-Entwicklung. Programmieren kann man da mit jeder .Net - Sprache, z.B. C#. Und das ist natürlich Backend. Genauso wie Java oder PHP Backend ist. Phyton ist auch kein Frontend.

Dein Browser kann nur Javascript. Javascript wird verwendet, um dynamische Webseiten zu proggen. Das ist der clientseitige Code. Aber bestimmt kein PHP, ASP.Net oder Phyton.

Lerne HTML, CSS und Javascript für Frontend und Backend liegt es bei dir. PHP geht genauso wie ASP.Net und C#. Beide verfolgen zwei völlig unterschiedliche Konzepte. Innerhalb von ASP.Net gibt es dann nochmal verschiedene Frameworks. Web-Forms suggeriert dir das, was das Http-Protokoll eigentlich nicht bietet, nämlich statefull zu sein. ASP.Net MVC ist wieder etwas anders.

C++ als Backend-Sprache ist hier aber wohl eher die Ausnahme. Und mit C schreibt man vielleicht Prozesse oder derartiges, aber sowas nimmt man für gewöhnlich nicht als Backend-Sprache für Webserver her. Würde PHP oder ASP.Net verwenden. Ich persönlich programmiere beruflich mit ASP.Net und C#. Am verbreitesten ist aber PHP im Webbereich als Backend.

Ichfragewas 
Fragesteller
 29.08.2012, 23:04

Wenn man jetzt Google als beispiel nimmt, die benutzten laut Wikipedia C, C++ und Phyton, warum gleich drei Sprachen? Und, ist es mit allen diesen 3 Sprachen möglich, dynamisch Inhalte auf Websiten anzeigen zu lassen?

0
Marbuel  29.08.2012, 23:20
@Ichfragewas

Ja, ist es. Und warum Google soviel benutzt, weiss ich nicht. Aber Google ist auch kein Maßstab. Die sind imba. Wir in der Firma programmieren mit ASP.Net und C#. C# ist der serverseitige Code. Trotzdem kann es aber auch sein, dass Web-Server auch mit Prozesse kommunizieren. Wir haben zum Beispiel Converter, die in C geschrieben sind. Da werden Daten zu uns geschickt, die konvertiert werden und anschließend in der Datenbank gespeichert und auf der Webseite angezeigt. Oder aber auch umgekeht. Der User könnte auf der Webseite auch Daten hochladen, die dann in den Converter geschoben werden. Und Google wird halt tausend Prozesse irgendwo am laufen haben. Die machen ja auch viel mit GPS und was weiß ich. Google ist absolut kein Maßstab für dich. Außerdem zählt für die bei bestimmten Vorgängen auch das letzte Prozent an Performance. Und mit C lässt sich manches halt performanter proggen, als mit C#, wo du immer Overhead durch das Framework hast. Vergiss C und C++ für Webgeschichten. Das braucht Google, aber nicht du.

Nimm PHP, Phyton oder ASP.Net MVC bzw. WebForms und da als Sprache dann C#. Ansonsten lerne SQL und für die clientseitige Programmierung Javascript. HTML und CSS gehört sowieso dazu.

Und ja, du kannst mit PHP, Java, ASP.Net (C#) oder Phyton dynamische Webseiten proggen. Wobei ich unter dynamisch eigentlich eher Javascript verstehe. Denn nur mit Javascript kannst du clientseitig Dinge tun, ohne einen Request an den Server zu machen. Oder eben mit asynchronen Request, was der User nicht wirklich mitbekommt, aber eben keinen Full-Postback. Wenn du für jeden Furz, den der User im Browser machst, die Seite komplett neu laden musst und dann serverseitig mit PHP, ASP.Net, Phyton oder was auch immer eben deine der Anfrage entsprechende Logik durchgehst und dein HTML zurückgibst, wirkt eine Seite nicht wirklich dynamisch.

0
Ichfragewas 
Fragesteller
 29.08.2012, 23:28
@Marbuel

Ok vielen vielen Dank, ich werde mir das durch den kopf gehen lassen, aber noch eine Frage, wenn ihr in der Firma auch C# arbeitet, kann man das dann genauso in einen HTML-Code einbauen wie mit PHP?

0
Marbuel  29.08.2012, 23:55
@Ichfragewas

Ja und nein. Der PHP-Code, den du in deiner Seite einbaust, wird im Endeffekt ja auch vom Server interpretiert, wenn die Seite dorthin verschickt wird. Du kannst C# Code auch auf der Seite mit den HTML-Code einbetten, aber das macht man eigentlich eher weniger. Wenn du dir ASP.Net anschauen willst, dann lade dir am besten als Entwicklungsumgebung Visual Studio 2010 Express runter. Das ist kostenlos. In ASP.Net hast du üblicherweise pro Page ein .aspx - File. Dort ist dein HTML-Code, also die Seite als solche, die zum Client geht. Und dann hast du ein .aspx.cs - File. Dort ist der sogenannte Code-Behind, z.b. in C#. Du könntest wie gesagt auch C# - Code in die .aspx zum HTML packen, aber das macht keinen Sinn und macht es nur unübersichtlich. Denn interpretieren wird den Code eh nur der Server. Ein Browser kann kein C# interpretieren. Aber ein Browser interpretiert auch kein PHP, auch wenn es im HTML ist. ASP.Net verfolgt hier halt ein anderes Konzept. Server- und Clientcode ist da einfach getrennt. Was er ja wie gesagt ohnehin ist. Und ASP.Net suggeriert dir halt das Verhalten einer Windows-Forms-Anwendung. Es gaugelt dir vor, statefull zu sein.

Beispiel:

Der User schreibt etwas in eine Textbox und klickt auf "submit". Das ganze geht nun zum Server, der macht irgendetwas und gibt eine Seite zurück. Mit PHP wäre danach die Textbox leer. Mit ASP.Net nicht, denn der Wert der Textbox verschwindet in ein Hidden-Field, der sogenannte Viewstate. Wenn der Server fertig ist, wird der Wert aus dem Viewstate wieder in die Textbox gerendert und der User sieht automatisch wieder das, was er eingegeben hat. Das ist eines der Konzepte von ASP.Net WebForms. ASP.Net MVC ist wieder etwas anders. ASP.Net ist sehr mächtig. Es gibt da einfach sehr viel Out of the Box. Du willst nen Button, der einen asynchronen Postback beim Klick macht?

<asp:UpdatePanel>
<asp:Button id="myButton" runat="server" OnClick="myClickFunction">
</asp:UpdatePanel>

Das war es! Das Javascript wird automatisch gebaut. Beim Klick auf den Button wird die Methode "myClickFunction" auf den Server aufgerufen. Asynchron!!!

Des Weiteren hast du mit C# halt eine Sprache an der Hand, die eigentlich keine Web-Sprache ist, sondern eine objektorientierte Hochsprache, mit der du alles machen kannst, von hardware-naher Programmierung mal abgesehen. Ob das Apps für Android sind, Spiele für XBox mit XNA, Windows-Anwendungen oder eben im Falle von ASP.Net die Sprache für den Code-Behind.

Jetzt hab ich aber glaub genug gesabbelt. Du siehst, ich bin Microsoft bzw. C# - Fan. Lass dich nicht beeinflussen. Schau dir alles einfach mal an und entscheide selbst.

0
Ichfragewas 
Fragesteller
 30.08.2012, 18:38
@Marbuel

Hm ok, es ist nur, weil ich zum Beispiel mal einen sehr kurzen einblick in Java hatte, mit dem Editor Eclipse, und mich jetzt einfach frage, wie man mit Java etwas auf websiten anfangen kann, wobei man eine Java-Anwendung doch lokal auf dem Computer benutzt

0

Für das Frontend brauchst du (X)HTML und CSS. Beide sind KEINE Programmiersprachen! Somit wäre deine Frage, warum es versch. Programmiersprachen für Front- u. Backend gibt, geklärt. Des weiteren benötigst du für das Frontend JavaScript (schwache Skriptsprache; nicht zu verwechseln mit Java) und gegebenenfalls PHP. Backend: die populärste Sprache fürs Backend ist PHP, natürlich gibt es auch Alternativen.

Mein Tipp: Lerne als erstes HTML, denn darauf baut jede Website auf! Auch wenn du fürs Frontend PHP verwendest, besteht das Endergebnis letztendlich aus HTML. Zweiter Schritt wäre CSS, ebenfalls essentiell. Um deiner Website Dynamik zu verleihen, solltest du als drittes JavaScript lernen. Diese Sprache wird meistens für Bildergalerien und andere "einfache" Zwecke verwendet, da HTML als Auszeichnungssprache dem Nutzer keinerlei Interaktion bietet. Solltest du bisher noch keine einzige Website erstellt haben, dann fange mit einer ganz normalen Seite an. Ein Backend brauchst du nur für komplexe(re) Websites, z.B. Foren.

Pokeuser  04.01.2014, 19:59

Wenn du ein Backend hast, benötigst du im Frontend auch eine Programmiersprache bzw. Scriptsprache, z.B. PHP, weil warum sonst benötigt man ein Backend, wenn das Frontend nicht dynamisch ist? :)

0
mbembenek  18.04.2015, 12:28
@Pokeuser

so geil:-) richtige und Top-Antwort! Ich habe mich echt gewundert, das ich mir alle Technologien angeeignet habe wenn es doch alles mit HTML geht.... Lach!

0

Zum programmieren einer Website brauchst du genau GAR NICHTS außer PHP, Javascript, HTML und CSS!

Ichfragewas 
Fragesteller
 30.08.2012, 20:52

Wirklich? Nur diese 4 Sprachen brauche ich?

0