4 Hilfreiche JavaScript Utilities für PHP Entwickler | PHP Tutorial

Поділитися
Вставка
  • Опубліковано 9 лис 2024

КОМЕНТАРІ • 48

  • @VitalijMik
    @VitalijMik  4 роки тому

    Hast du irgendwelche JavaScript Snippets die du in jedem Projekt benutzt?

    • @johannesbeere5932
      @johannesbeere5932 4 роки тому +2

      Ich mag JQuery und mach sowas auch damit :-)

    • @zielgruppe663
      @zielgruppe663 4 роки тому +2

      > Hast du irgendwelche JavaScript Snippets die du in jedem Projekt benutzt?
      Heutzutage, zu Zeiten von NPM? Eher nicht. Die ganzen Frameworks und Libraries bringen so viel mit, dass man es meist nur noch verbinden muss und sich um die Business-Logik kümmern kann.

    • @VitalijMik
      @VitalijMik  4 роки тому

      @Marc Zahn ja das stimmt, allerdings werden solche Dinge wie etwa das Einblenden und Ausblenden von Elementen immer noch Manuell gemacht. Ich nutze ja meine Utilities.js nicht aus Spaß sondern weil es für mich sehr praktisch ist, die Darstellungslogik via Template zu steuern

    • @zielgruppe663
      @zielgruppe663 4 роки тому

      @@VitalijMik Was meinst Du mit "manuell gemacht"?

    • @VitalijMik
      @VitalijMik  4 роки тому

      @@zielgruppe663 dass du beim klicken ein Element hidest, oder du hast Radio buttons und basierend auf den Radio buttons must du bestimmte Divs einblenden oder ausblenden, das würdest du halt selber programmieren, du würdest ein selector für deine Radio buttons schreiben und dann die selectoren für die Target divs und dann eben die JS Logik da reinschreiben. Das meine ich mit Manuell

  • @espoleon_
    @espoleon_ 3 роки тому +1

    Dein Beispiel mit Toggle durch JS, lässt sich wunderbar einfach und ohne JS mit CSS realisieren. Die Pseudo-Klasse :target und mit display:none und display:block macht es möglich. ;-)

    • @VitalijMik
      @VitalijMik  3 роки тому

      danke für den Hinweis ;)

    • @espoleon_
      @espoleon_ 3 роки тому +1

      @@VitalijMik hier gibt es ein gutes Beispiel, nur mit CSS und anstatt der Pseudo-Klasse :target, wird hier type="checkbox" verwendet. Sieht sogar mit einer CSS Animation beim Auf- und Zuklappen, richtig gut aus: codepen.io/AdrianBece/pen/vYYrPzK

  • @janga8717
    @janga8717 4 роки тому +1

    Als Python Django Entwickler bedanke ich mich herzlich für dieses Video :)

    • @VitalijMik
      @VitalijMik  4 роки тому

      @Janga Dankeschön, dann schau dir eventuell auch noch die Clean Code Videos in der Playlist an, die Idee dahinter kann man auch auf Python anwenden ;)

  • @ZENBIS
    @ZENBIS 3 роки тому +2

    Hi Vitalij, ich steuere das Dom-Verhalten auch über die Attribute von Elementen. Allerdings ich mag es besser mit jquery zu arbeiten. Ich finde der JS-Code ist besser, aufgeräumter. Sowieso kommt man ganz ohne jquery nicht aus. Danke für das Video.

    • @VitalijMik
      @VitalijMik  3 роки тому

      Diese "helfer" nutze ich halt prinzipiell egal ob man jquery hat oder nicht, manchmal habe ich kleinere Seiten da will ich einfach kein jquery installiere. Heut zu tage darf man ja nicht mehr einfach CDN Verlinken und fertig bist du. Du musst es ja dann in Datenschutz eintragen usw.. ich bereite mir deshalb einfach eine kleine JS Datei und die binde ich ein und kann eben mit ein paar Attributen im HTML einiges steuern

    • @ZENBIS
      @ZENBIS 3 роки тому +1

      @@VitalijMik ja klar, du hast Recht, Nutzung von nativen JS vereinfacht einiges. Vor allem es gibt Browser die jquery Methoden nicht unterstützen. Dann muss man auf JS zurückgreifen. Ein Beispiel. Ich entwickelte eine Anwendung für Stapel-Terminal die noch mit dem IE ausgestattet sind. Hier müsste ich einige Methoden auf JS anpassen, obwohl die gleiche Anwendung auf dem PC Edge auch mit jquery super läuft. Trotzdem jquery ist für mich ein Favorit :-)

  • @groovebird812
    @groovebird812 3 роки тому +1

    Hi, was ist denn der Vorteil der Custom Events? Man kann doch eigentlich direkt Elemente auswhählen und einen Event-Handler nutzen (document.querySelector('[data-confirm]').addEventListener)

    • @VitalijMik
      @VitalijMik  3 роки тому

      Die Custom events kannst du besser bennen. Wie zum Beispiel show-hide aus dem HTML Code wird klar was eigentlich mit dem Element passieren soll. Ich steuere halt gerne das Verhalten vom PHP aus. In der Template engine definiere ich die data attribute und der javascript Part wird selten benutzt. Aus sicht von PHP ist es ein vorteil weil du generischen JS Code schreibst und die richtige Logik über HTML Tags steuerst

  • @ahadaha155
    @ahadaha155 4 роки тому +1

    meine Frage hat zwar weniger mit Toggle-Switches zu tun, jedoch mit plain-JS: Verwendet man heutzutage eig. noch die funktion history.back()? Oder war/ist diese zu unsicher, etc.?

    • @VitalijMik
      @VitalijMik  4 роки тому

      Warum sollte es unsicher sein?

    • @ahadaha155
      @ahadaha155 4 роки тому

      @@VitalijMik Weiß ich nicht - dieses "Argument" ist mir nur ins Hirn geschossen, da history.back(), was ich so beobachtete, im code kaum jemand verwendet hat. Gibts, deiner Meinung nach, dafür 1 Grund? Macht history.back() eig. EXAKT das selbe, wie der Zurück-Button des Browsers, oben links?

    • @VitalijMik
      @VitalijMik  4 роки тому

      Genau. Es nutz kaum jemand weil man es nicht wirklich braucht weil der Browser das hat

    • @ahadaha155
      @ahadaha155 4 роки тому

      @@VitalijMik Das heißt also, es ist auch kein Schaden, wenn man history.back() in 1 href-Attribut (oder sonst 1 (nav-) button) verwendet?

    • @VitalijMik
      @VitalijMik  4 роки тому

      @@ahadaha155 nein, du kannst es aber auch nicht steuern. Der user kann ja von externer Seite auf deine Seite kommen und würde dann mit deiner Navi wieder von deiner Seite weggehen. Schaden könnte es nicht, ist aber eventuell verwirrend.

  • @henning256yt
    @henning256yt 3 роки тому +1

    Schau Dir mal an, wie einfach es ist auch ohne Angula, Vue und co. (Vanilla) WebComponents zu bauen.

  • @zielgruppe663
    @zielgruppe663 4 роки тому +1

    Immer wieder die selbe Frage: Wer ist dieser ominöse User, der kein Javascript aktiviert hat? Die Inhalte sollten natürlich auch so sichtbar sein. Aus SEO-Gründen, für Sehbehinderte Menschen usw.. Aber Fallbacks für Funktionalität? Nee - Da ist es zielführender, den HTML-Code semantisch korrekt auszuzeichnen, damit Screenreader trotz Javascript etwas damit anfangen können. Vor allem, da auch Browser für sehbehinderte Menschen rapide weiter entwickelt werden.
    Es stellt sich ja auch immer die Frage, wie viele sehbehinderte Menschen auf eine Seite kommen. Ich gehe stark davon aus, dass der Anteil derer, die mit einem stark veralteten Browser kommen, selbst, wenn er verschwindend gering ist, wesentlich höher ist. Und für die würde ich auch keinen Fallback einbauen.
    Und jeder, der jetzt sagt, dass das verwerflich set, der sollte sich mal seinen Online-Shop, was auch immer anschauen, dessen Barrierefreiheit reflektieren und danach erst den Stein werfen.
    Und abseits dessen - Die, die aus irgendwelchen, mir unverständlichen Gründen Javascript deaktivert haben, dann haben die halt Pech gehabt. Da sind dann sicherlich viele dabei, die bei Windows keine Updates mitmachen und denken, sie würden Microsoft ein Schnippchen schlagen.
    Aber vielleicht gibt es ja hier einen derer und der/die jenige kann mir sagen, was die Motivation dabei ist.

    • @VitalijMik
      @VitalijMik  4 роки тому

      @Marc Zahn
      ich sehe es als eine kleine "Service Leistung" an. Wenn ich eine Webseite Crawle ist JavaScript natürlich deaktiviert und mit einer kleinen Message kann man ja den Entwickler des Crawler dann auf irgendwas hinweisen. Besser der Crawled deine Seite vernüftig statt es einfach sinnlos zu überlasten.
      Lazy Loaded Listen zum Beispiel. Ich baue dann eine Meldung ein dass die Liste komplett geladen wurde und baue dann eine Pagination an. Wenn der Content nicht da ist, da bringt auch nichts mit der Simantik korrekt zu arbeiten.
      Es ist halt wie mit Tests, man kann es optional anbieten muss man aber nicht ;) Besser wäre es aber. Ich bin da einfach noch zu altmodisch

    • @zielgruppe663
      @zielgruppe663 4 роки тому

      @@VitalijMik Was für Crawler meinst Du und was meinst Du mit überlasten?

    • @VitalijMik
      @VitalijMik  4 роки тому

      @Marc Zahn ich arbeite im Wissenschaftlichen Bereich und ich hatte schon öfters gehabt dass meine Seite voll beladen war weil irgend ein Informatiker Hiwi irgendwelche Daten von unseren Seiten Crawlen sollte, und statt eine API zu benutzen hat er eben die Seite direkt angesprochen. Das meine ich mit Überlasten wenn du ein Python Script hast der die ganze zeit dein HTML Code abfragt. Ein kleiner No JS Hinweis schadet halt nicht ;)

  • @sven2529
    @sven2529 4 роки тому +1

    Warum mag niemand jQuery?

    • @VitalijMik
      @VitalijMik  4 роки тому

      Aus dem gleichen Grund wieso niemand PHP mag, wenn man Programmierung nicht wirklich beherrscht, kann man den schlimmsten Code daraus produzieren weil "Nichts ist wahr, alles ist erlaubt" :D Es bietet dir Quick und Dirty Lösungen an die nicht unbedingt korrekt umgesetzt wurden.

    • @JuniasFenske91
      @JuniasFenske91 4 роки тому

      Weil es um Performance geht ... meistens benötigt man ja nur ein bis zwei scripts und muss dafür eine riesen Bibliothek laden. Viele Entwickler laden dann noch jQuery Migrate um alte Funktionen benutzen zu können ... unterm Strich 100 - 300 kb die man sich sparen kann ...

    • @hgfdhfdhfdh907
      @hgfdhfdhfdh907 2 роки тому

      @@JuniasFenske91 Habe noch nie an größeren Projekten gearbeitet, nur als Hobby aber ist das sooo schlimm wenn einmal 100kb geladen werden ?

    • @sinorteka762
      @sinorteka762 2 роки тому

      @@hgfdhfdhfdh907 ne, ist es heute nicht mehr. Für SEO ist jQuery alleine laden relativ irrelevant. Schau dir mal Magento Shops an, welche Unmengen an Code da geladen werden.
      Ich komme aus einer Zeit, als noch jedes KB gezählt hat. Aber die Zeiten und Techniken (Bandbreiten) ändern sich.

  • @atzepeng1322
    @atzepeng1322 4 роки тому +2

    Danke für Deine guten Videos. Aber: Niemand mag jQuery? jQuery ist Porno! Andere Frameworks sind auch gut aber so einfach wie in jQuery ist man nur selten unterwegs. Frage: Warum ist jQuery Deiner Meinung nach verhasst?

    • @retro-stuff-rocks
      @retro-stuff-rocks 4 роки тому +1

      Weil Du für die meisten Dinge kaum noch jQuery benötigst! Viele Dinge sind in plain JavaScript ähnlich einfach umsetzbar.

    • @VitalijMik
      @VitalijMik  4 роки тому

      @Arne Drews stimmt einerseits, andererseits gibt es auch in jquery interessante Tools die mir ab und zu fehlen. Zum Beispiel Drag und Drop, in jquery ist es echt einfach umgesetzt was ein Droppable Element ist und was Draggable ist usw.

    • @VitalijMik
      @VitalijMik  4 роки тому +1

      @Atze Peng jquery wird immer mehr und mehr aus den Meisten Projekten abgebaut, jquery ist so leicht aufgebaut dass man sehr schnell damit unübersichtlichen Quellcode macht. Es wurde am Anfang für kleinere Dinge gedacht und hatte Crossbrowser Dinge drin. In den neuren jQuery Versionen wurde auch der Support für IE eingestellt und somit ist das Top Feature mit Crossbrowser obsolet geworden.
      Jetzt wird sich auch noch bootstrap in der Zukunft von jquery lösen und viele Dinge wie etwa querySelector wird ja auch nativ von den Browsern angeboten. Der einzige Grund wieso man es heute noch lernen sollte ist es wenn man alte Projekte erweitern muss.

    • @retro-stuff-rocks
      @retro-stuff-rocks 4 роки тому +1

      @@VitalijMik Aber Drag&Drop ist ja nun nicht sooo umständlich, dass man dazu jQuery benötigt. Wenn es viele Dinge gibt, die man nativ nur mit großem Aufwand hinbekommt, macht ein Framework ja durchaus Sinn, aber wenn wir mal ehrlich sind, wird jQuery sehr oft für absolut einfache Dinge verwendet, bspw. Selektion, XmlHttpRequest, usw. Das sind alles Dinge, die ich mit nativem JS schlank genug hinbekommen kann, dass jQuery überflüssig ist. Ich habe auch eine kleine JS-Bibliothek für mich selber erstellt, de ich in meinen Projekten verwende. Die ist minimiert gerade mal 6kB und kann das grundlegendste genau so gut. Animationen unterstütze ich darin nicht, das geht mit jQuery einfacher, aber selbst das versuche ich immer erst mit CSS3 abzuwickeln. Ich meide jQuery und andere Bibliotheken/Frameworks eigentlich generell, wenn es geht.

    • @VitalijMik
      @VitalijMik  4 роки тому

      @@retro-stuff-rocks Ich finde Drag und Drop ist schon Umständlich. Ich meine ich würde es locker hinkriegen aber warum sollte ich das machen wenn es von jq angeboten wird? Vor jquery und ext.js hatten wir doch schon dass jeder seine Suppe kocht :D
      Ich verstehe schon den Ausmaß was man für ein Code mit jquery schreiben kann. Ich meide es auch aber wenn es im projekt eingesetzt wird zb wegen Bootstrap, da werde ich sicherlich nicht darauf verzichten;) Ich investiere lieber die Zeit in mein PHP Code und versuche generell JS nur rudimentär einzusetzen

  • @codevikings4269
    @codevikings4269 4 роки тому +1

    Wie niemand mag JQuery...??? Wieso, weshalb, warum?

    • @VitalijMik
      @VitalijMik  4 роки тому

      @ohbione weil man damit viel schlechten Code schreiben kann ;) Es wird aktuell überall rausgebaut wo es nur geht

    • @codevikings4269
      @codevikings4269 4 роки тому +1

      Vitalij Mik ohh, schade, habe gerade angefangen mivh mit Jq anzufreunden

    • @VitalijMik
      @VitalijMik  4 роки тому +1

      @ohbione es schadet nicht jquery zu kennen weil es immer wieder alte Projekte geben wird die jquery anwenden. Wenn du aber ein Projekt entwickelst welches in 2 Jahren oder so rauskommen soll. Dann würde ich auf Vue.JS setzen. Das lässt sich am besten mit PHP Vereinbaren und moderne PHP Frameworks wie etwa Laravel empfehlen das auch.