Before you answer, this question is complicated:
- We are developing in asp.net / asp.net mvc / jQuery but I'm open to solutions on any platform using any framework
- I think logic like sorting / hiding columns / re-arranging columns / validation (where it makes sense) should be on the client-side
- I think logic like searching / updating the db / running workflows should be on the server side (just because of security / debugging reasons)
What we are trying to do is NOT CREATE A MESS in our UI by writing a bunch of javascript to deal with the same feature in different contexts. I understand that I can use a javascript file + object oriented javascript, I'm looking for the pattern that makes it all easier.
One solution proposed was to have an MVC model on both the client and server side, where we can encapsulate javascript functionality in client side controllers, then use them in different parts of the site. However, this means that we have 2 MVC implementations!
Is this overkill? How would you expand on this solution? What other solutions are there?