>
>
> Now I realize that in order to interact with the table, which is managed 
> by pyjamas, for example to select a certain row, I need to define a complex 
> JSONRPCs interface (select row, un-select, paginate to next page, previous 
> page, last page, page number, ...), passing back and forth parameters and 
> results between web2py and pyjamas. This looks quite complex.
>
>
One thing that can reduce playing ping-pong with the server (and therefore 
also reduce complexity + enhance performance): 
think about when you really need to contact the server, and accumulate 
other changes in the client until you actually contact it.

In an application I'm currently prototyping, I allow a user to do lots of 
manipulations on a table (selecting rows, filtering visible data, sorting 
columns, ...) purely in the client.
When the user selects a row, I dynamically change its css style so it looks 
differently on screen. No need to contact the server for that. 
Inside the client (pyjamas) I maintain a data structure in response to the 
user interactions that encodes updates to the current state of the 
application 
(think: a list of currently selected rows).

Only when absolutely needed, the new state of the application is sent back 
to the server (i.e. to web2py using JSONRPC) and processed, or new data is 
requested from the server.

As explained by Anthony ("most of the effort will be on the client side"), 
I think using Ajax/JQuery directly won't make things fundamentally easier 
(on the contrary: unless you find a pre-made component that already does 
what you want you will now have to write your client side stuff in 
javascript instead of python, which - depending on your background - may 
sound scary).

-- 



Reply via email to