On Thu, Sep 26, 2013 at 10:58 PM, Hendy Irawan <he...@soluvas.com> 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 <he...@soluvas.com> 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] < > > ml-node+s1842946n4661445...@n4.nabble.com> 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. >