Imparare i framework prima di Javascript

Giovedì 28 Maggio 2009 - 09:14

di Cesare Lamanna

Scripting

Credo che lo scenario tracciato in questo intervento sia tutt’altro che infrequente di questi tempi.

Ho una conoscenza molto basilare (se non vaga) di Javascript e delle sue potenzialità, scopro questi celebratissimi framework, intuisco che sono strumenti fantastici, salto sul treno, ci do sotto, imparo ad usarli, alla fine riesco magari a imparare bene jQuery, MooTools o Dojo e a farci cose fantasmagoriche. Ma intanto le mie conoscenze del linguaggio Javascript sono rimaste molto basilari (se non vaghe).

È più o meno l’esperienza dell’autore del post, Jack Franklin, e queste sono le parole con cui chiude:

Ho iniziato a usare jQuery con una conoscenza molto molto limitata di Javascript, e non me ne sono pentito. Fino a quando non ho voluto fare qualcosa, ho cercato “funzione jQuery per fare questo qualcosa” e non ho trovato niente.

jQuery non è un linguaggio. jQuery è un add-on basato su un linguaggio di programmazione, Javascript. Metaforicamente, non si può costruire una casa senza le fondamenta. Lo stesso si può dire in questo contesto. La mia opinione è che imparare Javascript prima di jQuery non è di per sé una necessità, ma è qualcosa che certamente avrà i suoi vantaggi nel futuro. Non sto suggerendo che è necessario imparare Javascript nei minimi dettagli, dall’inizio alla fine. Ma una conoscenza di base del linguaggio potrà portarvi lontano.

Come la mettiamo?

Tags:

Categoria: Scripting | Permalink

Commenti

1

Non mi è mai capitato. Ho sempre letto le guide dall’inizio alla fine, ho prodotto qualcosa di completo in modo da imparare il linguaggio, ovviamente facendo vaccate su vaccate, poi ho imparato come gli altri hanno fatto di meglio, e poi ho usato i loro prodotti.

Mi è capitato con PHP (ho imparato il linguaggio, ho realizzato un intero sito, poi ho scoperto cakephp, l’ho studiato, e poi l’ho utilizzato nei siti successivi), con Javascript (imparato, usato molto con tante brutture, solo poi jQuery), e con C++ (che però ho imparato a scriverlo bene da subito altrimenti non vai avanti).

Comunque è un discorso applicabile solo a linguaggi (ed argomenti) importanti, se ti servono un paio di API per un progetto, la prima volta le usi e amen, se poi ti serviranno allora ci vai più a fondo.

# - postato da Slam - 28 Maggio 2009 - 09:32

2

Condivido in pieno il pensiero di Jack Franklin. E vedendo cosa si riesce a fare con javascript anche senza usare alcun framework come il buon Michael Leigeber (quello dei javascript da 2KB) ci insegna, sono arrivato al passo successivo: studiarsi per bene javascript.

# - postato da Daniele - 28 Maggio 2009 - 09:47

3

In effetti concordo con la conclusione dell’autore del post: capire il linguaggio, prima ancora del framework, è fondamentale nel momento in cui l’applicazione diventa via via più complessa.

Non basta infatti conoscere una qualsiasi libreria per avere un’organizzazione efficiente degli script (es. codice ad oggetti, performante, facilmente riutilizzabile, scalabile e non intrusivo). Per questo è necessaria molta pratica che deriva dall’esperienza e dalla conoscenza del linguaggio.

# - postato da Fabrizio Calderan - 28 Maggio 2009 - 09:54

4

dirò una banalità, ma la cosa ha il suo peso: l’autore del post ha 16 anni.

# - postato da balanza - 28 Maggio 2009 - 10:31

5

ciò che dice Franklin non può non essere condiviso… è un discorso di buon senso… infatti dice che “una conoscenza DI BASE del linguaggio potrà portarvi lontano”…

Calderan rincara la dose e la mette sull’efficacia… e anche lui non può non avere ragione…

vorrei solo fare una riflessione…
un framework .js nasce appunto per essere usato ANCHE senza sapere “cosa c’è dietro”…
è un po’ come il so-a-icone-e-finestre: c’è l’icona crea nuova cartella, la clicchi e crei una cartella… cosa succeda dietro chi lo sa?!

certo se invece lo sai… hai una marcia in più…

buona giornata a tutti :)

# - postato da EsseZeta - 28 Maggio 2009 - 10:40

6

Salve.

Sono d’accordo con l’autore del post: internet trabocca di contenuti (tips&tricks) con cui posso fare tante piccole cose: grazie alla formula “scarica-copia-incolla-pubblica” siamo tutti webmaster.

Poi magari mi viene chiesto di fare “qualcosa in più”, e diventa necessario essere capaci di usare gli strumenti (non necessariamente essere esperti o certificati o laureati), per fare quell’in-più.

Vista poi la pervasività e l’estensione delle tecnologie informatiche e alla vastità di quelle web, se si aspetta di diventare esperti (o leggersi tutta la documentazione) prima, si finisce con l’essere mediamente preparati su una tecnologia vecchia di qualche generazione o peggio ci si rende conto che quella conoscenza da sola COMUNQUE non basta a fare il tutto.

L’esperienza e le opportunità lavorative (o di studio personali) ci consentiranno di acquisire col tempo quanto necessario ad essere pronti: o è un progetto totalmente incentrato su una piattaforma e quindi devo essere esperto, oppure è un progetto dove serve di tutto un pò, e allora mi tocca restare in bilico tra le tante materie richieste.

saluti e buona giornata

# - postato da Giuseppe Napolitano - 28 Maggio 2009 - 11:04

7

Bah.

Javascript è decisamente diverso da ogni altro linguaggio “standard” diciamo, compresi i vari php, java ecc che vengono utilizzati come backend… Impone un modo di programmare completamente diverso, e spesso per raggiungere l’obiettivo non vale semplicemente la pena conoscere bene JS.

La mia conoscenza di JS è abbastanza scarsa, ma conosco abbastanza bene jQuery (come tutti credo :)). Credo che arrivati ad un certo punto le due cose siano separate l’una dall’altra, la conoscenza di uno non implica necessariamente la conoscenza dell’altro.. Finché ci si limita ad un codice che somiglia abbastanza alla programmazione “standard” in PHP, per me non ci sono ragioni valide per imparare bene JS, se non per conoscenza personale…

# - postato da lloyd27 - 28 Maggio 2009 - 11:26

8

io rappresento l’inverso: conosco abbastanza bene javascript e non ho mai usato alcun framework e non ho mai avuto chissà quali difficoltà.

Se un framework dovesse rivelarsi utile per snellire moli di lavoro lo userei volentieri ma se devo essere sincero, gli effetti grafici in javascript non mi piacciono.

# - postato da Paolo - 28 Maggio 2009 - 12:22

9

… fosse solo jQuery, il popolo dei copia e incolla che se non trovano lo snippet pronto stanno bloccati giorni a cercare (per cose a volte estremamente banali con una conoscenza almeno base) e’ vasto … ma per quel che pagano in italia, mi sembra normale che per la maggiore le skills siano cosi’ limitate. Fatevi un giro nel forum JavaScript di HTML per capire di cosa sto parlando, a volte piu’ che un aiuto verrebbe voglia di insultare … per concludere, lo leggerete il libro JavaScript che sto editando e che uscira’ in autunno anche se sara’ in inglese? :D

# - postato da andr3a - 28 Maggio 2009 - 12:25

10

Concordo tra chi distingue tra uso professionale (ossia: se mi spaccio per programmatore, il linguaggio lo dovrò pur conoscere…) e tra chi - pur facendo un lavoro attinente al web - ha esigenze mirate e puntuali. Per esempio credo che un framework come jQuery sia ottimo per far creare qualche effetto visuale a chi ha una buona conoscenza dei css e non vuole addentrarsi oltre nei meandri della programmazione. O almeno non subito.

Didatticamente, può essere inoltre un buon modo per spiegare concetti base di javascript dando qualche esempio più visibile e concreto. Voglio dire: un conto è spiegare gli if… else… in astratto o con esempi fittizi… un altro è spiegarlo con una finestra modale, un accordion ecc.

# - postato da Andrea Crevola - 28 Maggio 2009 - 12:55

11

Javascript è un linguaggio nato per riportare quello che si poteva fare con un linguaggio funzionale come scheme con una sintassi c-like (sintassi c,java,perl,php….).

E’ un linguaggio che integra dentro di se principi di programmazione procedurale, funzionale e orientata agli oggetti (non alle classi in quanto non esiste il concetto di classe ma può essere simulato).

java non ha i moduli, non ha namespace, non ha ereditarietà di classi ne classi, ma la ricchezza del linguaggio permette di simulare tutte queste cose degli altri linguaggi.

La maggior parte dei programmatori usa javascript come fosse un linguaggio procedurale come java.

Ma java e javascript sono completamente diversi come funzionalità e implementazione.

Quindi javascript a una sintassi molto simile a java ma ha una struttura completamente differente.

Pochi conoscono il concetto di closure, monade, funzioni anonime, currying e altro applicati a javascript.

# - postato da sasuke - 28 Maggio 2009 - 17:56

12

jQuery è un framework che, come tale, serve a *sviluppare* per cui ritengo ovvia la necessità di conoscere il linguaggio con cui si intende sviluppare (@5 il “so-a-icone-e-finestre” è invece fatto per essere usato).

Personalmente ho usato pochissimo jQuery ma ho usato molto e (credo) con successo Ext e posso dire che senza la buona conoscenza di JavaScript che ritengo di avere, le applicazioni più complesse non avrei potuto farle.

# - postato da Gianluca - 28 Maggio 2009 - 18:39

13

@Gianluca

jQuery è un framework che, come tale, serve a *sviluppare* per cui ritengo ovvia la necessità di conoscere il linguaggio con cui si intende sviluppare (@5 il “so-a-icone-e-finestre” è invece fatto per essere usato).

hai ragione… dici cose che hanno senso… ma col tuo appunto mi permetti di precisare il mio discorso…
io credo appunto che .js è fatto, come dici tu, per *sviluppare* (originando una creazione), mentre jQuery è fatto per-usare-.js (combinando crezioni già date)…

almeno così faccio io, che riesco a servirmi di jQuery nei miei sviluppi anche se in .js so a malapena fare GetElementById…

:p

# - postato da EsseZeta - 28 Maggio 2009 - 19:55

14

Sono d’accordo con Jack Franklin ma secondo me c’è un aspetto in più. Nel mio caso il framework mi è stato utile per imparare e avvicinarmi a javascript. Praticamente ho fatto il processo inverso nato dalla curiosità.
Quando utilizzavo un funzione di MooTools per esempio mi andavo spesso a vedere cosa faceva esattamente quella funzione e ora dopo tanto tempo mi capita sempre più spesso di custruirmi classi uscendo dal raggio del FrameWork che sto utilizzando.
Esperienza mia almeno…. :)

# - postato da paxal78 - 29 Maggio 2009 - 10:11

15

Mi sembra che nessuno consideri il discorso della compatibilità… diversi browser hanno implementazioni di js diverse. Un framework come jQuery dà una base affidabile su cui iniziare a programmare. Dopo di che uno non è costretto a copiaincollare qualche snippet o usare i plugin: uno può programmarsi quello di cui ha bisogno, solo senza preoccuparsi di gestire AJAX a mano, o dell’assenza di funzioni per le operazioni standard sugli array ecc.

# - postato da Andrea - 30 Maggio 2009 - 17:42

16

I framework non possono sostituire un linguaggio. Una cosa del genere è impensabile! Sarebbe come riscrivere interamente un linguaggio…ci pensate?!

Secondo me bisogna imparare le basi del linguaggio e successivamente imparare il framework.

D’altra parte i framework javascript sono necessari per evitare problemi di compatibilità fra i diversi browser (basta pensare all’oggetto XMLHttpRequest).

# - postato da Giacomo Ratta - 05 Giugno 2009 - 00:09

17

viva l’usabilità O_O
http://www.jackfranklin.co.uk/.....ources.php
Inoltre, senza nulla togliere a questo ragazzino. Ma con tutte le fonti autorevoli nel web proprio questo Jack avete trovato?

# - postato da max - 16 Giugno 2009 - 15:58

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento