Html, css und php oder was anderes?

9 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Ist php veraltet?

Vor PHP 7 hätte ich diese Frage noch sicher mit ja beantwortet. Man hat aber damals doch den Schuss zumindest etwas gehört und versucht, wieder heranzuklotzen. Gerade in der Performance hat man einen Sprung nach vorn gemacht und ein bisschen für mehr Ordnung gesorgt, indem man bspw. die veralteten mysql-Funktionen entfernt hat.

Allerdings sind es erst Frameworks wie Laravel oder Zend, die PHP moderner gestalten, bspw. durch Features wie die Möglichkeit, Entity-Mapping zu Datenbanken herzustellen oder eine bessere/konsequentere Umsetzung des OOP-Konzepts.

Ohne solche ordnenden, strukturierten Tools kann PHP allerdings ziemlich grässlich sein. Es gibt verschiedene Punkte in der Umsetzung, die nicht durchdacht erscheinen (bspw. die wechselnden Konventionen bei den Bezeichnern für Funktionen der Standardbibliothek) oder fehlerhaft sind (Beispiel).

Hinsichtlich der Verbreitung von PHP ist es falsch, wenn Leute behaupten, PHP würde kaum noch für neue Projekte gewählt werden. Zum einen ist beliebte Websoftware wie Drupal, Magento oder WordPress an PHP gebunden, zum anderen findet man sowohl komplexe Webseiten (Shops, Unternehmensauftritte), als auch natürlich Webseiten von Hobby-Entwicklern, von kleinen bis mittelständigen Unternehmen oder (temporäre) Kampagnenseiten, die auf einer PHP-Anwendung aufbauen.

Javascript fällt mir schwer.

Diese Sprache ist auch nicht so einfach. Diejenigen, die das Gegenteil behaupten, haben meiner Erfahrung nach sich die Sprache oft nur ziemlich oberflächlich angeschaut.

Ersetzen kannst du JavaScript durchaus. Seit neuestem z.T. durch WebAssemblies (z.B. via Blazor), aber ebenso mit Sprachen wie Google Dart, TypeScript, CoffeeScript, Skulpt (Python), Brython (Python) oder Elm. Letzten Endes werden diese zu JavaScript konvertiert, doch dir kann das egal sein, da dies ja erst nach der Entwicklungsphase folgt.

Html, css und php oder was anderes?

Für kleine Projekte, bspw. eine Hobby-Webseite reicht diese Kombination völlig aus und einen passenden Webhoster zu finden, wird so auch einfach fallen.

Alternativen zu PHP könnten bspw. JavaScript (über nodeJS), Dart oder Python darstellen. HTML könntest du mit Jade ersetzen und LESS oder SASS / SCSS statt CSS verwenden. Einen wirklichen Vorteil wirst du aber bei einer kleinen Seite dabei nicht herausholen. Ich würde es in diesem Sinne eher als Option für Experimente ansehen (Was gibt es? Wie funktioniert es?).


Tyldu  17.07.2019, 23:47

https://static.makeuseof.com/wp-content/uploads/2018/09/StackOverflow_Language_Popularity_Projections_670.png

PHP hat eine sehr weite Verbreitung. Verliert aber zunehmend an Relevanz. Die weite Verbreitung liegt an der häufigen Verwendung in Websoftware, wie du schon erwähnt hast. Es werden immer weniger neue Projekte mit PHP gestartet (Alles wo man selbst keinen PHP schreibt zählt dabei für mich nicht wie zb bei CMS).

0
regex9  18.07.2019, 01:51
@Tyldu

Das Diagramm zeigt eine Auswertung der Fragen zu PHP auf StackOverflow. Auch wenn auch deine Aussagen nicht falsch sind, würde ich in dem Zusammenhang doch eher andere Statistiken heraussuchen.

Zudem noch eine Anmerkung zu CMS: Inwiefern dieses mit Plugins oder eigenen Modulen erweitert wird, steht doch völlig offen. Dessen Aufgabe ist in erster Linie nur die einfache Datenverwaltung. Es garantiert keine Renderfunktionalität, wie es bei Webbaukästen der Fall ist. Es gibt viele Softwareunternehmen, die sich auf ein CMS festgelegt haben und mit einer kahlen Standardversion dessen ein neues Projekt beginnen.

1
Tyldu  18.07.2019, 01:58
@regex9

ich weiß und außerdem projeziert es in die zukunft, habe aber keine bessere statistik gefunden auf die schnelle. falls du eine findest bitte schicken.

Kenn mich mit CMS nicht allzu gut aus um ehrlich zu sein, aber ist es nicht leichter ist das ganze mit PHP zu erweitern (wenn das CMS darauf basiert), als dann noch extern einen nodejs server aufzusetzen (oder wie auch immer man das dann implementieren würde)?

0
regex9  18.07.2019, 02:46
@Tyldu

Einen Webserver benötigst du sowieso, da CMS meist als Webanwendungen umgesetzt sind. Diese stellen im Grunde genommen, grob, lediglich eine grafische Oberfläche für technisch nicht so versierte Nutzer zur Verfügung, in der (meist in einer Baumstruktur) die logische Seitenstruktur erstellt werden kann. Die Items in dieser Struktur zeigen die Felder an, die ihnen ein (Seiten-)Template vorgibt. Diese Felder stehen meist in Assoziation mit Inhalten (Überschriften, Texte, Videolinks, ...), die später auf der Webseite platzhaltermäßig eingefügt werden sollen.

Das CMS übernimmt die Speicherung dieser Daten in einer Datenbank und stellt eine API zur Verfügung, über die man auf die Items und ihre Felder zugreifen könnte.

Der Rest bedeutet in der Regel Eigenimplementation. Wenn man möchte, dass die Daten auf einer Webseite erscheinen, muss man sich oft eine eigene Anwendung bauen, die die Daten holt, gegebenenfalls filter, kombiniert, u.ä. und dann rendert.

Ein CMS nimmt auf jeden Fall zuerst einmal Arbeit ab und vereinfacht die Wartung enorm. Doch die Logik, wie die gespeicherten Daten behandelt werden sollen, muss nach wie vor von einem Entwickler kommen. Klar gibt es auch CMS wie WordPress, in denen man für jeglichen Wunsch zwischen einer größeren Auswahl an Plugins wählen kann und dabei tatsächlich keinerlei Programmierkenntnisse benötigt.

1
Tyldu  18.07.2019, 03:24
@regex9

Konnte schon mal mit Joomla Erfahrungen sammeln, hat mich aber wenig überzeugt. Kam mir sehr eingeschränkt in der Gestaltung und Struktur der Website vor. Das ist aber schon so lange her, damals konnte ich nur gebrochenes JS also nicht sonderlich viel Erfahrung mit Web Development gehabt. Bei den Webseiten, die ich bis jetzt erstellt habe (mit nodejs) habe ich einfach immer selbst eine Kommunikation mit der Datenbank eingebaut. Mag aber unpraktisch sein, wenn man Webseiten mit vielen Inhalten hat oder nicht so versierte Nutzer diesen hinzufügen können müssen. Dann könnte man evtl. noch selbst ein System dafür schreiben. Naja wie auch immer, für meine Projekte war das bisher nicht von Relevanz. Danke für die ausführliche Erklärung!

0
regex9  18.07.2019, 01:37
(...) von kleinen bis mittelständigen Unternehmen (...)

Es sollte natürlich mittelständischen heißen.

0

vieleicht solltest du erstmal verstehen was das alles ist. Prinzipiell geht alles für Webseiten, zur not sogar Assembler wenn man alles von 0 programmiert, aber Sinn macht es nicht. C# ist nicht fürs Web gedachte... php ist nicht veraltet und wenn setzt man html, css (beides keine programmiersprachen), javascript und php gleichzeitig ein (+ in der Regel auch irgend eine SQL Datenbank). Darauf gesetzt noch diverse Frameworks.


Tyldu  17.07.2019, 21:07

Deine Antwort ist dezent verwirrend. Bitte mal eine Webseite nur mit Assembler erstellen, die von anderen auch geöffnet werden kann...

1
geheim007b  17.07.2019, 21:20
@Tyldu

einen Webserver kann man mit Assembler genauso programmieren wie alles andere auch... schicht für schicht bis hin zum HTTP Protokoll und am Ende den übertragenen html Code. Wäre natürlich unendlich aufwändig und vollkommener quatsch.... genauso gut könnte man dann gleich noch die notwendige Hardware dazu entwickeln :). Er könnte allerdings ja mal bei C# anfangen... gibt ein gutes Tutorial für C dazu mit dem ich vor Jahrzehnten angefangen habe...

https://beej.us/guide/bgnet/html/single/bgnet.html

Asm wäre nur noch ne ebene drunter. Aber wie gesagt, es scheitert bei ihm schon beim grundlegenden zu wissen was welche Sprache ist, wofür sie am besten genutzt wird und wie das ganze überhaupt aufgebaut ist.

0
Tyldu  17.07.2019, 21:27
@geheim007b

serverseitig alles, aber die seite an sich nicht. und wenn du dann das clientseitige javascript einfach als string an den client sendest zählt das für mich nicht wirklich...

0
regex9  17.07.2019, 22:50
@Tyldu

So etwas ist nicht notwendig. C# kann auf Grundlage von WebAssembly in modernen Browsern ausgeführt werden.

0
Tyldu  17.07.2019, 23:34
@regex9

webassembly war mir neu, ist ja aber auch noch relativ jung.

0
regex9  17.07.2019, 21:20

Mit .NET lassen sich Webanwendungen schon seit etlichen Jahren entwickeln und dies ist auch längst kein Randphänomen mehr. Viel eher steigt der Anteil solcher Anwendungen mehr und mehr.

4
Tyldu  17.07.2019, 21:28
@regex9

Und dafür wird PHP immer weniger. Ich denke python wird für sowas auch immer beliebter.

0

HTML & CSS sind erstmal nur Style bzw. Interpreter-Sprachen, aber natürlich trotzdem sehr wichtig zu lernen.

Als browser-frontend geht eigentlich kein weg an JavaScript vorbei (teilweise geht TrueScript, aber das ist auf Basis von JS)

Im Backend gab es früher PHP als nonplusultra, und es wird auch immernoch gut eingesetzt.
Der Trend geht aber dahin, dass andere Sprachen und Systeme im Backend eingesetzt werden (auch, um Flexibler zu sein).

Und da gibt es auch C# z.B. in ASP.Net Core

Woher ich das weiß:Studium / Ausbildung

PHP ist ja nur serverseitig. Clientseitig geht eigentlich nichts anderes als JavaScript. Serverseitig würde ich nodejs empfehlen. Ist aber auch JavaScript, aber das brauchst du ja eh. PHP ist alt und ich mag es nicht, geht auch stark zurück. Man kann aber serverseitig sehr viele Sprache nutzen zb C#, python, ruby, java. Theoretisch kann man eigentlich jede Sprache dafür verwenden, die in der lage ist HTTP Anfragen zu bearbeiten.

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler, B. Sc. Informatik

bluebird5  17.07.2019, 21:09

Och, es gibt so einige Gründe, PHP nicht zu mögen... https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Im Frontend gibt's inzwischen aber u.a. Babel, Coffeescript und TypeScript, mit denen man sein Frontend programmieren kann. Die werden dann zu JavaScript. Und WebAssembly ist der Next-Generation-Shit, der sich vielleicht durchsetzt.

1
Tyldu  17.07.2019, 21:15
@bluebird5

Ich mag PHP ja auch nicht. Und wie du schon selbst sagst, wird das alles zu JavaScript kompiliert.Wer JavaScript nicht kann, sollte mMn auch erstmal die Finger von solchen Upgrades zu JavaScript lassen. WebAssembly ist mir neu, hört sich interessant an.

0
Babelfish  17.07.2019, 21:20
@bluebird5
Och, es gibt so einige Gründe, PHP nicht zu mögen

Argumente von 2012 sind jetzt aber nicht aussagekräftig. Da hat sich seit PHP 5.3 schon viel getan.

0
Tyldu  17.07.2019, 21:24
@Babelfish

ist vermutlich noch immer so, dass vor jede variable ein $ muss oder? auch wenn die nicht in nem string steht.

0
Babelfish  17.07.2019, 21:58
@Tyldu

Ja, das ist immer noch so und es ist auch immer noch ein an den Haaren herbeigezogenes Argument gegen PHP.

0
Tyldu  17.07.2019, 22:03
@Babelfish

das ist kein argument. das ist für mich persönlich einfach einer der gründe, warum ich php nicht mag. es geht hier ja nicht darum ob php eine gute oder schlechte sprache ist sondern darum, ob man sie mag oder nicht. das ist eine vollkommen subjektive sache.

Wenn du aber diskutieren willst, dann sag mir warum ich PHP statt node.js verwenden sollte.

0
regex9  17.07.2019, 23:06
@Tyldu

Das $-Zeichen vor den Bezeichnern hat seinen historischen Ursprung aufgrund des Einflusses von Perl und technisch betrachtet, um Variablen von anderen Elementen (wie Konstanten) leicht unterscheiden zu können. Das Zeichen wird auch innerhalb eines Strings angegeben, wenn man sich auf die Variable beziehen möchte.

Einen Grund, wieso man dies ändern sollte, sehe ich nicht. Gerade dadurch wird es doch möglich, Strings oft sehr leicht mit Variablen zu verbinden, ohne erst irgendwelche format specifier angeben zu müssen.

1
Tyldu  17.07.2019, 23:32
@regex9

sehe auch keinen grund es zu ändern, aber genaus wenig sehe ich eben einen grund php zu nutzen.

0
Babelfish  18.07.2019, 00:08
@Tyldu

Ach, ich will dir Node.js garantiert nicht ausreden. Ist ein tolles System aber auch nicht direkt rein mit PHP vergleichbar. Das Pardon wäre dann vielleicht eher PHP + Symfony.

Aber als PHP-Entwickler muss man halt schmunzeln, wenn Javascript-Entwickler negativ über PHP reden…

0
Tyldu  18.07.2019, 00:15
@Babelfish

Warum muss man da schmunzeln? Aber ist doch was schönen andere Leute zum schmunzeln zu bringen.

0
Babelfish  18.07.2019, 00:23
@Tyldu

Weil Javascript nun auch nicht als moderne Programmiersprache bekannt ist und IMO erst ab ES6 langsam aufschließt. Nicht umsonst gibt es ja mit TypeScript oder Dart modernere und mächtigere Varianten mit JS-Transpiler.

Aber ich will hier weder Javascript schlecht machen, noch PHP loben. Beides hat Vor- und Nachteile und mir ging es nur darum, dass sich seit 2012 auch bei PHP viel getan hat und viele frühere Nachteile mittlerweile Geschichte sind.

2
Tyldu  18.07.2019, 00:30
@Babelfish

so isses. und ich schreibe halt lieber

var string = "string";
console.log(`This is a ${string}`);

als

$string = "string";
echo "This is a $string";

(+ zusätzlich vor jeder variable ein $-zeichen)

0

Dude, wenn du nicht mal bei einer Sprache bleibst (vor ein paar Tagen war C# doch noch leicht zu verstehen), wirst du nie irgendwas vernünftiges programmieren.

Zumindest im Backend ist C# eine Möglichkeit, im Frontend ist JavaScript (bzw. irgendwas, was mal zu JavaScript wird) der Quasi-Standard.


Tyldu  17.07.2019, 20:58

Er hat doch gefragt, ob er dafür auch C# verwenden kann^^

3