Perché ci vuole così tanto tempo per finalizzare le specifiche HTML 5? [chiuso]

24

Stavo leggendo questo e una frase ha attirato la mia attenzione (sottolineatura mia):

So Ian Hickson, XHTML’s biggest critic, fathered HTML 5, an action-oriented toddler specification that won’t reach adulthood until 2022, although some of it can be used today.

È vero? È davvero questo il ciclo di sviluppo di HTML 5? Perché ci vuole così tanto tempo? Cosa rende così difficile avere ragione che non sarà definitivo fino a 11 anni da oggi?

    
posta EpsilonVector 30.12.2010 - 17:44
fonte

8 risposte

19

La data menzionata per il processo di finalizzazione è stata impostata così lontano nel futuro perché il processo degli standard per le specifiche HTML è stato impostato in modo tale da garantire un'ampia accettazione delle specifiche.

Qualche background: ci sono due enti standard che lavorano su bozze relative a ciò che comunemente chiamiamo "HTML5": il World Wide Web Consortium (W3C) e il gruppo di lavoro Web Hypertext Application Technology (WHATWG). Prima di luglio 2012, entrambi i gruppi lavoravano (principalmente) insieme per sviluppare l'HTML.

Il processo principale doveva essere eseguito attraverso una serie di traguardi:

  • Bozza di lavoro: specifica è in sviluppo attivo e discussione
  • Last Call Working Draft (LCWD): le specifiche sono per lo più complete e gli implementatori hanno l'opportunità di sollevare eventuali obiezioni alle specifiche prima che entrino nel processo di finalizzazione
  • La raccomandazione del candidato: è efficacemente finalizzata e sicura da usare per implementatori e autori di contenuti
  • Raccomandazione: due implementazioni indipendenti e completamente interoperabili delle specifiche sono state completate

La pietra miliare della LCWD è iniziata nel 2011 e la fase di Candidate Recommendation dovrebbe arrivare relativamente presto nel 2014. È stata l'ultima pietra miliare, la Raccomandazione, che ha richiesto due implementazioni complete delle specifiche, che avrebbero richiesto diversi anni ed è la ragione per la data del 2022.

In questo modello, la prima vera pietra miliare che riguardava gli autori di contenuti (non i creatori di user-agent, come i browser) era la LCWD, poiché la specifica era destinata a essere in gran parte finalizzata. Una volta completata la LCWD, HTML5 avrebbe raggiunto la pietra miliare della Candidate Recommendation, e sarebbe stata una specifica finale in tutto tranne il nome: sarebbe stato possibile implementarla impunemente, poiché l'ultima pietra miliare, la Raccomandazione, avrebbe non ha alcun effetto sul contenuto dello standard ed è in gran parte poco interessante per gli autori di contenuti.

Tuttavia, a luglio 2012, W3C e WHATWG hanno formalizzato una divisione su come sarebbe stata sviluppata la bozza HTML5. Questa divisione, che funzionalmente funzionava da alcuni anni, crea due "tracce" HTML differenti:

  • Uno standard di vita, sviluppato dal WHATWG e chiamato semplicemente "HTML", in cui le specifiche non sono mai completamente complete. Viene stabilito un ragionevole consenso per lo standard, ma non è necessario implementare tutto.

  • Istantanee periodiche e stabili dello standard sviluppato dal W3C come specifica HTML5. A partire da settembre 2012, il W3C propone di raggiungere la pietra miliare della Raccomandazione su " HTML 5.0 "nel 2014, con istantanee punto ogni due anni (ad esempio," HTML 5.1 "nel 2016).

A causa del primo, HTML5, come abbiamo capito, è utilizzabile ora . Sfortunatamente, poiché è uno standard di vita, utilizzarlo come autore di contenuti richiede la comprensione dell'implementazione di ciascun agente utente.

    
risposta data 30.12.2010 - 18:30
fonte
12

La risposta facile: Design by Committee

Il vantaggio della folla di persone che guarda oltre il design è che l'intero gruppo avrà diversi aspetti a cui il designer originale non ha pensato. Questo è un vantaggio.

Quando il progettista è una grande folla, tutti hanno diversi ordini e cose da compagnia che vogliono entrare nello standard per qualsiasi motivo. A volte le caratteristiche sono in conflitto tra loro, a volte c'è la politica che circonda le decisioni, ecc. Ci vuole molto tempo prima che un grande gruppo di persone entri in accordo. Questo è un segno negativo.

Nel bene o nel male, il W3C ha scelto di sviluppare i propri standard in questo modo.

    
risposta data 30.12.2010 - 17:59
fonte
9

Perché è fondamentale che sia giusto.

  • Ci vuole tempo per sistemare le cose - lo standard HTML5, una volta impostato, sarà disponibile per un lungo periodo. Deve essere il meglio che può essere e deve avere ragione. Ciò richiede dibattito da parte di esperti, prove ed errori, input da parte di utenti e sviluppatori e analisi delle statistiche

  • Quando uno standard cambia, l'app di qualcuno da qualche parte si romperà - gli standard devono essere corretti per la prima volta. Ad ogni cambio di standard, l'app di qualcuno da qualche parte nel mondo rompe con la nuova versione. Ciò richiede a noi sviluppatori di risolverlo, costando tempo e denaro. Deve avere ragione la prima volta.

  • La vaghezza deve essere rimossa - È facile dire che questo è ciò che fa il tag canvas quando c'è solo il tag canvas sulla pagina, ma cosa succede quando si trova all'interno di un altro tag? Che dire delle combinazioni di tag? Come dovrebbero rendere? Come dovrebbero eseguire il rendering con gli attributi di stile X impostati in combinazioni particolari?

Bonus: Dai un'occhiata alle specifiche HTML5 nella sua forma attuale e vedrai cosa va in esso.

    
risposta data 30.12.2010 - 18:07
fonte
7

Long? Ci sono voluti quasi 8 anni per Microsoft per rendere semplice CSS2 a malapena funzionante in IE7, mentre il supporto DOM1 in javascript è ancora rotto in IE8. Questo è spec dal 1998.

Ecco perché non vedrai un'ampia adozione di HTML5 nei multimedia nei prossimi 20 anni. È molto complicato, incompiuto, le prestazioni fanno schifo. Anche le cose semplici come le web socket sono disattivate per motivi di sicurezza.

Alcune cose non funzioneranno come standard aperti. Fare giochi o MM in ambiente che dovrebbe funzionare su thin client e supportare un degrado aggraziato? Questa è follia.

A CURA: Sì, la prima è la complicazione eccessiva. Hai un plugin flash che è lo stesso in ogni browser e funziona allo stesso modo ogni volta. Questa è una soluzione semplice ed efficace. Una sola interfaccia, apporti le modifiche una volta, ricompila e viola: hai un plug-in per tutti i browser sul mercato, utilizzando un livello intermedio tra il browser e il plug-in.

D'altra parte hai 10 browser e vuoi aggiungere ad es. supporto multimediale / film. Ciò significa che ogni azienda dovrà implementare il lettore multimediale da zero, accanto a tutti vogliono qualcosa di diverso. Apple vuole H.264 in modo che i proprietari dei siti Web paghino loro i diritti per il codec per la riproduzione di film, Google e Mozilla vogliono VP8 in modo che possano avere la loro attività non influenzata dai brevetti di Apple, ecc.

Quindi finisce con l'implementare le cose che tutti vogliono (mentre VP8 o H.264 farebbero, per cominciare).

Quindi, prima che possano superare le loro differenze, Adobe implementerà H.264 in flash, userà lo streaming e lo stack DRM già disponibili e ... è pronto. 3-4 mesi e hai una tecnologia funzionante con tasso di adozione del 98%.

Semplice, una società decide, in modo da poter spingere rapidamente enormi cambiamenti e non dovrà aggiungere "idee" a 20 altri membri del "corpo di standarizzazione". Oltre HTML5 è forse 10-15 anni dietro flash, in multimedia. Il divario diventerà solo più grande. Nella recente versione di MAX avant è stato possibile vedere il supporto per i controller di gioco e le applicazioni di corse 3D a schermo intero, con flash in pieno formato FPS, supporto per l'accelerazione hardware e così via. Nel frattempo, mozilla ora può riprodurre video H.246 senza arrestare il browser, ma solo riprodurre. Nessuna funzionalità aggiuntiva (come schermo intero, streaming, avanzamento rapido) è ancora mancante!

Inoltre, penso che il W3C stia semplicemente sprecando risorse cercando di rendere HTML5 una copia del flash semicotta. Non funzionerà ... è come provare a trasformare in flash una copia di HTML. Non funzionerà.

    
risposta data 30.12.2010 - 18:03
fonte
5

In sostanza, ottenere un gruppo di persone su cui concordare qualcosa è piuttosto difficile. Per non parlare del fatto che ci sono vari problemi da risolvere. Ad esempio, c'è (c'era?) Un sacco di discussioni su quale codec usare per il video.

Nel bene o nel male, la maggior parte delle specifiche richiede un po 'di tempo.

    
risposta data 30.12.2010 - 18:07
fonte
2

Mark Pilgrim ne parla nel suo "Dive Into HTML5" qui: link Sembra che a molte persone non piaccia il la versione del libro perché non è abbastanza tecnica, ma in questa sezione l'editoriale è piuttosto giustificato.

(Modifica: volevo solo fornire un riferimento per il mio commento su persone che non gradiscono la qualità "chatty" del libro: controlla le recensioni su amazon . Personalmente mi è piaciuto leggerlo e ho trovato che fosse informativo, quindi il chilometraggio può variare.)

    
risposta data 30.12.2010 - 18:06
fonte
2

Parte del problema è che le specifiche non saranno finalizzate fino a quando non ci saranno almeno due implementazioni principali della specifica - almeno due browser separati che la supportano completamente. Quindi le specifiche devono essere sufficientemente complete per la piena implementazione, quindi devono essere effettivamente implementate, quindi possono essere finalizzate.

    
risposta data 30.12.2010 - 18:47
fonte
2

Parte del problema: voglio ogg theora nel browser. Sei d'accordo? No. Vuoi H.264. Ma sono d'accordo? No. Questo è il problema tra Google, Mozilla, Microsoft, Apple, Adobe e tutte le aziende che giocano dietro html 5. Stanno cercando di massimizzare le entrate e di essere il monopolista. La sua intensa competizione. Quindi ci vuole più tempo per completare.

    
risposta data 31.12.2010 - 05:59
fonte

Leggi altre domande sui tag