Bounty è finita, thephpdeveloper vince con Conway's Game of Life
La piattaforma web oggi sta avanzando rapidamente. Caratteristiche come le animazioni CSS3 , le trasformazioni , ombre e gradienti , <canvas>
, <audio>
e <video>
tag, SVG , WebGL , e molti altri media che si può fare molto di più nel browser, e in molto meno codice, che mai prima. Naturalmente, molti sviluppatori non riescono a utilizzare queste nuove funzionalità, perché i siti e le applicazioni su cui lavorano devono essere retrocompatibili con i browser antichi e naufraghi come IE6.
Quindi, cosa succede se si toglie l'imbracatura? Ti permetti di utilizzare tutte le nuove funzionalità che ti piacciono? Vivi un po ', impazzisci, usa strane funzionalità all'avanguardia che solo l'1% dei tuoi utenti sarà in grado di sfruttare?
Ovviamente, con risorse illimitate e la capacità di parlare con un server, puoi fare qualsiasi cosa - caricare megabyte di codice, librerie e video e così via - ma le sfide non sono molto interessanti senza vincoli. Il principale vincolo per questo concorso è: cosa puoi fare in un singolo URI 4k autonomodata:
? Indipendente significa che non deve fare riferimento a risorse esterne, connettersi a server utilizzando WebSocket o XHR o qualsiasi altra cosa del genere. Se vuoi incorporare risorse come PNG o MP3, sentiti libero di includere URI di dati nel tuo URI di dati o trova un altro modo intelligente di incorporare risorse secondarie. 4k significa 4096 byte, correttamente codificato URI, testo ASCII (è possibile utilizzare un URI di dati codificati base64 se si sceglie, per evitare la codifica URI, ma di solito il testo codificato URI sarà più piccolo di base64 per il testo normale).
Per fornire ispirazione, il tema del concorso sono i meme StackOverflow . Crea un gioco unicorno, un generatore di fatti di Jon Skeet, un programma di disegno basato sul cerchio a mano libera o qualsiasi cosa abbia a che fare con uno dei popolari memo StackOverflow e meta.so.
Incoraggerei le voci interattive in qualche modo; non solo una semplice animazione o un'immagine statica, dovrebbero rispondere all'input dell'utente, attraverso eventi, passaggio del mouse CSS, scorrimento, ridimensionamento della finestra del browser o qualsiasi altro modo in cui ti venga in mente. Questo non è un requisito difficile, però; saranno prese in considerazione grandi demo che non sono interattive, sebbene l'interattività sarebbe preferita.
La tua voce deve essere eseguita in almeno una versione pubblica di almeno uno dei 5 principali browser (IE, Firefox, Chrome, Safari, Opera). Sono consentite solo le versioni mainline (non build da rami o build che richiedono patch), senza impostazioni di configurazione speciali, plug-in o qualsiasi altra cosa che non viene fornita con il browser stock. Build notturni, beta e candidati al rilascio vanno bene. Specifica nella tua voce con quali browser hai testato la tua voce. Non ci sono limiti su quali tecnologie è possibile utilizzare all'interno di tali vincoli; puoi fare una pura animazione SVG, una pura animazione CSS, qualcosa in JavaScript usando WebGL, o diamine, anche qualcosa che usa XML e XSLT se questo colpisce la tua fantasia. Se riesci a inserirlo in un URI di dati valido, senza dipendenze esterne e ottenere un browser per eseguirlo, è un gioco equo.
Per aggiungere al concorso qui, lunedì 21 marzo, aprirò una taglia su questa domanda. Come posso permettermi una taglia quando ho solo 101 rappresentanti? Bene, tutto il rappresentante che ottengo dai voti a questa domanda tra ora e lunedì andrà nella taglia (fino al limite di 500 consentito per una sola taglia; sarebbe piuttosto difficile per me raggiungere quel limite, però, dato il rappresentante cap). Le iscrizioni saranno accettate per 6 giorni successivi; tutte le iscrizioni devono avvenire almeno 24 ore prima della scadenza della taglia, per darmi il tempo di controllarle tutte e valutarle. A quel punto, accetterò la risposta più votata e darò la grazia alla mia risposta preferita (che può essere o meno la stessa della più votata). I miei criteri per l'assegnazione della taglia includeranno bellezza, divertimento, tecnica intelligente, uso interessante di nuove funzionalità, interattività e dimensioni.
Ecco alcune fonti di ispirazione, per iniziare:
- Chrome Experiments , una raccolta di dimostrazioni della moderna piattaforma web
- Mozilla Hacks , un blog sulla moderna piattaforma web con molte demo di nuove funzionalità in Firefox 4
- JS1k , un concorso per demo JavaScript 1k
- 10k Apart , una webapp in contest 10k
- gl64k , un contest demo attualmente in corso per demo WebGL 64k
- Shader Toy , una serie di demo di cosa puoi fare con gli shader WebGL
Formato per le voci:
Nome della voce
Dati: text / html, il tuo% 20data% 20URIFunziona con Firefox 4 RC, Chrome 10 e Opera 11
Descrizione della voce; cosa fa, perché è pulito, quali tecniche intelligenti hai usato.
<script> // code in expanded form to more easily see how it works </script>
Qualsiasi credito per ispirazioni, qualsiasi codice da cui potresti aver preso in prestito, ecc.
(StackExchange sembra non accettare URI di dati nei link, quindi dovrai incorporarlo direttamente in un <pre>
tag)