"richtiges" web programmieren

01/17/2015 21:36 Mr.Tr33#1
Moin,

ich habe mir gerade die Frage gestellt was richtiger und besser ist bei der Programmierung mit HTML & CSS, JS, PHP.

1. Ich habe mehrere Leute gesehen, die erstellen eine Webseite mit purem HTML, CSS und JS und laden dann den ganzen Inhalt mit JS nach.
2. Ich habe aber auch Leute gesehen, die ein HTML Code haben und darin PHP verwenden und CSS & JS halt um alles zu verschönern.
3. Aber auch habe ich Leute gesehen, wie mich, die ein PHP Code haben und darin einen HTML Code und erst ganz am Ende alles ausgeben und mit CSS & JS verschönern
4. Jedoch habe ich auch gesehen, dass Leute ein PHP Code haben, darin ein HTML Code und lassen es ausgeben und am Ende nochmal mit JS sämtliche Sachen nachladen.

Jetzt bin ich auf den Editor Brackets gestossen und er ist für HTML, CSS & JS Entwickler gedacht. Sprich für Punkt 1.
Was ist denn jetzt von den 4 Punkten, oder wenn es noch andere Variationen gibt, davon das richtigere?

Ich bin für alle Argumente, Ideen, Vorschläge etc. offen. Ich bin mir sicher, dass hier verschiedene Meinungen verträten werden :)

MfG
Mr.Tr33
01/17/2015 21:43 ~ JWonderpig ~#2
Ich (versuche) HTML von PHP Code zu trennen.
Ich nutze z.B. Twig. Dort habe ich ein HTML Template mit CSS&Javascript.

Was ich mich frage, warum ist ASP.NET so wenig verbreitet?
Dort gibt es ja eine saubere Trennung von HTML und C# bzw. Visual Basic
Vielleicht, weil es nicht so anfängerfreundlich ist?

Weil ich versuche mich derzeit an ASP.NET C#
01/17/2015 22:31 xEncounter#3
Richtige Struktur im HTML Dokument ist wichtig.

Für Das Gerüst wird HTML verwendet.
Für das Designen wird CSS verwendet.
Für Dynamik etc. verwenden wir Scriptsprachen.

Sachen wie:
Code:
<?php
$Hallo = "hallo";
echo '<h1 style="color:red">'. $Hallo.'</h1>';
<?
Wäre unsauber und ohne struktur.

Die saubere Strukturierte Variante wäre
Code:
<?php
$Hallo = "hallo";
?>
<style>
h1{

color: red;
}
</style>
<h1><?= $Hallo ?> </h1>
Was ich damit sagen will, ist das jede Sprache eine "Rolle" hat.

Alle Varianten sind machbar und teilweise auch geschmackssache.
01/18/2015 01:31 Reav0r#4
Quote:
Originally Posted by Caiv View Post
Ich (versuche) HTML von PHP Code zu trennen.
Ich nutze z.B. Twig. Dort habe ich ein HTML Template mit CSS&Javascript.

Was ich mich frage, warum ist ASP.NET so wenig verbreitet?
Dort gibt es ja eine saubere Trennung von HTML und C# bzw. Visual Basic
Vielleicht, weil es nicht so anfängerfreundlich ist?

Weil ich versuche mich derzeit an ASP.NET C#
Ein Grund dafür wird sicherlich auch sein, das man eigentlich nen Windows Server braucht um es so hosten. Sicher, es geht auch auf Linux mit mono, allerdings liegt bei der Entwicklung von Mono weniger das Augenmerk auf auf asp.net als dem normalen .net Framework. Daher ist für die meisten schon allein aus Kostengründen PHP die erste Wahl.
Weiterer Grund ist einfach, das gut 80% des Webs bereits mit PHP laufen und so die Neulinge immer PHP empfohlen bekommen, obwohl es bessere alternativen gibt wie Ruby und Python oder eben auch asp.net.

Zum Thema, ich denke das nicht "richtiger" oder "falscher" gibt, da es auf die größe und die Art der Anwendung ankommt. Einfache Seiten sind ok wenn man eben nur mäßig trennt, also css, js in ihre Files und html / php möglichst getrennt in einem File.
Aber sobald die Anwendungen größer werden, empfinde ich die MVC Architektur am saubersten und schönsten. HTML und Logik schön sauber getrennt mit TemplateEngines wie Blade oder raintpl oder wie sie alle heißen.

Bei ganz großen Anwendung empfinde ich die Trennung von Server und Client zusätzlich als sehr angenehm.
01/18/2015 01:37 Crossside#5
@OP
Es gibt kein "richtig" oder "falsch".. wie man das löst ist Geschmacksache.
Ich finde aber das man Php Code von Html Code trennen sollte.

HTML = Grundgerüst (Formulare usw)
CSS = Gestaltung
PHP = Serverseitige Dinge (Dateien,Datenbank, Berechnungen)
JS = Dynamisches
01/18/2015 12:24 Mr.Tr33#6
Quote:
Originally Posted by Crossside View Post
@OP
Es gibt kein "richtig" oder "falsch".. wie man das löst ist Geschmacksache.
Ich finde aber das man Php Code von Html Code trennen sollte.

HTML = Grundgerüst (Formulare usw)
CSS = Gestaltung
PHP = Serverseitige Dinge (Dateien,Datenbank, Berechnungen)
JS = Dynamisches
Also tendierst du zu Nr. 1? Genauso wie alle anderen hier?

Ich dachte jetzt kommen hier Argumente wieso man z.B. Variante 1 benutzen sollte, weil es z.B. für den Browser angenehmen ist oder so (ist jetzt ein Beispiel) :D

Wenn man aber den HTML Code nicht in den PHP Code packt, wie xEncounter es am Anfang seines Beitrags beschrieben hat, dann kann man ja gar nicht mehr einen User z.B. weiterleiten, ausser man wickelt alle Funktionen vor dem gesammten HTML Content ab was ohne Templates bei etwas größeren Projekten richtig aufwändig wäre.
01/18/2015 12:42 NotEnoughForYou#7
Quote:
Originally Posted by Mr.Tr33 View Post
Also tendierst du zu Nr. 1? Genauso wie alle anderen hier?

Ich dachte jetzt kommen hier Argumente wieso man z.B. Variante 1 benutzen sollte, weil es z.B. für den Browser angenehmen ist oder so (ist jetzt ein Beispiel) :D

Wenn man aber den HTML Code nicht in den PHP Code packt, wie xEncounter es am Anfang seines Beitrags beschrieben hat, dann kann man ja gar nicht mehr einen User z.B. weiterleiten, ausser man wickelt alle Funktionen vor dem gesammten HTML Content ab was ohne Templates bei etwas größeren Projekten richtig aufwändig wäre.
Es gibt andere Wege als ausschließlich mit dem header() Weiterzuleiten.

Dem Browser ist es prinzipiell egal ob man seinen HTML / PHP Code trennt, er bekommt so oder so nur HTML vom Server.

Bei der Trennung geht es eher um die Wartbarkeit und die Übersicht. Und im Laufe der Zeit hat sich eben herausgestellt das es praktischer ist, HTML und PHP Code zu trennen, besonders bei größeren Projekten. Dabei greift man dann auf Template Systeme zurück, die einem eine einfache Trennung ermöglichen (selbst geschrieben oder bereits vorhandene).
01/18/2015 12:47 KoKsPfLaNzE#8
fuer was brauchst du den logik in dem template dateien um den user weiter zuleiten?
ich nutze seit jahren das MVC System, habs unter ZF1 und2 und auch unter Symfony genutz, leider auch noch bei paar anderen und hatte dabei immer alle moeglichkeiten die man so haben wollte und der code ist um einiges einfacher und viel besser an x stellen zu verwenden, weil es geht im grunde nur darum schoeneren code zubauen den man leichter verstehen kann und nicht an irgendwelche templates gebunden zu sein, dem browser ist es scheiß egal.
01/18/2015 12:48 adistoe#9
Quote:
Originally Posted by Mr.Tr33 View Post
Wenn man aber den HTML Code nicht in den PHP Code packt, wie xEncounter es am Anfang seines Beitrags beschrieben hat, dann kann man ja gar nicht mehr einen User z.B. weiterleiten, ausser man wickelt alle Funktionen vor dem gesammten HTML Content ab was ohne Templates bei etwas größeren Projekten richtig aufwändig wäre.
Du kannst genau so gut alle Daten mit AJAX dynamisch an PHP leiten und die Antwort verarbeiten.
01/18/2015 12:51 NotEnoughForYou#10
Quote:
Originally Posted by adistoe View Post
Du kannst genau so gut alle Daten mit AJAX dynamisch an PHP leiten und die Antwort verarbeiten.
Würde ich wenn dann nur mit Fallback machen. Zumindest im professionellen Bereich.
01/18/2015 18:51 Crossside#11
Quote:
Originally Posted by Mr.Tr33 View Post
Also tendierst du zu Nr. 1? Genauso wie alle anderen hier?

Ich dachte jetzt kommen hier Argumente wieso man z.B. Variante 1 benutzen sollte, weil es z.B. für den Browser angenehmen ist oder so (ist jetzt ein Beispiel) :D

Wenn man aber den HTML Code nicht in den PHP Code packt, wie xEncounter es am Anfang seines Beitrags beschrieben hat, dann kann man ja gar nicht mehr einen User z.B. weiterleiten, ausser man wickelt alle Funktionen vor dem gesammten HTML Content ab was ohne Templates bei etwas größeren Projekten richtig aufwändig wäre.
Um User weiterzuleiten benutzt man bei sowas Javascript.. dafür ist Javascript da - dynamische Inhalte.

Beispiel? Gern

Code:
function weiterleitung()
{
 document.location.href="htttp://www.google.de/"
]
Wird nun weiterleitung() aufgerufen, wird der User zu google weitergeleitet.
Das ganze kann man nun auch noch Zeitverzögert per Time tun und ähnliche Spielereien. Per Header weiterzuleiten halte ich für "unsauber gelöst".

Man sollte die Mittel nutzen die einem von Js, Html, usw bereitgestellt werden und nicht alles auf Php abwälzen ;)!
01/18/2015 19:12 KoKsPfLaNzE#12
wer einen user ueber js weiterleitet muesste erhaengt werden, meiner meinung, das kann zu so vielen problemen fuehren
01/18/2015 19:16 devcode#13
Quote:
Originally Posted by Crossside View Post
Wird nun weiterleitung() aufgerufen, wird der User zu google weitergeleitet.
Das ganze kann man nun auch noch Zeitverzögert per Time tun und ähnliche Spielereien. Per Header weiterzuleiten halte ich für "unsauber gelöst".

Man sollte die Mittel nutzen die einem von Js, Html, usw bereitgestellt werden und nicht alles auf Php abwälzen ;)!
Und was passiert wenn der Benutzer weitergeleitet werden soll ohne den nachfolgenden Inhalt zu sehen, und Javascript aus hat? Es kommt immer auf den Anwendungszweck an.

Eine header Weiterleitung ist völlig in ordnung und nicht "unsauber gelöst".
01/18/2015 20:10 Crossside#14
Quote:
Originally Posted by devcode View Post
Und was passiert wenn der Benutzer weitergeleitet werden soll ohne den nachfolgenden Inhalt zu sehen, und Javascript aus hat? Es kommt immer auf den Anwendungszweck an.

Eine header Weiterleitung ist völlig in ordnung und nicht "unsauber gelöst".
Wieso sollte man einen User weiterleiten, und ihm dann den Inhalt wohin man ihn weiterleitet verstecken..? Bissen sinnlos meinst nicht auch?

Falls Javascript blockiert ist gibts ebenfalls noch ne HTML Weiterleitung, da brauchs nicht zwingendermaßen Javascript.

Code:
<meta http-equiv="refresh" content="5; URL=http://www.google.de/">
Leitet User nach 5 Sekunden auf Google um, ohne Javascript & header().
Sollte von so gut wie jedem Browser beherscht werden.

Du siehst - man muss nicht immer mit Serverseitigen Mitteln das ganze erledigen ;)
Wieso du aber jemanden wohin weiterleiten möchtest was er garnicht sehen soll.. das halte ich für fraglich / komisch^^ Da würde ich den User dann garnicht hinleiten wenn er es nich sehen soll.

grüße
01/18/2015 21:21 devcode#15
Gemeint ist der nachfolgende Inhalt bzw. der Code der nach der redirect Zeile kommt. <- Ja das macht wenig Sinn bei JS. War im Kopf bei php :D

Im Prinzip geht es doch nur darum eine sichere Lösung zu haben :)