Would love to have something like this discussed/presented at the
Austin JavaScript meetup.  Come tonight to find out how.  Also, free
beer.

www.austinjavascript.com

On Nov 15, 11:28 am, Ben Brown <[email protected]> wrote:
> Hi Refresh,
>
> I had a very productive hacking weekend, and I am wondering if anyone has
> stumbled upon the technique that I stumbled upon.
>
> As we all know, web applications are moving more and more towards
> client/server applications where JavaScript handles as much of the
> user-facing stuff as possible, while the server stores things and does any
> heavy lifting stuff in the background.
>
> I find it frustrating, however, to constantly update my JavaScript clients
> to match new functionality on the server.   That is, if I add $object->foo()
> on my server, I have to create a matching function in Javascript and a
> matching API handler.
>
> That is, until now.  This weekend, I built a client/server pare that, in
> addition to returning the data necessary for the client, also returns a list
> of methods available to be taken on that data.
>
> So, we have something like:
>
> CLIENT:  calls /api/object?id=1
>
> SERVER: Loads object 1.  Then, examines the object and gets a list of all of
> its object methods.  Returns a json object where json.data = object 1, and
> json.methods = a list of methods that can be called on object 1.
>
> CLIENT: creates javascript representation of object 1, then dynamically
> appends each method in json.methods to the object.
>
> The result is, if I add a method on the server, it is immediately available
> natively in JavaScript, without modifying the server API code, and without
> modifying the Javascript.
>
> To be clear, I am not using a wildcard function handler in Javascript to
> achieve this.  I am actually creating native functions and appending them to
> the javascript object as it is being created.  So, instead of
> obj.callAPIMethod('foo'), I get obj.foo();
>
> Has anyone on the list ever done something like this?  Does this technique
> have a proper name?  It seems like a very powerful technique which could be
> applied to a many different situations... especially when the server changes
> a lot or may not have the same functionality in every instance.
>
> Thoughts?

-- 
Our Web site: http://www.RefreshAustin.org/

You received this message because you are subscribed to the Google Groups 
"Refresh Austin" group.

[ Posting ]
To post to this group, send email to [email protected]
Job-related postings should follow http://tr.im/refreshaustinjobspolicy
We do not accept job posts from recruiters.

[ Unsubscribe ]
To unsubscribe from this group, send email to 
[email protected]

[ More Info ]
For more options, visit this group at 
http://groups.google.com/group/Refresh-Austin

Reply via email to