On 08/01/2022 13:00, bramante wrote:
> Il 05/01/22 21:51, Alessandro Pellizzari ha scritto:
>> - Parti da jQuery. Tanti diranno di no, ma è semplice, molto intuitivo e
>> ha un sacco di plugin
>
> dando questo consiglio, stai dicendo di imparare jQuery (una libreria) e
> non ecmascript (il linguaggio)
> questa non la capisco, se deve imparare un linguaggio client side,
> imapara il linguaggio non una libreria.
È vero che il 90% di quello che faceva jQuery è stato integrato in JS
nelle ultime versioni, ma proprio questo dimostra che è ben integrato
col linguaggio stesso.
E allo stesso tempo riesce ancora a semplificare alcune operazioni,
soprattutto sugli elementi del DOM.
L'OP conosce già diversi linguaggi C-like, quindi non ha problemi con la
sintassi di JS, ma solo con concetti più oscuri tipo la OOP.
Usando jQuery evita la OOP (spinge "gentilmente" verso un approccio
funzionale), deve comunque imparare il linguaggio di base, e diventa
produttivo in meno tempo. Meno frustrazioni e più voglia di andare avanti.
Poi con calma può approfondire i concetti più oscuri.
>> - Quando hai preso mano, e devi fare applicazioni più complesse,
>> guardati Svelte e Vue (o, bleah, React :P ). Lascia perdere Angular
>
> a questo punto ti chiedeo "perchè?"
> gli suggerisci di imparare una libreria e gli sconsigli un framework?
I framework, soprattutto quelli moderni, stravolgono completamente il
tradizionale flusso di lavoro di JS (funzionale ed event-based) per
andare verso il dichiarativo. È un cambio completo di mentalità e di
approccio ai problemi.
Non aiutano per niente a imparare il linguaggio, e dalle (centinaia,
ormai) di interview che ho fatto a "sviluppatori frontend" (che si
traduce quasi 1:1 con "sviluppatori React"), ho notato che una buona
percentuale non conosce JS, ma solo React. Si trovano in crisi a gestire
promise senza axios, o a usare map e filter sugli array, o non hanno
chiaro le conseguenze e i vantaggi della programmazione asincrona, e
mettono `await` ovunque "perché altrimenti non funziona".
Per non parlare di HTML e CSS :P
Quando inizi ad avere un'applicazione complessa, con diversi stati di
cui tenere conto, un framework moderno è l'unica salvezza (ma può essere
anche la tua tomba, se lo usi male).
È semplicemente un discorso di percorso di studio: parti semplice e
produttivo, poi impari i concetti più complessi un po' alla volta, e
alla fine fai il progetto grosso con i tool grossi.
Per non parlare dello scaffolding. Credo non esista più nessuno in grado
di inizializzare un'applicazione react senza create-react-app, mentre
per jQuery basta uno <script> nell'HTML.
Uno dei motivi per cui ho sempre odiato Java e ho abbandonato lo
sviluppo su Android, per esempio, è tutta la baracca necessaria per
scrivere un banale hello world: devi studiarti maven, gradle, la
sintassi del manifest, una particolare struttura di directory, il suo
dialetto XML per il templating, etc. All fine studi 4 linguaggi invece di 1.
Per lo stesso motivo non ho mai amato Symfony con PHP, e preferivo ZF o,
meglio ancora, Slim e Silex.
Lo stesso succede con i framework JS: devi studiarti npm,
webpack/rollup, JSX, oltre al lifecycle del framework e a tutte le
librerie (css-in-js, state management, etc.) con la loro sintassi e
grammatica.
È semplicemente un ostacolo troppo grosso all'inizio, e la gente finisce
con "una volta ho fatto un tutorial che fa così. Lo rifaccio ogni volta
uguale perché non so cosa succede se cambio qualcosa".
OK, mi fermo qui col rant. :D
Bye.