Angular, React oder Vue, kann man das auch ohne Framework machen?

Findest du Frameworks unbedingt notwendig?

  • Ohne Frameworks kommt kein gutes Ergebnis bei raus und es ist schweiriger auf zu bauen

    Stimmen: 5 71,4%
  • Ohne Frameworks kann man einfacher arbeiten und auch alle Sachen machen wie mit Frameworks

    Stimmen: 2 28,6%

  • Umfrageteilnehmer
    7
Ja es ist schon schwer durchschaubar geworden das Ganze. Nur Leute die genug Geld damit verdiehnen finden auch die Zeit sich alles genauer an zu schauen und wissen was die einsetzen koennen.

Ich hatte vor kurzen erst gedacht das ich mit den Grundlagen eigentlich alles gut genug bauen kann, jetzt sehe ich ein das beispielweise ein Nginx server eine super gute Sache sein kann, ein Node.js server genauso wie PHP cool ist und bei den Frameworks muss ich noch genauer kucken, zum Beispiel das Thema Infos aktualisieren ist zur Zeit fuer mich eine Frage wie man das am besten macht, mit meinen alten Kentnissen habe ich einfach eine WIederholungsschleife gebaut, sodass jede Sekunde nachgeschaut wird ob es Neuigkeiten in der Datenbank gibt fuer den angemeldeten Benutzer, jetzt bin ich am Nachdenken ob man sowas mit Websockets besser hinbekommt, welche eine Information senden bei Neuigkeiten oder ob Frameworks fertige Loesungen haben. Wobei ein Websocket auf zu bauen waere schon einfacher als sich in ein Framework dann ein zu arbeiten nur weil man infos Aktuallisieren will.

Oder wie macht ihr das den Leute, sagen wir auf der Webseite koennen sich Leute anmelden und Nachrichten schreiben und jetzt will ich so ein Hinweis beim Benutzer aufleuchten lassen, sobald er neue Nachrichten bekommt, was setzt man den dort am besten ein? Eine einfache Javascript Wiederholungsschleife die jede Sekunde nachschaut im Postfach? Eine Websocket Verbindung zur Datenbank? Oder mit einem Framework? Wahrscheinlich geht es mit jeder Variante, aber die beste Variante suche ich, das heist welche am wenigstens Performance kostet und schnell funktioniert;
 
BTCStorage schrieb:
ja das meine ich auch, es ist ja im Prinzip nur eine Notloesung wenn man jede Sekunde nachschaut weil man nichts verpassen will

Neben Websockets gibt es auch noch "Server Send Events", wenn es nur darum geht, den Client über eine Änderung zu Informieren bzw. kannst du die Information gleich im Event mitsenden - auf diese Weise braucht kein Client auf die DB zuzugreifen.

https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events

Als allgemeine Literatur kann ich dir z.B. "Node.js Design Patterns" empfehlen, falls du mit Node.Js arbeiten willst, um zu sehen, wie Entwurfsmuster sinnvoll mit JS zu verwenden sind bzw. welche bereits Teil der Sprache bzw. Laufzeitumgebung sind.

Gut fand ich auch: "Frameworkless Front-End Development" - da ich auch finde, wie schon andere schrieben, dass es gut ist, wenn man das ein oder andere zu Lernzwecken selbst implementiert hat und ein Grundverständnis entwickelt.

Aber wenn ich deine Fragen so sehe: ein Buch wie "Eloquent Javascript" komplett durchzuarbeiten wird sich lohnen. Es gibt dazu eine kostenlose Version auf der Webseite mit guten Übungen und Beispielen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: BTCStorage
Die ganzen Frontend-Frameworks sind bequem, du hast eine CLI wo du ein paar Checkboxen setzt und du bekommst Boilerplate für Vue mit TS, Vuex, PostCSS, Webpack, Babel, FancyNewShit9000Ultra und Hotreloading.
Wenn du dann ein ein Multidropdown brauchst machst du npm install vue-multidropdown-no12345 und schon kannst du es in deiner Seite einbinden ohne irgendwas neu bauen zu müssen. Und die meisten solcher Komponenten sind besser getestet als dein eigener Code.
Genauso haben die ihre eigenen Abhängigkeiten, mit und mit blähst du dein Projekt also ein Stück mehr auf.

Durch die Komponenten die man schreibt ist man gezwungen sauber zu arbeiten, dein Karten Element ist ein einer Datei mit allen Karten-Sachen und nimmt z.B. einen Title und Content entgegen.
An allen Stellen wo du deine Karte brauchst nutzt du dieses Element.
Wenn du einfach PHP ohne irgendwelche Template-Tools benutzt rotzt du sowas in ein echo wie es grade passt und nach 4 Wochen hast du Angst etwas dran zu ändern weil du dir sonst das HTML zerschießt.


Und so toll und bequem das programmieren ist, es ist teuer. Die Endgeräte müssen Megabytes an JS runterladen, interpretieren und ausführen. Grade auf (alten) Handys dauert das, und jedes Tutorial da draußen baut eine Todo-Liste oder einen Blog mit Frontend-Frameworks die für sowas nicht gedacht waren.
Die Enduser zahlen für deine Bequemlichkeit, und die Masse an Websites da draußen sind so simpel das der Mehrwert von diesen schweren Frameworks es nicht wert ist.

Soll nicht heißen "Frontend-Frameworks = immer scheiße", es ist eher "ein Blog braucht keine 5MB Javascript um mir einen Text anzuzeigen".
Wenn all deine Interaktivität durch 10x onClick setInterval und mouseenter erledigt werden kann ist es unsinnig ein JS Framework zu benutzen.
Zumal die ganze Toolchain der Frameworks unheimlich komplex geworden sind (die man erst einmal lernen muss wenn die Standard-Config nicht mehr ausreicht).

Du brauchst einen Blog? Nutz 11ty, du kannst mit Nunjucks genauso saubere "Komponenten" schreiben die du in deinen Layouts benutzt, nur mit 11ty schreibst du einfache HTML-Dateien ohne das der User irgendwelche Librarys laden muss.
Alles was du an Interaktivität für ein Hover-Menü & Co brauchst kannst du mit ES6 machen.
Oder mit Alpine wenn du DOM-Reaktivität mit Directives ala Vue/Angular an ein paar Stellen willst, aber eben wesentlich leichter (27kb minimized).

Deine Webseite hat einen Login und du hast zwei Seiten (Chat Übersicht & Chat)? Kannst du mit PHP (und Template Engines wie Twig & Co) oder Node (und Templates wie Nunjucks) machen und die nötige Frontend-Interaktivität für den Senden-Button mit JS manuell einbauen, egal ob das jetzt ein Interval für polling oder ein Websocket ist.

Alles was du mit React & Co machen kannst, kannst du genauso mit Vanilla Javascript manuell machen. Wenn man nicht wild drauf losschreibt kann man genauso sauber programmieren ohne in der alten jQuery-Callback-Hell zu landen.


Genauso wie man nicht für jedes PHP Projekt Laravel + 2000 Plugins braucht muss man nicht jede Webseite mit Frontend-Frameworks bauen. Beide bieten dir Abstraktion an die nicht kostenlos ist.
Das Problem bei den Frontend-Frameworks ist aber eben das es im Frontend ist, der User auf dem Gerät zahlt basieren auf Internet-Geschwindigkeit und CPU.

Das kann auch nach hinten losfeuern, heute brauchst du nur einen Websocket, 2 Ajax Calls und nen Hover aber wer weiß wie es in 5 Jahren aussieht. Eventuell bist du an an einem Punkt ist wo du dir denkst "jetzt haben wir 50% der Features von einem Frontend-Framework nachgebaut, hätten wir mal lieber direkt React genutzt".
Aber so funktioniert das halt mit Technical Debt, kurzfristig gute Lösungen sind nicht immer langfristig die richtige Lösung.
Wie schon gesagt wurde, als Hobbyist programmierst du meistens einmal und dann wird der Code selten nochmal angepackt wenn das Projekt überlebt und läuft.
 
  • Gefällt mir
Reaktionen: KitKat::new() und BTCStorage
Joshinator schrieb:
Genauso wie man nicht für jedes PHP Projekt Laravel + 2000 Plugins braucht muss man nicht jede Webseite mit Frontend-Frameworks bauen.

Ich denke mittlerweile das es natuerlich gut ist wenn man weis wie man Frameworks einsetzen koennte, vor allem wenn man Jobs suchen will und fuer Firmen arbeiten.

Wenn ich aber selber eine Webseite baue, mit der ich Bizness machen will, dann baue ich lieber alles erst mal selbst und kucke nach und nach wo man was optimieren kann.

Zum Beispiel wenn man CSS Frameworks benutzt dann sieht man auch oft Effekte die man anders haben will aber die allgemeine CSS Framework Datei stellt es so da. Da benutze ich dann lieber einige CSS Media Querys und mache alles so wie es mir gefaellt;

Fuer das Backend habe ich jetzt langsam auch neue Ideen, zum beispiel Nginx mit Apache Webserver zu verbinden kann viel bringen oder andere Sachen die eine Seite einfach schneller machen. Den was ich am aller meisten nicht mag, sind Webseiten die zu lange zum laden brauchen und wo dann auch noch staendig dieses Cookies akzeptieren geklickt werden muss und lauter Popup meldungen, da schliese ich dann direkt weider die Seite.

Man sollte natuerlich auch nicht zu viel Zeit damit vergeuden Frameworks hinter her zu laufen. Ich habe beispielweise als Freelancer auf einer Plattform Programme gebaut einige jahre lang und mir mit der Zeit so fertige Funktionen und Templates aufgebaut, das ist im Prinzip dann auch eine Art Framework, weil ich fuer jede Sache im Prinzip schon fertige Funktionen hatte, auf die gleiche Weise sollte ich mir fuer Webseitenbau einige fertige Templates abspeichern, dann kann mans eine eigenen Sachen immer wieder schnell einsetzen und das optimieren macht so auch mehr Spass wenn man nicht immer alles neu bauen muss und seine eigenen Funktionen schon auswendig kann.
 
Zurück
Oben