How Else to Interact with Browser (was Re: Revolution Web Browser Plugin)

Andre Garzia soapdog at mac.com
Fri Nov 3 18:59:04 CST 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