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.

Reply via email to