2012-05-03 11 views
17

Quando ho letto per la prima volta il principio di unobtrusive JavaScript nel Curriculum Web Standard, ho pensato che fosse davvero una grande cosa.JavaScript non invadente non è aggiornato?

JavaScript non intrusivo è più una filosofia di programmazione che una tecnica. Di gran lunga la sua componente più importante è una chiara percezione di quale funzionalità appartiene a quale livello. Tutte le funzioni del sito assolutamente cruciali dovrebbero essere codificate in HTML, ma una volta creata questa base è possibile aggiungere un livello JavaScript in cima alle basi per dare ai browser che lo supportano un'interfaccia più bella, più pulita e più veloce.

Inoltre, JavaScript discreto:

  1. separa la struttura e il comportamento, al fine di rendere il codice più pulito e la manutenzione di script più facile del browser

  2. anticipa incompatibilità

  3. opere con uno strato HTML semantico pulito

Per il mio progetto attuale utilizzo questo approccio. Quando ho disattivato JavaScript per un altro tipo di lavoro che dovevo fare, mi ha sorpreso il numero di siti Web completamente danneggiati senza JavaScript: funzionalità mancante, oltre all'assenza di molte informazioni importanti, che non erano affatto presenti nell'intero DOM.

Questi erano soprattutto siti di social network. Non dovrebbe sorprendere che questo fosse il caso, il tempo di sviluppo richiesto e l'esperienza utente potrebbero essere molto più importanti dell'accessibilità.

Ancora mi chiedo, se JavaScript non invadente non è aggiornato. Voglio dire quale browser non supporta JavaScript già in modo nativo? È ancora un approccio che si adatta per l'anno 2012? Ho iniziato a dubitarne.

+14

Penso che dipenda dal tipo di sito. Un sito di notizie dovrebbe mostrare notizie senza javascript abilitato. Non mi aspetto che un ricco sito interattivo come Google Docs o Facebook funzioni. Ancora più importante, non spenderei i soldi extra per far funzionare un sito interattivo per la piccola percentuale di persone che disabilitano JavaScript. –

+1

@BenClayton che dovrebbe essere una risposta – Joseph

+0

Ma quali sono le basi utente che non hanno JavaScript disponibile al giorno d'oggi? –

risposta

17

Ci sono due modi di affrontare un sito web e l'uso di JS:

  1. JS come un miglioramento

    Questi tipi di siti sono come "documenti" in un senso che essi sono analoghi a giornali, libri e lettere. Non hai bisogno di effetti di fantasia per leggere e utilizzare il contenuto.E con questo viene il miglioramento progressivo: Costruire una funzionalità di base e aggiungere complessità senza sacrificare lo scopo.

    La maggior parte dei siti Web di grandi dimensioni utilizza questo schema per preservare la sua utilità anche quando si utilizza un browser non idoneo. Un esempio è StackOverflow, che funziona anche su un browser da linea di comando lynx!

    ______ 
    | JS | - JavaScript for (optional) enhancements 
    |------| 
    | CSS | - CSS for (optional) style 
    |------| 
    | HTML | - (mandatory) HTML with base content 
    '------' 
    
  2. JS come piattaforma

    per le applicazioni web, è ragionevole (più come obbligatorio) che sono costruire su JS in tempo reale, contenuti dinamici e funzionalità, HTML e CSS serve come la vista . È anche sinonimo di altri linguaggi di programmazione, in cui puoi andare "senza testa" con il tuo programma (senza interfaccia utente) come librerie e plug-in.

    degrado Graceful viene fornito con questo approccio: "Backwards sostenere solo in una certa misura, altrimenti si ottiene neanche uno"

    ____________ 
    | HTML | CSS | - (optional) HTML and CSS view 
    |------------| 
    |  JS  | - (mandatory) JS platform 
    '------------' 
    

si riduce generalmente verso il basso per una questione di "E ' un documento o un'app? "

3

Diverse aziende adottano approcci diversi. Ad esempio, Google per la loro ricerca utilizza un javascript non invadente che degrada con garbo, ma per GMail mantengono un sito HTML separato che sviluppano successivamente dopo la versione di GMail JS.

Per me dipende

  1. Complessità
  2. Funzionalità,
  3. Costo
  4. utente Impacted conteggio

per decidere se fare il degrado Graceful utilizzando JS discreto o per costruire un sito solo HTML dedicato o ignorare completamente quella base di utenti.

Problemi correlati