Bester Einstieg in die Webentwicklung?

Ja wir haben uns eh alle lieb :D

@Joshinator Genau zum Thema "If all you have is a hammer every problem looks like a nail" gibt es noch ein weiteres Problem: Da wird die Lösung oder sogar schon das requirement auf die Möglichkeiten eines Frameworks hingeschnitzt. Und wie so oft passt sich die Problemstellung während der Umsetzung nochmal an und es entstehen weitere Probleme. Von der zwangsläufigen Koop (APIs, SSO) mit Buden die so arbeiten kann ich Lieder singen. Meistens läuft es darauf hinaus, dass es einfacher und schneller ist wenn ICH um die Probleme herumarbeite die durch DEREN frameworks entstehen.
 
Kann man so machen dann hat man eben Web Entwicklung wie vor 15 Jahren und ein Ergebnis das Buggy ist und kaum interaktiv weil es einfach zu anstrengend ist, das zu Fuss zu machen.

HTML CSS JavaScript ist nun mal, nicht das Non Plus Ultra. Es ist einfach so entstanden und heute müssen wir, irgendwie, damit klar kommen.

Svelte ist ein Beispiel wie das viel komfortabler von statten gehen kann. Es wird halt nur nicht nativ von den Browsern unterstützt und muss daher erst nach JavaScript compiliert werden.

Vielleicht kommt irgend wann ja noch sowas. Also das ein Framework dann eine eigene Sprache wird und den ganzen alten Mist mal ein wenig ablöst.
 
@kieleich
Welches/Welche Framework empfiehlst du den zum Einstieg bzw. für "Anfänger"? Also HTML/CSS und JavaScript Frameworks.
 
kieleich schrieb:
Kann man so machen dann hat man eben Web Entwicklung wie vor 15 Jahren und ein Ergebnis das Buggy ist und kaum interaktiv weil es einfach zu anstrengend ist, das zu Fuss zu machen.
Nochmal: Ob und welches Framework man verwendet hängt doch letztlich davon ab, was man machen möchte.

Noch ein anderer Blickwinkel dazu: Es reicht ja oftmals nicht ein Framework zu finden, welches technisch-architektonisch den eigenen Erfordernissen. Es gibt ja noch andere Aspekte. Zum Beispiel so fragen wie die Güte (was Bugs etc. angeht) und Fragen wie "gibt es das Ding in ein paar Jahren noch und wenn nicht, was mach ich dann?". Gerade im Webbereich haben wir es doch schon oft gehabt das es irgendwie ein hippes Framework gab und nach ein paar Jahren hört man nix mehr davon.

Wie gesagt ich bin nicht gegen Frameworks, Bibliotheken oder was auch immer man benutzt. Nur dieses undifferenzierte drauf gucken ignoriert halt auch ein paar Aspekte, die man vielleicht mit beachten sollte.
 
Ich mach das in meinen Kursen so:
1. HTML und CSS
2. Aufzeigen, was 1. nicht kann: JavaScript
3. Aufzeigen, was in 2. recht schnell komplex wird: VueJS
4. Thema "Daten": SQL
5. Thema "Verbindung von 2. und 3. mit dem Thema "Daten": (REST)-API

Für meine eigenen Projekte abstrahiere ich viel weg, hauptsächlich mit:
- Remix + Prisma + SQLite

Für den schnellen Prototyp:
- Django oder AdonisJS

Für eine simple, stabile REST-API:
- NestJS

Fazit: für jeden Job ein passendes Tool.
 
@kieleich So wie ich das bisher verstanden habe muss Svelte nicht kompiliert werden weil ein JS interpreter "einfach den Code nicht versteht" sondern weil das Endresultat more lightweight ist. Svelte kann aber auch nur mit "Wasser kochen", JS bringt alles mit was man für die Funktionalität braucht. Für Nodes gibt es Mutation Observer, fürs observen von Objects gibt es Proxies. Zu meinen die ECMA macht JS so weil sie es einfach nicht besser hinbekommen halte ich für arrogant. Wie gesagt: Für jedes Projekt gibt es das passende Tool und Frameworks sind toll, damit alleine käme ich in meinen Projekten aber nicht weit und muss im Gegenzug sogar Lösungen für die Limitationen finden in die sich andere mit Frameworks manövriert haben.
Und zum Thema "man lernt dabei nichts": Jemand der nur lernt in einem Framework zu coden wird sich schwerer tun umzulernen wenn sein Steckenpferd nicht mehr developed wird und die Heulerei gibt es ja alle paar Jahre.
 
Natürlich verwendet man Web-Frameworks, wenn man am Ende was haben will, das auch genutzt werden soll und es nicht nur um die Lernerfahrung geht.
Verschiedene Frameworks bieten auch verschiedene Abstraktionen, aber generell sind weit verbreitete Frameworks in jedem Fall geeignet, dass man damit einfach mal anfängt.
 
  • Gefällt mir
Reaktionen: kieleich
Oh mann... jetzt habe ich hier so viel gelesen und dabei war mein Post eigentlich nur als "Entwirrung" gedacht...

Meine Meinung:
  • Frameworks sind nix für Einsteiger, da man damit einfach die Konzepte nicht versteht (siehe auch mein Artikel dazu), und das ist essenziell. Svelte z.B. ist megagut, sveltekit noch besser - react sollte man am besten auch mal gemacht haben, Angular wird oft in Firmen verwendet und VueJS ist auch ne super Sache, ABER:
    • Welches lernt man denn jetzt? Und hat man damit dann für immer genug, oder muss man alle 2 Jahre ein neues Framework, eine neue Template-Sprache und eine neue API lernen?
    • Hat man irgendwas über JavaScript oder TypeScript gelernt, was einem bleibt? (modules, requirejs, wo das alles herkommt, warum man WebPack, Parcel und esbuild überhaupt gebraucht hat?)
    • Beim Debuggen sollte man verstanden haben, was ein Browser macht und was "prototypische" Programmierung ist, sonst wirds schnell schwierig
    • ES5 zu verstehen ist deshalb so wichtig, weil jedes Framework dieses "Format" immer noch als Output liefert
    • Ohne NodeJS zu kennen, kann man beim kleinsten Dependency Error AUFHÖREN mit lernen, weil man einfach nicht versteht, was schief läuft
  • Ohne Framework löst man die Probleme Stück für Stück selbst und erkennt nach und nach selbst, warum so zu programmieren Mist ist bzw. warum diese ganzen Frameworks überhaupt entstanden sind
Mein Rat lautet also weiterhin: Lern erstmal HTML, CSS und JavaScript OHNE Framework... da ist die Lernkurve gut zu bewältigen und man ist nicht so schnell frustriert. Danach lernt man ES6, ES... und Typescript (für JavaScript Klassen und neue Features). Wenn du damit durch bist, kannst du dir mal WebComponents anschauen... das ist das Grundprinzip für die meisten Frameworks und basiert auf JavaScript DOM Klassen ( new HTMLElement). Am einfachsten lernt man das wohl mit React, man kann aber auch das ohne Framework machen.

Auch wenn sveltekit mein absoluter Favorit ist (da es ein Compile-Time-Framework und kein Runtime-Framework ist - sprich: Es kompiliert selbst Templates zu nativen ES5 Funktionen, und kommt dadurch ohne dicke Runtime library aus, was schneller und kleiner ist), ist es noch seeehr jung. Ich würd damit noch nix bauen, was 10 Jahre gewartet werden muss. Für sowas würde ich wohl eher VueJS oder React nehmen. Außerdem fehlten beim letzten Mal, wo ich sveltekit ausprobiert habe noch ganz elementare Sachen wie Cache-Busting (sowas, wo man nen Hash an die js und css Files hängt, z.B. app.asdf834018434edddeeed.js, damit sie vom Browser bei Änderungen neu geladen werden). Unit- und Component-Testing war auch ziemlich grausig... Das mag alles inzwischen gefixt sein, aber sowas passiert halt bei dem neuesten heißen Zeug auch mal... wie viel Zeit ich schon in Framework-Boilerplate versenkt habe, unfassbar. Denk einfach mal drüber nach, ob du das auch machen willst.
 
  • Gefällt mir
Reaktionen: andy_m4
sandreas schrieb:
Mein Rat lautet also weiterhin: Lern erstmal HTML, CSS und JavaScript OHNE Framework
Würde ich auch zu raten. Es geht hier ja auch um ein Lernprojekt.
Die Grundlagen zu beherrschen ist bei jeder Sache absolut essentiell, wenn man gut in etwas werden möchte und niemals mehr als am Anfang nimmt man sich ausführlich die Zeit dazu.
 
  • Gefällt mir
Reaktionen: sandreas und andy_m4
Zurück
Oben