Moderne Web Entwicklung

chaos2oo2

Lt. Junior Grade
Registriert
Nov. 2011
Beiträge
326
Hallo,

ich möchte mir demnächst mal eine eigene Webseite zusammenbauen. Leider bin ich aktuell nicht mehr ganz auf dem Stand der Technik. Was ich damals so gemacht habe hat sich auf html4, php, ssi, perl, python und etwas css beschränkt (Programmieren ist für mich keine Thema, bin C++ Software Engineer). Mittlerweile gibt es jedoch viel mehr möglichkeiten. Kann mir jemand ein paar Tipps geben? Ich finde die Nadel im Heuhaufen nicht.

Noch eine Frage: "früher" wurden bei der Navigation von Internetseiten immer die nachfolgenden ".html" Dateien verlinkt (so nach dem Motto: <a href='index.html'>Home</a>). Mittlerweile findet man in der URL nur noch angaben wie "https://www.computerbase.de/forum/" oder "http://www.golem.de/specials/linux/". Wie ist diese Navigation "ohne" html files realisiert?


Viele Grüße
Michael
 
Zuletzt bearbeitet:
Ich habe letztens was mit Ruby on Rails gemacht, da ist es nur pathing, wird also in einem file konfiguriert und gemappt.

Das geht auch mit dem Webserver Programm selbst auch:
http://blog.pixelastic.com/2013/09/27/understanding-nginx-location-blocks-rewrite-rules/

Code:
location = /my-exact-file.html {
  rewrite /my-exact-file.html http://external-website.com/
}

Als Server ist nginX im Trend, flotter als Apache. Ansonsten der übliche Krams, PHP + CSS + JavaScript. Einiges an Funktionalität hat nun HTML5 direkt. Und dann die drölf Millionen sonstigen tools und scripts die einen zu einer Hochsprache treiben :D
 
Zuletzt bearbeitet:
chaos2oo2 schrieb:
da bin ich ja noch gar nicht so outdated :-D Servermäßig kann ich da nicht viel tun, da bin ich an meinen Webhoster angewiesen.

Da bist Du aber sehr outdated! :D

Es gibt heute so viele Cloud-Anbieter, deren Einstiegsangebot nichts kostet und für kleine Sachen und insbesondere zum Lernen mehr als ausreicht, dass ich mich nicht zwingend von einem Provider (PHP?) abhängig machen würde.

Schau Dir z.B. mal OpenShift an. Die unterstützen sehr viele Betriebssysteme und Sprachen out-of-the-box und man kann sich da richtig austoben.

Im Trend liegt reaktive Programmierung, node.js oder Vert.x wären hier interessant. Die PHP-Frameworks werden immer besser, und man kann z.B. mit Laravel wunderbar arbeiten, wäre dann halt nichts wirklich neues.

Client-seitig Html5, CSS3 und JavaScript, klar. Gibt hier auch viele Frameworks. Kommt halt darauf an, was Du machen willst. In JavaScript werden mittlerweile ja sogar Desktop-Anwendungen umgesetzt.
Ergänzung ()

chaos2oo2 schrieb:
Noch eine Frage: "früher" wurden bei der Navigation von Internetseiten immer die nachfolgenden ".html" Dateien verlinkt (so nach dem Motto: <a href='index.html'>Home</a>). Mittlerweile findet man in der URL nur noch angaben wie "https://www.computerbase.de/forum/" oder "http://www.golem.de/specials/linux/". Wie ist diese Navigation "ohne" html files realisiert?

Praktisch alle modernen Frameworks bieten mittlerweile eine Routing-Komponente. Laravell z.B. http://laravel.com/docs/5.0/routing

Davon unabhängig konnten Web-Server aber auch praktisch immer schon / -> /index.html umsetzen (lässt sich konfigurieren).
 
Das mit /forum anstatt /forum.html nennt man Rewrite Engine, siehe http://de.wikipedia.org/wiki/Rewrite-Engine
Du kannst also z.B. nach Belieben irgendein Name erfinden, z.B. /dasisteinsuperlink/start der dann auf dem Webserver intern auf /html/de/forum/index.php umleitet, die Besucher sehen allerdings nur den erfundenen Namen.
Das Ganze konfiguriert man i.d.R. in einer .htaccess Datei wo man solche Regeln definiert die vom Webserver jeweils vor dem Ausliefern von Webdateien angeschaut wird.

Bei HTML und CSS ist aktuell Responsive Design angesagt, d.h. das Design der Webseite passt sich auf die Grösse des Bildschirms an; Du kannst testweise mal auf CB das Browserfenster in der Breite verkleinern (bis auf 300 Pixel runter) und siehst den Effekt (geht allerdings nicht im Forum, auf der Home Seite sieht man es am besten).

Für eine Seite einfach mal so erstellen lohnt es sich aber sicherlich nicht da sich in alles reinzukämpfen, es gibt mittlerweilen viele gute Homepage Baukästen oder wenn nötig OpenSource CMS Lösungen mit x Templates die sich recht einfach verwenden lassen (bei letzterem nicht vergessen sich mit dem Thema Sicherheit und regelmässige Updates zu beschäftigen sonst wird man i.d.R. recht schnell gehackt).
 
Zuletzt bearbeitet:
wobei in der regel nicht auf einzelne scripte oder html dateien geroutet wird.. sondern auf controller klassen.. stichwort mvc
 
black90 schrieb:
Als Server ist nginX im Trend, flotter als Apache.
Das wird gern als Fakt hin gestellt und mit tollen Statistiken untermauert, aber dabei wird immer schön verschwiegen, unter welchen Situationen diese Werte entstanden.

- nginx beginnt OHNE jegliche Funktionalität außer den aller-einfachsten Aufgaben eines Webservers (statische Dateien ausliefern). Für alles andere muss man Module laden, die den Server belasten
- Apache2 beginnt mit sehr viel vor-aktivierter Funktionalität in Form von Modulen. Wenn man den Kram nicht braucht, schaltet man ihn einfach ab. Ein Apache, bei dem alles abgeschaltet ist, sieht dann fast aus wie ein nginx. Weiß nix, kann nix, aber macht sich toll in Benchmarks
- Apache2 verwendet in Standardkonfigurationen Forking als Prozess-Management. Das kann natürlich nicht mit dem immer auf Threading basierenden nginx mit halten. Verwendet man aber beim Apache einen Threaded MPM (MPM-Worker oder, noch schneller, MPM-Event), sieht die Sache ganz anders aus
- nginx - Fans reiten immer gern darauf herum, dass Apaches Fähigkeit, Konfigurationen nachträglich ordnerbasiert zu ändern (die allseits beliebten .htaccess - Files), die Auslieferung von Dokumenten verzögert. Ja, tut es... wenn man es nutzt. Keine .htaccess, keine Verzögerung. Die Wahlmöglichkeit, die Apache hier bietet, ist weitaus wertvoller.
- Selbst wenn man zig Module in nginx lädt, er kommt nie im Traum an den Funktionsumfang eines Apache heran
- Gern wird dazu noch folgendes Benchmark verwendet: Apache-MPM-Prefork + mod_PHP vs. nginx + PHP via FastCGI... Jap, ich mach auch mal n Benchmark, wo ich n Basis-Golf mit Anhänger gegen einen Astra OPC mit Renn-Tuning antreten lasse...

kling1 schrieb:
wobei in der regel nicht auf einzelne scripte oder html dateien geroutet wird.. sondern auf controller klassen.. stichwort mvc
In der Regel... wessen Regel?
MVC ist nicht übel, aber es gibt durchaus anständige CMS, die sich trotzdem nicht stur an MVC fest beißen, einfach weil MVC viele Sachen unnötig verkompliziert.

Die einfachste Möglichkeit eines Routings ist:
- zerlege die Request-Parameter
- schau darin nach einem Keyword, das mit dem Dateinamen einer Include-Datei überein stimmt
Eine solche Lösung kann genauso wunderschöne URLs liefern, 404-Handling übernehmen, Parameter filtern,.... und braucht im Hintergrund nicht einmal eine Datenbank, keine Controller-Klassen, keine Template-Engine,...
 
Daaron schrieb:
In der Regel... wessen Regel?
MVC ist nicht übel, aber es gibt durchaus anständige CMS, die sich trotzdem nicht stur an MVC fest beißen, einfach weil MVC viele Sachen unnötig verkompliziert.

Und moderne Frameworks vereinfachen das Ganze wieder so weit als möglich.


Daaron schrieb:
Die einfachste Möglichkeit eines Routings ist:
- zerlege die Request-Parameter
- schau darin nach einem Keyword, das mit dem Dateinamen einer Include-Datei überein stimmt
Eine solche Lösung kann genauso wunderschöne URLs liefern, 404-Handling übernehmen, Parameter filtern,.... und braucht im Hintergrund nicht einmal eine Datenbank, keine Controller-Klassen, keine Template-Engine,...

Der TE hat ja explizit nach modernen Techniken gefragt. Mir schien es auch so, als ob er das Rad nicht neu erfinden, sondern gängige Tools einsetzen möchte.

Ohne konkrete Informationen über Art und Größe des Projektes, sind gezielte Tipps natürlich schwierig. Jede Sprache hat ihre eigenen Frameworks mit Vor-und Nachteilen, auch wenn sich viele Konzepte (wie z.B. das Routing) fast überall wiederfinden.
 
soares schrieb:
Der TE hat ja explizit nach modernen Techniken gefragt. Mir schien es auch so, als ob er das Rad nicht neu erfinden, sondern gängige Tools einsetzen möchte.
Ja, aber da lautet die Antwort dann in der Regel: Schnapp dir eines der gängigen Open Source CMS und gut ist.
 
Was hat das Aufsetzen/Konfigurieren eines CMS mit Entwicklung zu tun?
Er nennt doch HTML4, PHP, Perl etc ...

Naja, was ist aktuell?
Schnell, robust, rießige Community -> PHP.
Speziell, komplexeres Backend, API Implementierung -> JSP/ASP.

Generell ist nichts wirklich "verboten", es war immer nur ein Mischmasch das sich falsch anfühlt :)

mfg,
Max
 
max_1234 schrieb:
Was hat das Aufsetzen/Konfigurieren eines CMS mit Entwicklung zu tun?
Kommt drauf an, ob man Sonderanforderungen hat, die man über eine selbst geschriebene Extension lösen möchte.
Außerdem schreibt sich n gutes Template inkl. JS-Magie auch nicht von selbst.

Der Löwenanteil der aktuell betriebenen Seiten basiert auf dem einen oder anderen Open Source CMS, Shopsystem oder Community-System. Warum soll man auch anders heran gehen, wenn man KEINE speziellen Anforderungen hat?

Er nennt doch HTML4, PHP, Perl etc ...
HTML4 ist aber so tot, dass es schon nicht einmal mehr stinkt. Die Knochen sind schon sauber abgenagt.
 
Daaron schrieb:
Ja, aber da lautet die Antwort dann in der Regel: Schnapp dir eines der gängigen Open Source CMS und gut ist.

Hier lässt sich also eine Regel formulieren. Interessant ;)

Falls der TE seine Anforderungen und Wünsche spezifiziert, kann man eventuell dahingehend eine Empfehlung aussprechen. Am Ende geht es nur darum 5 statische Seiten auszuliefern...
 
Und? Auch da will man im Zweifel schöne SEO-URLs mit Rewriting haben, meist gehört noch ein Formular dazu, man will evtl. mal was am Content ändern können, ohne erst am Code herum zu fummeln,...
Ja, tatsächlich lohnt sich ein CMS auch bei kompakten Landingpages, die quasi nix Interaktives (abseits von nem Kontaktformular) bieten sollen.
 
Zurück
Oben