Webseiten erstellen (semi-professionell)?!

MrSwagPresident

Schraubenverwechsler(in)
Hallo zusammen,

ich wollte demnächst anfangen mir eine neue Beschäftigung für zwischendurch (am PC) zu suchen.

Ich hatte an Webseiten-Erstellung bzw. Webdesign etc. gedacht, da es relativ günstig (keine teure Software) ist und ich ein halbwegs kreativer Mensch bin.

Ich habe die letzten Wochen auch schon mit HTML rumgespielt und muss sagen, dass es echt Spaß macht.

Nun die eigentliche Frage: Was und wie lernt man Webseiten erstellen am besten und effizientesten? Ich hatte an ein Buch gedacht, nur gibt es unendlich viele. Ich wollte mich für den Beginn erstmal auf HTML, CSS und JavaScript/PHP beschränken. -> reicht das um schon halbwegs brauchbare Seiten zu erstellen?

Und eine letzte Frage: Wird so etwas auch in der Zukunft noch aktuell und evtl. mal brauchbar sein (also Webseiten-Erstellung mittels HTML etc.)
 
HTML und CSS sind die "absolute" Grundlage, damit lassen sich dann statische Websiten generieren. Natürlich solltest du auch halbwegs Grafiktechnisch fitt sein.
Wenn du das dann soweit verstanden hast kannst du dich mich JavaScript und/oder PHP beschäftigen. Bei der Nutzung von PHP ist außerdem eine Datenbank wie z.B. MYSQL oder SQLite zu empfehlen. Als "Sprache" dafür bietet sich m.E. DBO (PHP Data Base Object) an.

Erst mit PHP/JavaScript oder einer enrsprechend anderen Websprache kannst du dann Seiten erstellen die sich dynamisch an die Situation anpassen. Z.b alles was mit dem Login eines Benutzers zusammenhängt.
 
Gute Literatur ist immer empfehlenswert. Ich weiß da jetzt auch keine genauen Bücher, aber schau mal, was am meisten verwendet wird und die besten Bewertungen bekommt.

Ansonsten könntest du mal gucken, ob es bei dir einen VHS-Kurs oder ähnliches dazu gibt, dadurch lernt man häufig deutlich schneller.


Für die Nutzung von Datenbanken brauchst du aber schon wieder ein wenig mehr Wissen. Das ist mehr als ein kleiner Zusatz zu den gängigen Skriptsprachen :D
 
kannst ja hier schonmal nen bissl mit rein schnuppern - vllt hast du dadurch schon erste eindrücke ^^ ich mein, wenn wir uns da schon die finger wund tippen, dann soll sichs auch lohnen :P

zum thema buch - puh. bei html empfand ich selfhtml immer als ausreichend. php hatten mir nen paar internetz bekanntschaften beigebracht (browsergames zocken kann ab und an doch mal nützlich sein xD) und daher war auch hier kein buch von nöten (gut, ich hatte ja schon vorkenntnisse in c/java bla) und java-script und css... nuja, google halt xD also bei der thematik bin ich leider immer raus :/
 
Git auch gute Seiten im Netz, wie de.selfhtml.org . Du kannst auch, um dir die Erstellung des Html-teils zu erleichtern und zu beschleunigen ein Webdesignprogramm verwenden. Ich verwende das MS Expressionstudio. Expression Web ist seit einiger Zeit kostenlos, da die Entwicklung eingestellt wurde.
 
Also die Grundlagen habe ich immer bei Tutorials im Internet gelernt, und dann habe ich mir immer einfach überlegt was genau ich machen will, wie das zu erreichen ist und dann spezifisch zu einzelnen Problemen gegoogled.
Von daher kann ich außer Google auch keine Literatur empfehlen.
 
Nur ne Idee: Lern mal nicht, was alle anderen lernen. Sprich: Kein PHP. Überall wird über PHP gelästert und das auch zu recht. Lern mal lieber was modernes. Z.B. Ruby (mit dem Webframework Ruby on Rails) oder lieber noch go (mit dem Framework Revel). Oder sogar Python.
PHP macht nun wirklich fast jeder als Einstieg und es ist wirklich hässlich. Nur als Tipp: Du könntest dich später ärgern, mit PHP angefangen zu haben (wie ich).

Und auch was JavaScript angeht hätte ich eventuell eine bessere Idee: Probier auch hier was modernes. Z.B. Coffeescript. Die Sprache ist quasi nur ein Javascript, was aufgehübscht wurde und die schlechten Teile von JS halbwegs weglässt. Coffeescript wird dann in JS umgewandelt. Oder probier die andere Richtung: Versuch mit einer stark typisierten Sprache wie C++ deinen Code zu schreiben und wandel es mittels mehrerer Tools in asm.js um. Das ist sowieso ein sehr interessantes Thema.

Was ich nur sagen will: In so Foren empfehlen alle Leute immer das, was sie selber gerade können. Und niemand arbeitet sich in was neues rein, weil das zu aufwändig ist. Zieh es einfach mal in Erwägung einen moderneren Ansatz zu wählen.

Ach und eine Sache noch: CSS würde ich nicht als komplette Grundlage bezeichnen. CSS ist recht komplex und es dauert, bis man halbwegs alle Tricks und Kniffe kennt.

Grüße
 
Zuletzt bearbeitet:
Naja aber wenn man bereits andere Programmiersprachen beherscht (z.B.: C++) dann ist php wirklich easy zu lernen (grundsätzlich identisch) und man kann direkt n paar coole sachen machen.
 
Nur ne Idee: Lern mal nicht, was alle anderen lernen. Sprich: Kein PHP. Überall wird über PHP gelästert und das auch zu recht. ... PHP macht nun wirklich fast jeder als Einstieg und es ist wirklich hässlich.

PHP ist ohne Frage inzwischen ziemlich veraltet und eine extrem hässliche Sprache im Gegensatz zu Python z.B. (habe ich schon erwähnt, dass ich Python liebe ? Ihr dürft mich gerne Python Fanboy nennen ^^).

Meine Meinung ist immer folgende: Wenn man das als Hobby macht sollte man eine moderne Sprache nehmen, die machen auf jeden Fall wesentlich mehr Spaß als PHP.

Wenn man das mal beruflich machen möchte ist aber meistens die Sprache am sinnvollsten, die am verbreitetsten ist. Unternehmen können mit Leuten, die ihren Code nicht verstehen bzw. Code schreiben, den ihre anderen Mitarbeiter nicht verstehen, selten gebrauchen.

Und wenn man dann erstmal eine schöne Sprache benutzt hat, hat man ein Problem... Denn dann muss man sich jedes mal aufs neue überwinden eine hässliche Sprache wie PHP zu schreiben.
 
Naja aber wenn man bereits andere Programmiersprachen beherscht (z.B.: C++) dann ist php wirklich easy zu lernen (grundsätzlich identisch) und man kann direkt n paar coole sachen machen.
Hat er das irgendwo gesagt? Für mich hörte es sich an, als wenn er Einsteiger ist...

Meine Meinung ist immer folgende: Wenn man das als Hobby macht sollte man eine moderne Sprache nehmen, die machen auf jeden Fall wesentlich mehr Spaß als PHP.

Wenn man das mal beruflich machen möchte ist aber meistens die Sprache am sinnvollsten, die am verbreitetsten ist. Unternehmen können mit Leuten, die ihren Code nicht verstehen bzw. Code schreiben, den ihre anderen Mitarbeiter nicht verstehen, selten gebrauchen.

Und wenn man dann erstmal eine schöne Sprache benutzt hat, hat man ein Problem... Denn dann muss man sich jedes mal aufs neue überwinden eine hässliche Sprache wie PHP zu schreiben.

Grundsätzlich hast du Recht, aber eine Sache möchte ich anmerken: "In der Wirtschaft" werden Website fast immer mit irgendwelchen Frameworks erstellt und nie mit einer Sprache direkt. Und fast immer so ganz strikte MVC Frameworks. Und dadrin Erfahrung zu haben zählt mindestens genau so viel, wie in einer Sprache Erfahrung zu haben. Klar gibt es in PHP auch Frameworks... aber gut.
Außerdem hörte es sich wie gesagt so an, als wenn er das hobbymäßig machen wollte.
 
Ich könnte dir Grundlagen beibringen bis CSS :)

Was und wie lernt man Webseiten erstellen am besten und effizientesten?

Zuerst fängt man mit HTML-Grundlagen an, danach kommt CSS.
Bis da ist alles noch keine Programmierung, nur eine Formatierung.
Danach geht es an Programmiersprachen.
 
Zuletzt bearbeitet:
Grundlagen, in einer sinnvollen Reihenfolge sortiert:

1. HTML kennen, wie deine Westentasche. Es ist die Sprache, die die Struktur einer Seite beschreibt, d. H.: Was ist ein Link? Was ist eine Überschrift? Usw. Lerne es gleich richtig, verstehe alle Tags, die du einsetzt und kopiere nicht einfach nur Beispiele. Verwende im Normalfall HTML5. Vergiss die Charset-Deklaration nicht.

2. Du MUSST unbedingt HTTP verstehen, das Protokoll, über das Server (Computer im Internet) und Client (dein heimischer Rechner) miteinander kommunizieren. Das ist essentiell, bevor du über PHP, AJAX, Cookies oder irgendwas auch nur halbwegs kompliziertes nachdenken solltest. In aller Kürze: Der Browser schickt an den Server "Hallo, ich bin der Browser X und ich hätte gerne Informationen über die Ressource unter test.example/foo/bar, ich unterstütze folgende Techniken" Der Server beantwortet die Anfrage mit einem Response-Header und -Content; Theoretisch reicht es für die Basics schon, die entsprechende Wikipediaseite ab hier zu verstehen: Hypertext Transfer Protocol
Damit einher geht, dass du wissen solltest, was ein URL ist.

3. Du solltest ein bisschen was über Encoding wissen (Was ist UTF-8?)

4. CSS beschreibt wie die Elemente deiner Seite dargestellt werden (Abstände, Farben, Ränder, Schriftarten, -größen, Farbübergänge, Schatten, Hintergrundbilder, usw. usw.)

Bis hierher wird voraussichtlich auch in den nächsten Jahren alles gleich ablaufen, bei den folgenden Punkten mag es sein, dass sich andere Technologien durchsetzen werden, wer weiß (Glaskugel, Glaskugel...):

5. PHP wird hier ziemlich runtergezogen, ist aber eigentlich nicht schlecht. Es ist verbreitet, gut supported und einigermaßen flott. Wichtig für erweiterbare, komplexe Projekte (zu denen jede Seite irgendwann mal wird): Mach es gleich richtig! Arbeite mit Klassen und Objekten, lass dich nicht von Leuten abschrecken, die behaupten, dass sei kompliziert. Die OOP-Funktionalitäten von PHP können sich in aktuellen PHP-Versionen durchaus sehen lassen.
Aber PHP muss auch nicht sein: Python und Ruby sind gute Alternativen.
Das sind alles serverseitige Sprachen. Sie kommen zum Einsatz, bevor der Server das Dokument an den Client schickt, mit ihnen wird der HTML-Quellcode, oder auch der CSS, oder JavaScript-Code, oder Downloads oder was auch immer zum Client geschickt werden soll erstellt/verändert.

6. JavaScript ist eine clientseitige Sprache, d. h. für alles was passieren soll, nachdem der Server das Dokument bereits an den Client ausgeliefert hat. Das können aufpoppende Dialogfenster, Special Effects, oder auch AJAX sein.
Sehr zu empfehlen ist meiner Meinung nach eine JavaScript-Bibliothek, wie zum Beispiel jQuery. Das ist selbst für Einsteiger mit wenig/keiner JavaScript-Erfahrung sehr leicht zu lernen.

7. Datenbanken, z. B. MySQL (sehr weit verbreitet), MariaDB oder PosgreSQL. (Es gibt zwar auch nicht-SQL-Datenbanken, halte ich im Moment aber für nicht so wichtig) Wichtig ist vor allem, die SQL-Syntax zu verstehen, die jeweiligen Implementationen variieren oft nur leicht. Nicht jedes deiner Projekte wird eine Datenbankanbindung brauchen, aber vermutlich viele. Wie bei allem gilt: Lerne es ordentlich! Nicht einfach irgendwelche Datentypen nehmen "die halt funktionieren", sondern immer den besten passenden. Verwende Indizes. Verwende escaping-Funktionen oder prepared statements.
Für die Kommunikation PHP-MySQL empfehle ich PDOs (nicht DBOs wie hier jemand fälschlicherweise schrieb. ;-))

Fachwissen ist nicht alles, die richtigen Tools sind auch wichtig:

- Benutze als Quellcodeeditor, was deine Arbeit erleichtert und zu dir passt, nicht was "alle nehmen" oder "bei Tests gut abgeschnitten hat". Das kann ein Editor sein, aber auch eine IDE (Ich persönlich verwende Netbeans)
- Verwende ein RCS, wie z. B. git oder Mercurial. Du wirst es lieben, sobald du feststellst: Oh mein Gott, ich muss mit dieser Datei auf den Stand von letztem April zurück!
- Verwende einen Issue Tracker mit Zeiterfassung (Redmine, Trac). Du wirst es lieben, wenn du deinen Kunden Rechnungen schreiben musst, oder wenn du irrsinnig lange Listen mit Anforderungen per Mail bekommst und die sinnvoll verwalten musst
- Integriere dein RCS mit deinem Issue Tracker. Wenn das möglich ist, integriere deine IDE/deinen Editor mit dem ganzen Zeuch. Es wird dir unglaublich viel Arbeit sparen
- Verwende in deinem Browser die Entwicklertools; Alternativ Browserplugins wie FireBug und Co. Sie sind Gold wert, insbesondere für Tests von CSS, Mockups, Fehlersuche usw.
- Teste (zumindest nach größeren Designänderungen) in möglichst vielen unterschiedlichen Browsern
- Emuliere, worin du nicht nativ testen kannst (Android-Emulator wenn dir kein Android-Gerät zur Verfügung steht usw.)
- Was du weder emulieren noch direkt testen kannst, kann ggf. mit einem Dienst wie "BrowserShots" abgedeckt werden
- Ein Color Picker ist erstaunlich oft hilfreich
- Ein Taschenrechner auch
- Zum Upload der Daten auf den Server des Kunden empfehle ich FileZilla (für FTP) oder simples scp
 
Zurück