Page 1 of 1

Web deployment

Posted: Wed Jul 06, 2011 3:19 am
by shawnb
I'm having a tough time wrapping my head around this. I'm wanting to learn LC and create a web app, will users have to use a plugin or can I upload the files to my own server and no plugin is required. Using a plugin is a huge turnoff. What about using on-rev, will users need to download the plugin?

Please explain.

Re: Web deployment

Posted: Wed Jul 06, 2011 4:04 am
by shaosean
There is a plugin option which allows you to run your stacks in the user's web browser (like Flash).. There is a server-side option which allows you to code web-apps using Rev's language (like PHP)..

Re: Web deployment

Posted: Wed Jul 06, 2011 4:36 am
by shawnb
So what do I need to run on my server, and not have to have users use the plugin?

Re: Web deployment

Posted: Wed Jul 06, 2011 7:47 am
by bangkok
shawnb wrote:So what do I need to run on my server, and not have to have users use the plugin?

2 solutions (around LiveCode Server)

-you take a "package" (webhosting with LiveCode Server) at http://on-rev.com/home/
[i use it since 2 years, very good]

-you buy LiveCode Server and you install it on a linux based webserver (a VPS for instance, that you can fully control)

Re: Web deployment

Posted: Wed Jul 06, 2011 11:28 am
by shaosean
Third option is to use the old revCGI engine and do your scripting as CGI scripts (like perl)..

Re: Web deployment

Posted: Wed Jul 06, 2011 12:53 pm
by SparkOut
Just remember to be clear about what is a web app. If you mean that you want to create a stack in the Livecode IDE and then deploy it to the web for people to use "like a standalone, but on the internet" then that will require the web plugin. (The application would be rendered client-side by the client's browser and run in the context of the client's local machine. Compare this with a Flash "app".) The web plugin is still being worked on and hopefully sometime reasonably soon will be improved, but as yet is fraught with problems in installation, operation on the browsers for which it runs at all, and incompatibilities with (ie unusable on) other browsers.
If you mean that you want to create a web application that uses a browser to view content that is generated server side (compare with php) then that is perfectly possible with on-Rev or revServer to use as a server-side scripting engine, without the need for a user to have a plugin installed. In this way you can use inline code interspersed with html to generate dynamic web pages. Or, as also suggested, you can write scripts to do the processing with the revCGI engine (version 3.5) which can (and already has been) compared to perl.
So different approaches will need vastly different types of thoughts to achieve a "web app". Be careful to understand what you want in the first place and what your approach means to getting there.

Re: Web deployment

Posted: Wed Jul 06, 2011 1:06 pm
by Klaus
The internet <> a browser!

I never understood why everything needs to be in a browser window???
What about "internet-aware" apps?

Create a standalone that will load stacks from your (or any other) server with a one-liner:
...
go stack url"http://www.server.com/stacks/nice_stack.livecode"
...
No serverside scripting, no plug-in, pure fun :-)


Best

Klaus

Re: Web deployment

Posted: Wed Jul 06, 2011 3:19 pm
by FourthWorld
To deploy to a browser without a plugin requires JavaScript and a fair understanding of HTML and CSS. Not hard to learn - kinda fun, actually - but JavaScript is the only language built into browsers, so for any interactivity there we don't have a choice in the matter except to use a plugin so the browser can interoperate with another language like LiveCode.

That said, I think Klaus' post is worth considering. Think about the benefits of deployment via HTTP, and consider the tradeoffs between a native browser experience and a custom UI fully dedicated for the task your app supports.

Browsers are quite capable today, and with the multi-million-dollar investments in WebKit, Gecko, and IE, they're only getting better. But they still have a core design based around discrete pages, and with web apps become increasingly dynamic this has presented challenges for app designers. For example, what does "Back" mean in a web app? Many browser-native apps ignore Back, or handle it poorly. Indeed, it's not easy to design sophisticated apps in JS/HTML/CSS. Doable, but not simple.

The RevWeb plugin may be an attractive option, and for many it's a good fit for what they're doing. But even though the media it displays is downloaded on the fly, before you can run any of those stacks you still need to download and install the plugin. In that respect it's not much different from a standalone in terms of up-front requirements for the end-user.

Any organization that will allow the installation of a proprietary engine like LiveCode as a browser plugin will likely also allow installation of a standalone app. As Klaus pointed out, a standalone can give you most of the benefits of a browser plugin by just using "go url <stackUrl>".

And if you think of your standalone as a "dedicated browser", your app's design can take on all sorts of interesting opportunities. You still get on-the-fly download of the UI and data from your servers, but with all the benefits of local storage as well, allowing your app to support offline workflows as well as connected ones.

Even just looking at the UI aspects, designing an Internet-savvy app that's fully dedicated to the task your app supports can often yield a more effective UI than can be possible within the confines of a browser.

For more on this sort of thing, this article may be old but with everything from Widgets to iOS apps it only gets increasingly relevant every year:

Beyond the Browser:
Rediscovering the Role of the Desktop in a Net-centric World
http://www.fourthworld.com/embassy/arti ... tapps.html

You may also find parts of RevNet interesting - in the LC IDE, see Development->Plugins->GoRevNet

RevNet isn't the best example of great coding for stack downloads (the newer version I'm working on is much simpler), but if nothing else it demonstrates how fun and easy it can be to download stacks over HTTP.

Re: Web deployment

Posted: Wed Jul 06, 2011 8:04 pm
by shaosean
Klaus wrote:The internet <> a browser!
Sorry to break the news Klaus, but Gopher is dead :(

Re: Web deployment

Posted: Thu Jul 07, 2011 5:05 am
by admin12
In my client's case, they want to embed the database front end I am writing into their own websites to be used by their clients - a way of branding the DB with their look and feel. This would be impossible to do with a stand alone since so many people will come to the website to sign up on the database.

I did find errors in the HTML code and got the revlet plugin to work on all browsers except chrome. I posted the working code in another thread. It worked for me, but my program is a database program and does not use any real graphics, particles or other game-related media.

Mike

Re: Web deployment

Posted: Thu Jul 07, 2011 10:39 am
by Klaus
shaosean wrote:
Klaus wrote:The internet <> a browser!
Sorry to break the news Klaus, but Gopher is dead :(
I am old, but then again too young (in internet time) to know (or moan about) Gopher! 8)

Re: Web deployment

Posted: Thu Jul 07, 2011 12:08 pm
by shaosean
Thanks for making me feel old :P but I do seriously miss it (yeah, it is still around, not dead yet [insert Monty Python skit])

Re: Web deployment

Posted: Thu Jul 07, 2011 12:34 pm
by Klaus
Hi Sean,
shaosean wrote:Thanks for making me feel old :P
My pleasure! :D


Best

Klaus