Thanks! BTW... To experience the awesomeness of proper History API behavior + animation, check this out:
http://www.spaceheadconcepts.com/alive-wp (be sure to also test the back/forward button behavior!) :) 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 Thu, Sep 26, 2013 at 9:06 PM, Martin Grigorov-4 [via Apache Wicket] < ml-node+s1842946n4661534...@n4.nabble.com> wrote: > On Thu, Sep 26, 2013 at 10:58 PM, Hendy Irawan <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4661534&i=0>> > wrote: > > > 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) > ); > > > > Before you create a ticket: > https://issues.apache.org/jira/browse/WICKET-5297 > > > > > > 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 <[hidden > > email]<http://user/SendEmail.jtp?type=node&node=4661534&i=1>> > 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] > < > > > [hidden email] <http://user/SendEmail.jtp?type=node&node=4661534&i=2>> > 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< > > > > > > >> . > > >> 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. > > > > > ------------------------------ > 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-tp4660502p4661534.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-tp4660502p4661536.html Sent from the Forum for Wicket Core developers mailing list archive at Nabble.com.