RagingPenguin schreef op donderdag 19 januari 2023 @ 14:26:
[...]
Plain JQuery zonder compatabilty zooi, vage plugins of extensions is inderdaad zo erg niet, maar ook best wel heel erg overbodig voor moderne JavaScript
Een reactive viewlayer is voor grote applicaties wel een flinke tijdsbesparing omdat je niet meer voor elke mogelijke actie een losse update functie hoeft te schrijven, maar enkel een functie van je state => jsx. Dus geen
addToDoItem, removeToDoItem, updateToDoItemTitle, updateToDoItemDone, orderToDoItems, updateToDoItemTags etc, etc (en die ook nog eens allemaal met elke mogelijk state van de DOM moeten kunnen omgaan) enkel een
render voor je array aan todo items.
Dat jQuery tegenwoordig minder nodig is door nieuwe JS features zit wat in en wil ik ook nog mee spelen (querySelectorAll etc).
Tot in welk detail je de DOM manipuleert, is een afweging. Een lijstje met items verversen hoeft niet per se een ramp te zijn, zolang je geen volledige page refreshes doet. Tuurlijk is een reactive viewlayer mooier bij complexe applicaties.
Maar hoe complex is de gemiddelde CRUD app?
Ik laat in mijn projectje het server side MVC framework gewoon de partial views renderen. Het JavaScript stukje is gewoon glue code die het gerenderde stukje in een div zet
Met Angular en React kun je uiteraard veel meer. Maar waar ik op mijn werk simpelweg tegen mijn werkgever zeg dat het veel werk is en langer duurt (los frontend in Angular bouwen, losse api in .NET 6), zoek ik in mijn privé projecten naar methoden om tijd te besparen (1 server side project, beetje JS hier en daar om het op te leuken).
En de eisen zijn dan ook niet zo hoog. Sowieso... een web app als gitea ben ik heel dankbaar voor bijvoorbeeld en dat is 95% gewoon page refreshes en server side rendering (Golang). Laatst zijn ze eigenlijk pas begonnen met Vue te integreren.
Ik probeer met een zeer beperkte vrije tijd een paar leuke tools te bouwen. KISS en YAGNI staan bovenaan
Op mijn werk zit ik "gewoon" met Angular te werken.
Al vind ik het wel grappig dat het implementeren van data attributes met jQuery eigenlijk een soort voorloper van directives is. Het plaatst dingen soms ook weer in perspectief.
Ik ben zó gewend geweest om binnen het Angular framework te werken met components, services, etc in Typescript dat ik ergens ook het contact met de basis ben kwijtgeraakt.
Laatst ook wat artikelen gelezen over hoe je een eigen framework kan bouwen... niet om dat te doen, maar gewoon om weer even wat hersencellen wakker te schudden hoe de boel achter de schermen eigenlijk werkt (proxies voor two way binding etc).
Anyways... er zijn zoveel dingen mogelijk. Web components zijn ook interessant, zeker als je ze pimpt met Lit.
Mijn probleem is alleen dat ik alles interessant vind, en daardoor te weinig voortgang boek. Dus even "back to basics" is niet verkeerd.
Eerst tool / website / whatever bouwen, daarna kan ik altijd nog kijken wat anders kan. Mijn doelstelling is na jaren al mijn energie op mijn werk gestort te hebben, ook weer eens iets voor mezelf te programmeren. Misschien open source ik het daarna wel... we'll see.
Bijkomend voordeel is dat ik in deze projecten lekker eigenwijs kan zijn
PS
https://youmightnotneedjquery.com/
Is wel handig voor mij

Ben wel weer geneigd een transpiler toe te voegen, but that kind of defeats the purpose. Op zich boeit het mij niet als IE niet werkt. Wat ik bijvoorbeeld wel erg handig vind in TypeScript, is async en await. Inmiddels ondersteunen moderne browsers dat ook in JavaScript.
PPS
Wel mooi dat ze op
https://blog.angular.io regelmatig schrijven hoe ze het Angular framework makkelijker kunnen maken, met bijvoorbeeld standalone components.
Het onderschrijft ook wel een beetje mijn gevoel dat het eenvoudiger kan. Standalone components zien er overigens wel interessant uit.
[
Voor 11% gewijzigd door
Lethalis op 20-01-2023 18:53
]
Ask yourself if you are happy and then you cease to be.