How Else to Interact with Browser (was Re: Revolution Web Browser Plugin)
Andre Garzia
soapdog at mac.com
Fri Nov 3 19:59:04 EST 2006
Bernard,
Although AJAX/DHTML is a very powerful thing, I think people on this
list keep mixing things, liking comparing oranges to shoes.
Revolution could not export Flash because Revolution feature set is
something that is not available for flash, flash is a vector
animation thing with some scripting language for actions. Rev is a
computer programing language with hooks for networking, databases,
encryption and lots of things. They simply don't match. You can't
convert one thing to the other. What many toolkits do is use flash to
call server side methods, the server does the hard part and flash
just presents it. So again, Rev could not convert to that.
As for AJAX/DHTML thats very powerful and many here already used
Revolution on the server side + AJAX techniques on the client side.
This is perfectly doable now, you just need to learn the tricks of
the trade. As for converting a stack application to a web based
application, this is trickier than people imagine, there's a lot of
things that don't match, for example rev is all about absolute
positioning and the web is all about relative positioning, the most
used controls in rev are text fields and buttons and in the web they
are not the most useful things, it's not as straight forward as
people think to match from one side to the other.
Today here in Malta we had a group of people chating about doing such
conversions, it is way harder than people think and it would require
a clever server setup. Javascript and DOM manipulation is very very
very powerful, its a major tool for anyone that can handles it,
Javascript is a really nice prototype based language and along with
Dan Shafer I too enjoy it, depending on what you're doing you can be
pretty safe with it. Libraries such as YUI handles many of the cross
browser stuff for you.
People here need to be reminded there's no such thing as AJAX, thats
just some buzzword for technologies that are here since a long time
and that AJAX stuff needs a well designed server side component. Any
ajax application will have DHTML/XHTML + CSS + Javascript on the
client and something on the server. If that thing is designed
wrongly, your server will break, your bandwidth costs will soar, you
should not do roundtrips when you don't need'em. Now asking for
something that picks stacks that are based on stack -> card ->
control metaphor, that makes heavy use of a unique technique such as
the message path and magically it converts it into a two component
thing that has xhtml + css + javascript + rev on the server side and
that still has cards and the message path is not something that can
be looked upon easily. Just as an example, if you have a line in your
stack script that sends a mouseup to a button, in the AJAX converted
thingy, this would be on the server script that is the only one
available to run revolution script code, but the said button would be
on client ajax stuff and thus not available to the server, the server
will not be able to push data into the client unless the client
requests the data. If you keep pooling the server for updates, you do
unecessary trips to the server and loose bandwitdh and money, so how
to match a command as simple as sending a mouseup to a button.
Someone might say that no one would send a mouseup to a button by
code, but this example would still be true for sending any message
thru the message path beetween the business logic part (server
component) and the presentation part (DHTML + AJAX)...
Everyone here keeps asking here for a browser plugin, so, let us be
realistic and touch topics such as how to match revolution feature
set to the web. People often see only the presentation layer, okay,
that is easy to do, but what about the unique things that we all rely
on such as the message path. How can we map from Rev to XHTML
container. Thinking about such hard parts might improve the chances
of ever having something done by third party or the runrev team,
simply asking for magical converters and filling bugzilla requests
will simply not help, so what about we chat about how this can
actually be done, and start slowly step by step thinking on a roadmap
to get it done without touching the engine code...
Andre
On Nov 4, 2006, at 12:54 AM, Bernard Devlin wrote:
> >>
> Just a small correction (or perhaps I misread this). Flex produces
> Flash ouput (as swf files). I thought Laszlo did the same, but
> perhaps it has options for AJAX output too.
> <<
>
> Hi Dave
>
> This year Laszlo decided to target AJAX/DHTML as a delivery mechanism.
>
> I've (occasionally) pointed out on this list the need for a browser
> plugin for Rev - there are 3D game companies with browser plugins,
> and the Squeak people have also done one for Smalltalk - it is
> certainly doable. However, the complaints about the need to
> download a plugin always apply. Nevertheless, once that plugin has
> been downloaded and (correctly) installed it is there whenever
> someone comes across Rev stacks.
>
> However, I'm also coming round to the idea that maybe RunRev should
> be augmenting the standalone builder to add a new target - AJAX or
> Flash. Flash is probably easiest in that there are less variables
> (different browser implementations), but since Laszlo are now doing
> AJAX as a target executable (sorry, if this vernacular is too
> XCode...) when they have been targeting Flash for years, then maybe
> RunRev would be better to go directly to AJAX. The DoJo javascript
> library is rising to the top as an AJAX library. I have used it's
> earlier incarnation (as NetWindows) for some years, and it was IMO
> the best of the open-source alternatives. Javascript/DOM is way
> more powerful than people imagine, but there are so many
> incompatibilities introduced by the different browser vendors.
>
> Anyway, there is a Tasmanian company producing a product called
> Morphik that is doing this for Delphi, c++, c#, and java. The app
> is produced in those development languages, but can produce a
> standalone version of itself that is basically Javascript/AJAX.
>
> Bernard Devlin
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
More information about the use-livecode
mailing list