Alle unsere Apps sind PHP-Mvc und mit einem sehr einfachen Js Verhaltensebene auf der Client-Seite an der Spitze. Wir wollen das Javascript mehr strukturieren und aufhören, "Schnipsel" anzufordern, um einfaches Verhalten auszuführen (wie das Laden verschiedener jQuery-Plugins überall). Wir verwenden keine JavaScript-MVC-Frameworks und suchen nach einer optimalen Lösung für unsere neuen Apps.Javascript Framework für Pushstate "Hijax"
Eine der attraktivsten Lösungen ist es, die Server-Seite für uns zu behalten, wie Twitter does. Sie nennen es "Hijax + serverseitiges Rendering". Wir bevorzugen keine Blas- MVC-Framework in Javascript haben, aber diese Zitate aus dem Blog zu uns sehr ansprechend sind:
Mit Vertrag, unsere Komponenten heften sich an einem einzelnen DOM-Knoten, hören über Delegation, Feuer, an Veranstaltungen Ereignisse im DOM, und diese Ereignisse werden über DOM-Event-Bubbling an andere Komponenten gesendet. [...] Zweitens werden alle unsere Komponenten mit AMD definiert.
Wir haben versucht, etwas eigenes zu bauen, aber ohne Javascript-Erfahrung auf hohem Niveau können wir nicht weit kommen. So etwas wie jquery-pjax scheint auch für sehr einfache Fälle eine gute Lösung zu sein.
Wir suchen:
- A UI/Datentrennung zu loosly Paar XHR mit dem DOM
- Event Driven UI, so Devs Zuhörer auf alle Arten von DOM anhängen können Objekte
Gibt es so etwas wie ein JavaScript-Framework? Mit pushState
bekommen immer mehr Aufmerksamkeit, ich hoffe, dass etwas verfügbar sein wird. Irgendwelche Ideen?
IMO Twitter Ansatz ist ziemlich miserabel. Zurück im Juni schrieb ich eine [Demo js Bookmarklet] (http://dist.meekostuff.net/meeko-twitter/) und [Artikel] (http://www.meekostuff.net/blog/Twitter-without-Hashbangs/) zeigen, wie sie durch schrittweises Verbessern von mobile.twitter.com in 'pushState' migrieren konnten. Ich habe mein [HTMLDecor] (http://github.com/meekostuff/HTMLDecor/) js Framework verwendet und die Demo dauerte nur ein paar Tage. Wie viele Monate hat Twitter gebraucht, um zu migrieren? –
Interessanter Kommentar Sean :-) Allerdings gehen wir nicht zu js Hijax wegen des gewünschten Leistungsgewinns, wir brauchen manchmal Verhaltens-Scripting, wo html die Arbeit nicht machen kann und wir unsere serverseitigen Anwendungen minimieren wollen. Deshalb dachten wir, Hijax wäre für uns sehr gut geeignet. Und wenn JavaScript deaktiviert ist, sollten Sie einen Fallback der "alten" vollseitigen gerenderten App erhalten. Und ich bin voll und ganz einverstanden mit "Hashbangs sind tot": Sie sind unflexibel und progressive Verbesserung wird zu einem No-Go –
Das ist ein weiteres Problem mit dem neuen twitter.com - es gibt keine Möglichkeit zu twittern, wenn js deaktiviert ist. Progressive Verbesserung als Nachdenken. –