Good news! I've created a proof-of-concept project using Wicket 6.10 :
https://github.com/ceefour/wicket-historyapi There are 3 approaches: 1. redirect 2. stateless 3. history API (Actually there should be a stateful approach too.) The History API is using history.js (don't worry, HTML4 support is disabled i.e. no hashbangs). What I'd like to have is a hybrid approach that combines approach #1 (redirect, for non-supporting browsers e.g. IE10 & Googlebot) + #3 (history API, for supporting browsers). Not sure how to do this yet.... As it is now, all these approaches require workarounds and non-standard Wicket components, and especially the "stateless" approach aren't working in certain situations. It'd be great if the combined approach would work out-of-the-box with Wicket 7. And one more thing would be transitions and animations. This is not exclusive to history API/stateless support but some support in core would be very appreciated. e.g. an API such as this would be wonderful: target.add( myComponent, Animation.fadeOut(250), Animation.fadeIn(400) ); Thank you. Hendy Hendy Irawan - on Twitter <http://twitter.com/hendybippo> - on LinkedIn<http://id.linkedin.com/in/hendyirawan> Web Developer | Bippo Indonesia <http://www.bippo.co.id/> | Akselerator Bisnis | Bandung On Mon, Sep 23, 2013 at 1:58 PM, Hendy Irawan <[email protected]> wrote: > Hi, > > I don't like URL fragments either. > For unsupported browsers, I would prefer downgrading to normal stateful > AJAX. > > Hendy > > Hendy Irawan - on Twitter <http://twitter.com/hendybippo> - on > LinkedIn<http://id.linkedin.com/in/hendyirawan> > Web Developer | Bippo Indonesia <http://www.bippo.co.id/> | Akselerator > Bisnis | Bandung > > > On Mon, Sep 23, 2013 at 7:19 PM, Martin Grigorov-4 [via Apache Wicket] < > [email protected]> wrote: > >> Hi, >> >> >> On Mon, Sep 23, 2013 at 1:59 PM, Hendy Irawan <[hidden >> email]<http://user/SendEmail.jtp?type=node&node=4661445&i=0>> >> wrote: >> >> > Hi, >> > >> > The way I see it now this will enable a lot of our frontend pages to be >> > stateless. >> > >> > Currently http://www.tuneeca.com powered by Wicket 6.8.0 has mostly >> > stateful >> > frontend pages (except for HomePage, which we made the effort to be >> > stateless to reduce pagestore/session usage). >> > >> > Most of the "state" are used for paging, sorting, and filter, which we >> > happen to use Wicket's AJAX built-in support heavily (thanks Wicket!! >> :-) ) >> > but of course this makes the pages has ?id in them. >> > >> > I think it'd be possible to encode all the "state" a page wants in, >> e.g. : >> > >> > >> > >> http://www.tuneeca.com/release/carribean_dream?lowerPrice=50000&upperPrice=200000&sort=name&page=2 >> > >> > or perhaps: >> > >> > >> > >> http://www.tuneeca.com/release/carribean_dream/lowerPrice/50000/upperPrice/200000/sort/name/page/2 >> >> >> Both of these urls won't work in IE 8/9/10 because these versions of IE >> do >> not support HTML5 History API. >> To support history you will need to use Url fragments, i.e. something >> like: >> >> >> http://www.tuneeca.com/release/carribean_dream?#lowerPrice/50000/upperPrice/200000/sort/name/page/2 >> or >> >> http://www.tuneeca.com/release/carribean_dream?#lowerPrice=50000&upperPrice=200000&sort=name&page=2 >> >> >> >> > >> > With the History API support it'd should be possible to do this, while >> > retaining four (!!) awesome characteristics : >> > >> > 1. AJAX - faster loading due to less bandwidth usage >> > 2. Bookmarkable - the URLs (+ parameters) are immediately bookmarkable >> and >> > consistent. >> > >> >> With the Url fragments this is not quite true. >> The url is bookmarkable but will require some extra JavaScript onload >> logic >> to make an Ajax call to the server after initially loading the page. >> Twitter used to use this approach but it didn't worked well. There are >> blog >> articles about the problems. >> >> >> > 3. Statelessness - faster loading (internally), which results in: >> > >> >> How exactly it will be faster ? >> >> >> > 4. Less session/pagestore usage - faster loading because less I/O, also >> > saves precious heap & disk space :-) >> > >> >> Those are not so precious these days. >> Actually developers' salary is bigger than their cost. >> >> >> > >> > Point 3 & 4 above are only possible with proper stateless links/buttons >> > etc. >> > (which I assume will be one of the improved features of Wicket 7?) >> > >> >> There are no such improvements at the moment. >> >> But there is >> http://central.maven.org/maven2/org/wicketstuff/wicketstuff-stateless/ >> >> >> > >> > Of course I haven't yet made a Proof of concept of this... (sorry!) but >> > just >> > thinking about this made me excited. If this works out, Wicket 7's >> > definitely going to be the most awesome web framework of all (not that >> it >> > hasn't, mind you :-)). >> > >> > Hendy >> > >> > >> > >> > >> > -- >> > View this message in context: >> > >> http://apache-wicket.1842946.n4.nabble.com/Wicket7-History-API-support-for-navigable-AJAX-pages-components-tp4660502p4661443.html >> >> > Sent from the Forum for Wicket Core developers mailing list archive at >> > Nabble.com. >> > >> >> >> ------------------------------ >> If you reply to this email, your message will be added to the >> discussion below: >> >> http://apache-wicket.1842946.n4.nabble.com/Wicket7-History-API-support-for-navigable-AJAX-pages-components-tp4660502p4661445.html >> To unsubscribe from [Wicket7] History API support for navigable AJAX >> pages/components?, click >> here<http://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4660502&code=aGVuZHlAc29sdXZhcy5jb218NDY2MDUwMnwxNTI0Njc4NzUy> >> . >> NAML<http://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> >> > > -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket7-History-API-support-for-navigable-AJAX-pages-components-tp4660502p4661532.html Sent from the Forum for Wicket Core developers mailing list archive at Nabble.com.
