Tutte le nostre app sono php mvc e con un livello comportamentale js molto semplice in alto sul lato client. Vogliamo strutturare maggiormente il javascript e smettere di richiedere "snippet" per eseguire un comportamento semplice (come il caricamento di diversi plugin jquery dappertutto). Non usiamo framework javascript MVC e stiamo cercando una soluzione ottimale per le nostre nuove app.framework Javascript per "hijax" pushstate
Una delle soluzioni più interessanti è mantenere il server lato rendering per noi, come Twitter does. Lo chiamano "Hijax + rendering lato server". Noi preferiamo non avere un quadro completo soffiato MVC in JavaScript, ma queste citazioni dal blog sono molto attraente per noi:
Per contratto, i nostri componenti si attaccano a un singolo nodo DOM, ascoltare gli eventi tramite delega, del fuoco eventi sul DOM, e quegli eventi sono trasmessi ad altri componenti tramite bubbling di eventi DOM. [...] In secondo luogo, tutti i nostri componenti sono definiti usando AMD.
Abbiamo cercato di creare qualcosa di nostro, ma senza competenze javascript di alto livello non possiamo andare lontano in questo. Qualcosa come jquery-pjax sembra una buona soluzione anche per casi molto semplici.
Siamo alla ricerca di:
- una segregazione UI/dati XHR loosly coppia con il DOM
- Evento guidato interfaccia utente, in modo da sviluppatori possono allegare gli ascoltatori a tutti i tipi di oggetti DOM
C'è qualcosa come un framework javascript per questo? Con pushState
ottenendo sempre più attenzione, spero che qualcosa sarà disponibile. Qualche idea?
L'approccio di IMO Twitter è abbastanza miserabile. A giugno ho scritto [demo js bookmarklet] (http://dist.meekostuff.net/meeko-twitter/) e [article] (http://www.meekostuff.net/blog/Twitter-without-Hashbangs/) mostrando come avrebbero potuto migrare a 'pushState' migliorando progressivamente mobile.twitter.com. Ho usato il mio [HTMLDecor] (http://github.com/meekostuff/HTMLDecor/) framework js e la demo ha richiesto solo pochi giorni. Quanti mesi uomo ha fatto Twitter per migrare? –
Commento interessante Sean :-) Tuttavia, non passiamo a js hijax a causa del guadagno di prestazioni desiderato, a volte abbiamo bisogno di script comportamentali in cui html non può svolgere il lavoro e vogliamo ridurre al minimo le nostre applicazioni lato server. Ecco perché pensavamo che l'hijax sarebbe stato davvero adatto a noi. E quando javascript è disabilitato, dovresti ottenere un fallback della "vecchia" app a pagina intera. E sono pienamente d'accordo con "hashbangs is dead": sono inflessibili e il progressivo miglioramento diventa un no-go –
Questo è un altro problema con il nuovo twitter.com - non c'è modo di twittare se js è disabilitato. Miglioramento progressivo come un ripensamento. –