Frage von Starlight202, 81

Webdesign und Webentwicklung - welche Sprache?

Hallo zusammen und vorallem: Hallo Webentwickler da draußen :)

Ich bin seit geraumer Zeit Hobbymäßig wie auch mehr oder weniger Beruflich im Webdesign unterwegs, in der Webentwicklung stecke ich bisher noch in den Kinderschuhen und würde das gerne verändern.

Ein Projekt an dem ich mich austoben kann, habe ich bereits gefunden. Jetzt stehe ich vor dem großen Rätsel: In welcher Sprache ich arbeiten sollte(!).

HTML und CSS Kentnisse sind vorhanden - wenn auch mitlerweile eingerostet. :D

Java, JavaScript, PHP, Python, Ruby jQuery ... Was davon bietet sich an, im Hinblick auf die zukünftige Entwicklung der IT? Java gehört, so mein persönliches Empfinden, ja schon zum "Alltag" im Web. Allerdings bin ich mir unsicher ob sich das in den nächsten Jahren nicht ändern könnte - vorallem weil ich von vielen Entwicklern auch zu hören bekomme, dass Java im Web eher unsicher ist und viele zu PHP wechseln. Zu PHP höre ich aktuell von Kollegen ähnliches sowie die Meinung, dass PHP mit HTML5 nicht mehr so stark benötigt wird..

Mich würden einfach mal eure Meinungen Interessieren mit welchen Sprachen ihr gerne/ weniger gerne arbeitet, warum dem so ist und wenn ihr mir vlt. noch den ein oder anderen Tipp geben könnt wie ich da am besten Einsteigen kann bin ich mehr als glücklich :-) (Falls mir hier jemand intensiver weiterhelfen will freue ich mich natürlich auch über eine Nachricht. :-) )

Grüßle Starlight :3

Antwort
von fluffiknuffi2, 49

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
von bkeskin, 27

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
von emem1234, 28

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
von Delvan, 2

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
von grtgrt, 36

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.



Kommentar von fluffiknuffi2 ,

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.

Kommentar von grtgrt ,

Jeder Anbieter empfiehlt seinen Kunden die Technologie, die er selbst am besten beherrscht. Bei Web-Agenturen dürfte das mit Sicherheit PHP sein.

Kommentar von grtgrt ,

Ausnahmen bestätigen die Regel. Facebook etwa ist so eine Ausnahme: Eines der größten Unternehmen dieser Welt - und dennoch nutzen sie PHP (bzw. Hack - eine von ihnen selbst erarbeitete Variante von PHP). 

Lies bitte auch https://www.gutefrage.net/frage/warum-nutzen-die-internet-giganten-kein-php (und dort vor allem was TeeTier schrieb).

Kommentar von grtgrt ,

Auf der letzten Seite des Papiers https://www.cs.montana.edu/~tosun/phpvsjava.pdf findet sich ein interessanter Vergleich der Fähigkeiten von Java bzw. PHP.

Es lohnt sich, in zu lesen. 

Kommentar von grtgrt ,
Kommentar von fluffiknuffi2 ,

Schaden kann es nicht, jedoch ist zu bedenken, dass der veraltet ist, er geht scheinbar von PHP 5.0 aus, das 2004 released wurde. Da wird dann z. B. behauptet PHP habe keinen garbage collector, was aber seit 5.3 der Fall ist ( http://php.net/manual/de/features.gc.php ). Es wird behauptet es gebe keinen PHP-Editor, was aber mit WebStorm seit 2010 der Fall ist. PHP-Debugging würde nur mit "print" stattfinden (was an sich schon falsch ist -> var_dump und Co.), aber man kann auch in PHP mit Breakpoints usw. debuggen via Xdebug. PHP unterstütze keine Threads, das kann es aber sehr wohl: http://php.net/manual/de/class.thread.php Und so weiter, also das Paper ist outdated.

Kommentar von Delvan ,

> 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.

Antwort
von anion, 6

"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
von Franz1957, 13

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
von BetonMC, 32

Mit php, java, html5 und css bist du eh schon gut aufgestellt.

Gerade im Webdesign sind das die gängigen Sprachen :)

Keine passende Antwort gefunden?

Fragen Sie die Community