Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di goat
    Registrato dal
    Apr 2003
    Messaggi
    1,154

    Imparare JavaScript: ne vale la pena?

    Lo so che può sembrare idiota aprire una discussione di questo tipo proprio dentro il forum dedicato a JavaScript, ma... voi mi consigliereste di imparare bene questo linguaggio?

    Io sono specializzato in XHTML e CSS, e modestia a parte mi sembra di cavarmela parecchio bene. Sempre attento alla corretta validazione e resa cross browser.

    Il fatto è che molte volte mi si chiedono effetti ottenibili grazie a JavaScript. E allora è tutto un cercare esempi, provare a modificarli, cercarne ancora ecc.

    Per la direzione che sta seguendo il web, ha senso imparare un linguaggio come JavaScript, secondo voi?
    E mettiamo pure che parto da zero: quanto mi ci vuole indicativamente per poter avere un'adeguata padronanza del linguaggio?
    Oppure tanto vale andare avanti ad utilizzare esempi già belli e pronti?

    Sono in una fase un po' così, e mi piacerebbe imparare un po' di robette nuove per aumentare le mie conoscenze in ambito lavorativo.
    Boh, ho 'sta fissa con JavaScript da un po' di tempo.
    Ma ho anche la fissa del montaggio video, che centra 'na sega, ma che mi attira altrettanto.
    Premetto che mi reputo tutt'altro che un programmatore. Anzi.

    Mah, provate a convincermi...
    goat
    "Qualunque impressione faccia su di noi, egli è un servo della legge, quindi appartiene alla legge e sfugge al giudizio umano."

  2. #2
    mmm la tua domanda non è scema sai...

    Allora, prima di risponderti con, ci tengo a precisare, la mia PERSONALE opinione (AKA se non siete d'accordo va bene, ma non fatene una questione personale) devo fare una piccola digressione verso un paio di nozioni:

    1- WEB 2.0
    Domanda da 1.000.000 di Euro: cosa vuol dire fare un sito pronto per i WEB 2.0?
    Risposta: IMHO, assolutamente niente! Ho visto una marea di sedicenti Web Designer che millantano di aver creato siti per il WEB 2.0 perché introducono AJAX ed Effetti JS. No, WEB 2.0 non è AJAX, dato che le richieste Asincrone di dati dallo stesso sito, ci sono da un bel po' di tempo, ne gli effetti tipo Slide, Scroll, Fade, Stretch, e così via. WEB 2.0 è interoperabilità dei siti, trasmissione dati in formati riutilizzabili, comunicazione di contenuti da parte di Client al server, e così via; riguarda sempre la fonte, la pluralità, la quantità di dati, non il modo in cui i dati vengono mostrati.
    Nota, so che non è una definizione completa di WEB 2.0, ma non volevo far luce sulla definizione, quanto puntualizzare su come introdurre JS in un sito non ne faccia un portale WEB 2.0

    2- Effetti JS
    Oramai, quasi tutti i siti inseriscono degli effetti per rendere la navigazione piacevole, spesso e volentieri sono effetti JS. Ora, io non ho nulla contro questi effetti (anzi, ne faccio ampio uso), ma ci sono dei limiti che davvero sono esagerati (per dirla tutta ci sono siti che ovunque passi il mouse, le finestre si aprono, i pannelli roteano, le scritte cambiano colore, e così via). Mi ricordo un corso sull'interazione tra l'uomo e la macchina che ho seguito all'università, il prof ci ha mostrato un sito, con parecchie animazioni in flash, chiedendoci poi se avevamo letto il titolo della pagina; nessuno aveva notato in che sito eravamo, dato che le animanzioni avevano preso tutta l'attenzione, impendendo all'utente di vedere le cose più ovvie (intestazione, link, header e così via). Certo un sito che mostra delle immagini può essere interessato ad avere una grafica molto animata, appunto per attirare gli utenti verso un'immagine piuttosto che un'altra, ma un sito pieno di contenuti risente molto se l'attenzione dell'utente è attirata dagli effetti.

    Ora, lette queste due piccole digressioni, ha senso imparare JS?

    A mio avviso, si! Ma, più che una ragione di funzionalità che di design:

    Mi siego, a chi non capita di dannarsi l'anima per rendere uguale la grafica con IE, Firefox, Opera, Safari e via dicendo? Renderla Assolutamente Uguale, è assurdamente complicato, e non è neanche leggero in termini di prestazioni (quasi tutti gli hack che conosco necessitano di mettere almeno 3 righe di codice in più alle regole più sciroppose). Oppure si deve fare il controllo del browser via server e passare il CSS impostato per il browser giusto, ma questo è possibile SOLO se avete un linguaggio lato server e non lavorate su HTML statico, inoltre non è detto che tutti i browser passino gli stessi header, bisogna fare controlli, tenere aggiornato il tutto, e così via.
    In genere, in queste cose io uso JS, vi faccio un esempio:
    Lavoravo su di un sito che, mea culpa suppongo, visualizzava in IE6 un div ad altezza 100 (non sono misure reali, ma tipo in IE6 la somma di tutte le variabili (offset, margin e via dicendo) era 100), in IE7 altezza 110, in Firefox altezza 90, in Opera altezza 93, e in Safari altezza 95.
    Ora, cosa, potevo fare? creare un CSS per ognuno di loro, oppure, semplicemente, implementare in JS un controllo per il Browser (usando Mootools, avevo già il controllo e dovevo solo controllare la versione di IE) e, a seconda del tipo e della versione, ho messo giù uno script che alterava l'altezza del div in modo giusto.
    Ovviamente, se uno non ha JS, lo vede sbagliato, ma questo è un esempio legato alla grafica non alla funzionalità.
    Quello che voglio dire è che JS permette di implementare quelle cose che servono da modificare SOLO lato client.

    Ora, solo per questo vale comunque la pena impararlo? No, certo, queste di cui ho parlato sono le PICCOLE cose, JS ha anche altre funzionalità un po' più, mi si passi il termine, cazzute.

    Molti sviluppatori, stanno sperimentando un'idea diversa di applicazioni online.
    Queste applicazioni nascono dalla necessità di alleggarire i carichi dei server perché non è raro imbattersi in un server che, fa il login, analizza il giorno, pubblica la news, QUERY sul DB per gli articoli, riodina la lista, crea l'albero ricorsivo, fa questo, fa quello, per aprire una pagina ci mette 3 secondi, quando c'è UN utente connesso, ne arrivano 10000, il povero server arranca implorando la pensione.
    Ecco che nascono applicazioni diverse alla cui apertura TUTTO il codice necessario al funzionamento viene caricato dal Browser, questo codice poi eseguirà TUTTE le opzioni, comunicando col server SOLO per avere i dati necessari. Ecco un esempio in cui JS da un contributo enorme: immagina un'applicazione JS, anche di qualche mb, caricata con una mega richiesta dal server, ma poi tenuta in cache dal browser, questa Applicazione ottiene i dati dal server tramite richieste brevi e poco pesanti per il server, così anche 10000 utenti ottengono i dati in pochi secondi. Le immagini le va a prendere da un server esterno, cambiandole con JS. I dati sono ottenuti con Flash o Flex o anche con JSONP da altri server, come aggregatori di contenuti, poi processati con JS, direttamente dal Client.
    Eccolo, l'esempio che ti potrebbe spingere a studiare JS: senza di lui, un simile lavoro sarebbe, se non impossibile, almeno molto più laborioso e complicato.

    Spero di averti dati un piccola spinta e qualche consiglio, in effetti JS è un linguaggio per permette di fare cose notevoli, l'unica cosa che non può e non deve fare è comunicare al di fuori del browser sul pc dell'utente, ma per il resto, non credo che ci siano limitazioni alla fantasia di uno sviluppatore.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it L'avatar di goat
    Registrato dal
    Apr 2003
    Messaggi
    1,154
    Innanzi tutto... grazie della risposta.

    Guarda, io mi sono formato come web developer quando ancora si usavano le tabelle. Da allora ho cambiato diversi posti di lavoro, riuscendo così a fare più esperienze: impaginazione di libri, grafica cartacea e non (PhotoShop e Illustrator), siti in Flash, QTVR, un po' di 3D per i fatti miei, disegno tecnico (caro vecchio Autocad14!!!) ecc.
    Però, nonostante il passare del tempo, e le molte esperienze, non c'è niente come lo sviluppo di XHTML e CSS che riesca ad assorbirmi altrettanto. Io mi ci metto, e le ore se ne volano letteralmente. Boh, è un lavoro che faccio molto volentieri.

    Per questo mi son detto che forse sarebbe stato utile integrare le mie conoscenze con altro. Ho pensato subito a JavaScript, con il quale ho lavoricchiato nel corso degli anni.
    Poi magari lo userò per semplici effetti di show/hide o roba simile, ma sento che effettivamente, e la tua risposta me lo conferma, le potenzialità di questo linguaggio siano davvero notevoli.
    Infatti gli esempi che hai sottoposto sono molto interessanti.

    Buono, vista la mia adorazione per il Natale... parte di 'ste vacanze me le passo a studiare la guida che HTML.it mette a disposizione. Vediamo se la cosa ingrana bene...

    Grazie a te, e a chi altri vorrà contribuire alla discussione.
    goat
    "Qualunque impressione faccia su di noi, egli è un servo della legge, quindi appartiene alla legge e sfugge al giudizio umano."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.