While it does go against my beliefs, I have to admit that
"freeing users from choice" works. At least it worked in case of TurboGears. In
any case we have to provide "the preferred path" and document "the best
practices". Documented way to do typical things always trumps "you can use
whatever you want --- go and figure it out yourself" mantra. It helps to
have at least some components are bundled together --- it reduces an acceptance
barrier.
Let me take a stab at RoR Ajax. Unfortunately I have rather
limited experience with RoR, so please correct me, if I am wrong. I hope
somebody will explain TurboGears Ajax.
RoR supports Ajax by providing simple helpers in ActiveView
(http://rails.rubyonrails.com/classes/ActionView/Helpers/_javascript_Helper.html).
It uses prototype.js. Visual features require inclusion of
script.aculo.us. Following high-level features are covered:
Additionally a bunch of simple helpers are included: async
callbacks by clicking links, periodic callbacks by timer, visual effects from
scrip.aculo.us attached to events, automatic stubbing of server-side functions
by wrapping XHR calls in _javascript_ function, a shortcut to update HTML elements
by executing a _javascript_ code, which can come from server. The last one allows
to provide a small set of useful transformations (e.g., show an error message),
which can be used with different nodes.
OpenRico is experimenting with RoR as well (see http://richardcowin.typepad.com/blog/).
I don't know details of their implementation.
In general there are several schools of thoughts on Ajax
client-server integration. As you can see in many cases they don't contradict to
each other, and can be implemented simultaneously. IMHO the most popular ones
are:
I think it is enough for now. I hope somebody will add to this
list. Any thoughts?
Thanks,
Eugene
|
- Re: Django and AJAX: Setting aside the conflict Eugene Lazutkin
- Re: Django and AJAX: Setting aside the conflict Jacob Kaplan-Moss
- Re: Django and AJAX: Setting aside the conflict Eugene Lazutkin
- Re: Django and AJAX: Setting aside the conf... Jacob Kaplan-Moss
- Re: Django and AJAX: Setting aside the ... Eugene Lazutkin
- Re: Django and AJAX: Setting aside the conflict Robert Wittams
- Re: Django and AJAX: Setting aside the conflict Wilson
- Re: Django and AJAX: Setting aside the conf... Eugene Lazutkin
- Re: Django and AJAX: Setting aside the conf... Robert Wittams
- Re: Django and AJAX: Setting aside the ... hugo
- Re: Django and AJAX: Setting aside... James Bennett