Webdesign und Webentwicklung - welche Sprache?

... komplette Frage anzeigen

7 Antworten

Eine schwierige Frage, finde ich, die ich mir so ähnlich auch selber stelle. 

Mein Schwerpunkt liegt bei PHP aber ich frage mich, ob das langfristig so bleiben kann und ob sich das finanziell lohnt.

PHP wird täglich tausendmal totgesagt (gefühlt jedenfalls ;) ) aber bisher waren das alles nur Sprüche, die an der Realität vorbeigingen. Python, Ruby on Rails, (serverseitiges) JavaScript... konnten bisher PHP nicht verdrängen. Trotzdem, auf lange Sicht, wer weiß, ob das so bleibt? Sicher ich rede nicht von drei Jahren, vermutlich auch nicht von fünf, aber ob PHP in zehn Jahren noch einen guten Arbeitsmarkt hergibt, wer weiß das schon? In jedem Fall sollte man als PHP-Entwickler(in) (vermutlich generell als Entwickler) die Entwicklung im Auge behalten und einen Plan B haben.

Derzeit hat man mit PHP grundsätzlich sehr gute Chancen auf einen Job. Ich hätte es absolut nicht gedacht aber bei meinem neuen Arbeitgeber herrscht akuter Mangel an PHP-Entwicklern. Da wird händeringend gesucht, es werden Freelancer aus anderen EU-Ländern rüber geholt, jeder Mitarbeiter gebeten, sich doch umzuschauen, mit Unis kooperiert, Headhunter beauftragt, usw. Ich weiß nicht was das Problem ist, vielleicht der ungünstige Standort, vielleicht wird auch nicht gut genug gezahlt, vielleicht gibt es tatsächlich zu wenig PHP-Entwickler die tatsächlich ein bisschen was auf dem Kasten (es geht vor allem um ein bestimmtes Framework) haben, keine Ahnung. Jedenfalls der Bedarf ist da.

Die andere Frage ist aber eben, wie viel man verdienen kann. Ich verdiene für Softwareentwicklung nach Studium wenig. PHP wird im Vergleich nicht gut bezahlt, schätze höchstens die Web-Frontendler (JavaScript) haben womöglich (ich weiß es nicht genau) ein geringeres Durchschnittsgehalt. Ist aber natürlich Jammern auf nicht so niedrigem Niveau wie es sich vielleicht anhört. Verglichen mit dem Durchschnittsdeutschen verdiene ich ganz ordentlich. Mache mir nur Gedanken inwiefern Karriere (= mehr Gehalt) in dem Bereich möglich ist. Ich möchte nicht irgendwann in den Bereich Management und Co. wechseln sondern nach wie vor PHP-Entwicklung machen und ob man da als guter, aber auch nicht herausragender Entwickler sonderlich weit kommt... ich habe da gewisse Zweifel. 

Allerdings dürftest du auch mit dem generellen Problem zu kämpfen haben, das typische Webentwickler schlechter bezahlt werden als... alle anderen Entwickler? :D Die Sprache ist da wahrscheinlich gar nicht mal so entscheidend.

Ich würde dir raten dir erst Mal eine Sprache zu wählen. Schätze du kannst mit allen Jobs finden wobei ich das natürlich nur für PHP aus eigener Erfahrung bestätigen kann. Aber der Markt für PHP-Entwickler ist jedenfalls sehr groß und irgendwas, halbwegs ordentlich bezahltes im allgemeinen Vergleich (nicht nur unter Softwareentwicklern) wirst du schon finden.

Wichtig ist, dass du alle Antworten, die du hier erhältst, mir Vorsicht behandelst (auch meine). Die meisten Menschen haben keine andere Wahl als eigene Erfahrungen bzw. mitbekommenes Hörensagen zu verallgemeinern. Das macht er dir nicht leichter, ist aber nun mal so.

PS:


Zu PHP höre ich aktuell von Kollegen ähnliches sowie die Meinung, dass PHP mit HTML5 nicht mehr so stark benötigt wird..

Das war vermutlich anders gemeint, stimmt so jedenfalls nicht. PHP ist Backend (echtes Programmieren), HTML(5) ist Frontend (Struktur / Aufbau der Seite...). Da besteht keine "Konkurrenzsituation" sondern PHP ergänzt/erweitert HTML.

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo,

bei der Wahl der richtigen Sprache kommt es auch immer auf das Umfeld an.

Bevor meine Antwort zu unübersichtlich wird werde ich es erstmal Gliedern.

in der Webentwicklung unterscheidet man zwischen Front End und Backend.

Aktuelle Entwicklungen im Front End Bereich:

  • SASS (ein CSS Preprocessor) wird heutzutage sehr häufig eingesetzt, da es auch Variablen im ,,CSS" Code erlaubt.
  • AngularJS/Angular2 (JavaScript Framework) dieses Framework hilft dir deine Komponenten und Views zu separieren. Zu den Highlights zählen vor allem die Zwei Wege Datenbindung sowie Filter und Hilfreiche Direktiven, die dir die Arbeit sehr erleichtern.
  • Jquery gehört glaub ich zu den Standards aller Standards :D 

Backend (Fragestellung: Wie komm ich an meine Daten)

  • SOAP Service (eine Technologie welche dir ermöglicht Daten mittels XML zu tauschen). In Java : Jax-WS Bibliothek (Setzt ein Tomcat o.ä. Webserver voraus)
  • REST - eine Technologie welche dir ermöglicht Daten mittels bspw. JSON auszutauschen, was sehr vorteilhaft ist da JavaScript mitteld ,,Ducktyping" die Daten mühelos in Objekte verpacken kann. in Java : Jax-RS Bibliothek (Setzt ein Tomcat o.ä. Webserver voraus).

Ich persönlich arbeite gerne mit C# um solche Service Schnittstellen zu realisieren und mit AngularJS im Front End Bereich. Mein aktuelles Projekt ist in PHP (Backend) realisiert da ich als Backend eine Wordpress Instanz verwende, für den ich REST Schnittstellen implementiert habe. Aber generell Nutze ich sehr ungern PHP (persönlich Präferenz).

Viele Grüße

Antwort bewerten Vielen Dank für Deine Bewertung

Die Wahl der Implementierung sollte von den Anforderungen kommen oder sich daraus ableiten und nicht was gerade in ist. Wenn Du von Null beginnst ist wohl der LAMP stack für den Einstieg ja ok. Java ist meiner Meinung nach heute nur noch der Kleber zwischen den Frameworks. Jsp/jsf sind zwar die Klassiker aber halt auch recht generell und nicht schnell zu erlernen. Oder kuck Dich mal im Java Spring Umfeld um. Es gibt auch Frameworks wie z. B. Vaadin, welche eine Abstraktion bereitstellen.

Antwort bewerten Vielen Dank für Deine Bewertung

Von groß zu klein, also mit Hinleitung zu dem was für dich vermutlich erstmal am interessantesten ist.

Erstmal, ja, Java gehört zum Alltag bei großen Unternehmen und wer was anderes behauptet ist mit der Industrie nicht vertraut. Amazon AWS, Ebay, Linkedin und zu großen Teilen auch Google vertrauen auf Java im Backend. PayPal ist ebenfalls zu großen Teilen von der JVM angetrieben, auch wenn die Sprache nicht Java ist. Dazu kommt, dass Adobe Experience Manager eines der am weitesten verbreiteten "Enterprise" Content Management Systeme ist. Architektur? Java.

Bevor das jetzt zu dem Rückschluss führt das Java die einzig richtige Wahl für das Backend ist: Das ist so nicht korrekt.

Man muss wie bereits erwähnt abwägen, was man tun will. Für Enterprise-Geschichten, also komplexe Systeme unter hoher Last ist Java definitiv eine etablierte Lösung. Die einzigen Alternative auf höchster Ebene ist vor Allem noch Erlang. (Whatsapp, Zynga, Facebook (teilw.))

Für die meisten Sachen ist das einfach Overkill. Man muss beachten, dass der Entwicklungsaufwand enorm ist und das für große Teams mit enormen Anforderungen relevant ist. Nicht für den Freiberufler der Webseiten für kleine Unternehmen baut.

Als "Mittelding" (viel Leistung, auch für kleinere Teams realistisch) gibt es dann noch:

- Ruby [Rails] (Airbnb, Github, Kickstarter)
- Python [Django] (Dropbox, Reddit, Pinterest)
- Elixir [Phoenix] (Pinterest, Discord - relativ neu, läuft auf der Erlang VM)
- node.js [Express, Meteor] (Netflix, Ebay, Paypal) für das Backend.

Am Ende der Fahnenstange findet sich meiner Meinung nach dann PHP. Der Grund dafür ist in erster Linie die Einfachheit. Jeder Webhoster stellt eine PHP Umgebung zur Verfügung, man muss sich nicht um seine Server kümmern, jeder Request ist separat und Fehler legen nicht versehentlich die gesammte Plattform lahm. Plus es gibt unendlich viele Tools, Libs, Content Management Systeme, etc.

Für ein Einmannunternehmen und kleine Agenturen ist PHP vollkommen in Ordnung, und Facebook und Mailchimp sind Beispiele dafür, dass PHP auch in großen Systemen noch seinen Platz haben kann.

Zu dem "PHP wird nichtmehr benötigt" Statement: 25% des Webs läuft auf Wordpress. Spricht für sich.

Als Fazit, wie ich dir empfehlen kann vorzugehen:

Lern PHP wenn du als Freiberufler Webseiten für Kunden bauen willst. Ansonsten musst du noch genug von Systemadministration verstehen um deine Server (selbst AWS oder AppEngine oder so) sicher zu halten. Sicherheit ist ein Muss. Wenn du das nicht gewährleisten kannst, falle auf einen Webhoster zurück, das ist immerhin deren Job. Für den Anfang macht das definitiv Sinn.

Für alle anderen (Backend-) Technologien wirst du auf kurz oder lang Linuxkenntnisse brauchen und Grundlagen von Systemadministration, um Dinge sicher und zuverlässig zu hosten. Das gilt auch für Java.

Als zweiten Schritt würde ich Javscript und node.js empfehlen.
Grund: Relevant im Frontend, leichter Einstieg und gut als erster Einblick in Backends um die man sich kümmern muss. Zusätzlich bringt das Javascript Ökosystem auch unheimlich viel an Tooling für deinen Entwicklungsprozess mit sich. CSS Preprocessors (SCSS wie wo anders erwähnt) Javascript bundling, etc. etc.

Dann langsam an Java oder Elixir herantasten. Ruby und Python würde ich für das Web nur empfehlen wenn du direkt mit Projekten zu tun hast, die diese bereits verwenden.

Hoffe das hilft!

Antwort bewerten Vielen Dank für Deine Bewertung

Das Backend zu programmieren - die Applikationsserver also - ist Java mit Sicherheit weit besser geeignet als PHP.

Für die Kommunikation zwischen Frontend und Backend stellt die Java-Welt Servlet-Klassen bereit sowie JSP (als direkten Konkurrenten zu PHP für die dynamische Generierung der HTML-Seiten). Zudem gibt es Open Source Pakete - wie etwa STRUTS - mit deren Hilfe sich der Kontrollfluss, über den sich regelt, welche HTML-Seite welche andere aufruft bzw. aus welcher anderen heraus aufgerufen werden kann, recht systematisch gestalten lässt.

Die vielen zueinander mehr oder weniger konkurrierenden Java-basierten Lösungen die Kommunikation zwischen Web-Browser und Applikationsserver zu regeln, lassen diese ganze Landschaft aber recht unübersichtlich aussehen. Das mag ein Grund sein, warum sich PHP so lange hält. (PHP kommt aus dem Bereich der Hobbyprogrammierer, schlägt sich dafür aber extrem gut).

Meiner Ansicht nach hat die Java-Welt viel zu lange am alten Client-Server-Konzept festgehalten (also Pakete entwickelt, deren Ziel es war, GUI-Programmierung in einer Weise zu unterstützen, wie Microsofts MFC das tat. Diese alte Welt aufzugeben und stattdessen einzig und allein auf per HTML zu realisierende GUIs zu setzen, hat man zu lange gezögert. Auch JSF (Java Server Faces) scheint nicht wirklich gelungen. Fazit also: Zu viele Denkansätze und nicht rechtzeitig genug aufgegebene Sackgassen haben in den Bereichen, in denen PHP mit Java konkurriert, auf Java-Seite zu einem allzu unübersichtlichen, keineswegs überall gelungenen Lösungsangebot geführt. Wer sich in diesem Dschungel verirrt, wird vielleicht wieder zu PHP greifen - aber wohl nur, um irgendwann später feststellen zu müssen, dass die Java-Schiene eben doch die mächtigere ist.

Große und größte Unternehmen werden bei der Implementierung neuer Webanwendungen heute ganz sicher nicht mehr PHP verwenden.

JavaScript ist notwendige Ergänzung zu HTML (denn nur damit lassen sich HTML-Seiten interaktiv machen, was viele Roundtrips zum Server ersparen kann und so die Gefahr verkleinert, dem Server Aufgaben zu geben, die eigentlich der Client erledigen sollte). JavaScript einzusetzen wird man aber stets Bibliotheken wie jQuery benötigen - wobei auch hier das Problem besteht, dass schon zu viele solcher Bibliotheken existieren und miteinander konkurrieren: Es gibt leider keine, welche man als die mit Abstand beste bezeichnen könnte.

Von Nischenlösungen wie Ruby oder RubyOnRails sollte man besser ganz die Finger lassen: Ich sehe sie als Ansätze, mit denen Sprachentwickler experimentieren, und mit denen der eine oder andere Hobbyprogrammierer sich befasst, die für Entwickler von Enterprise-Applikationen aber tabu sein sollten.



Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von fluffiknuffi2
16.07.2016, 18:31

Große und größte Unternehmen werden bei der Implementierung neuer Webanwendungen heute ganz sicher nicht mehr PHP verwenden.

Das sehen die Agenturen, die für die Web-Projekte ihrer namhaften Klienten PHP-Entwickler suchen, offenbar anders.

1
Kommentar von Delvan
12.10.2016, 19:27

> Große und größte Unternehmen werden bei der Implementierung neuer Webanwendungen heute ganz sicher nicht mehr PHP verwenden.

Das sehen Firmen wie Facebook und Mailchimp anders.

0

Möglich ist die Webentwicklung heute in praktisch jeder Sprache, die eine aktive Community hat. Welche man verwendet, hängt von der Art und Größe des Projekts ab, und von den Kenntnissen der beteiligten Leute.

Ich arbeite in Perl. Eine feine Sprache, um flexibel und unbürokratisch zu arbeiten und rasch etwas fertigzubekommen, das tut, was es soll. Gut geeignet ist Perl zur Mustererkennung und -verarbeitung in mit kompliziert strukturierten Textdaten. Es gibt eine umfangreiche Modulbibliothek (CPAN), in der man für fast jeden erdenkliche Zweck etwas findet. Nachdem Perl für einige Jahre etwas in den Hintergrund getreten war, ist es inzwischen stark modernisiert worden und ist jetzt Grundlage interessanter Frameworks für die Webentwicklung (siehe: Dancer und Mojolicious).

Antwort bewerten Vielen Dank für Deine Bewertung

"Java, JavaScript, PHP, Python, Ruby jQuery"
um himmelswillen. ist nicht böse gemeint.
java hat nichts mit webentwicklung zu tun. es gibt zwar frameworks, um java mit webentwicklung/webserviceentwicklung zu verbinden, aber trotzdem hat das nichts mit webdesign/wenig mit webentwicklung zu tun (außer vielleicht du willst wirklich webservices anbieten, ja, aber unter webentwicklung versteht man eher was anderes).
javascript - ja, das wird heutzutage unter webentwicklung verstanden javascript in kombination mit html. interessant wären auch so sachen wie coffeescript. coffeescript lässt sich vollständig äquivalent in javascript übersetzen und hat eine einfachere syntax.
php, python, ruby - meh. php vielleicht noch, wenn du serverseitig entwickeln willst/musst, ok.
jquery - das ist eine große javascriptdatei, keine programmiersprache. wenn du in javascript entwickelst und jquery brauchst, dann benutzt du es einfach, sonst nicht.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?