Web deployment

Got a LiveCode personal license? Are you a beginner, hobbyist or educator that's new to LiveCode? This forum is the place to go for help getting started. Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller

Post Reply
shawnb
Posts: 11
Joined: Mon Jul 04, 2011 2:23 am

Web deployment

Post by shawnb » Wed Jul 06, 2011 3:19 am

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.
Until LC for Android can create the same type of applications that I can create with Java or Lua, I'll be using Java and Lua. I'd love to use LC, but LC for Android is not ready for prime time.

shaosean
Posts: 906
Joined: Thu Nov 04, 2010 7:53 am

Re: Web deployment

Post by shaosean » Wed Jul 06, 2011 4:04 am

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)..

shawnb
Posts: 11
Joined: Mon Jul 04, 2011 2:23 am

Re: Web deployment

Post by shawnb » Wed Jul 06, 2011 4:36 am

So what do I need to run on my server, and not have to have users use the plugin?
Until LC for Android can create the same type of applications that I can create with Java or Lua, I'll be using Java and Lua. I'd love to use LC, but LC for Android is not ready for prime time.

bangkok
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 937
Joined: Fri Aug 15, 2008 7:15 am

Re: Web deployment

Post by bangkok » Wed Jul 06, 2011 7:47 am

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)

shaosean
Posts: 906
Joined: Thu Nov 04, 2010 7:53 am

Re: Web deployment

Post by shaosean » Wed Jul 06, 2011 11:28 am

Third option is to use the old revCGI engine and do your scripting as CGI scripts (like perl)..

SparkOut
Posts: 2943
Joined: Sun Sep 23, 2007 4:58 pm

Re: Web deployment

Post by SparkOut » Wed Jul 06, 2011 12:53 pm

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.

Klaus
Posts: 14177
Joined: Sat Apr 08, 2006 8:41 am
Contact:

Re: Web deployment

Post by Klaus » Wed Jul 06, 2011 1:06 pm

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

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 10043
Joined: Sat Apr 08, 2006 7:05 am
Contact:

Re: Web deployment

Post by FourthWorld » Wed Jul 06, 2011 3:19 pm

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.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

shaosean
Posts: 906
Joined: Thu Nov 04, 2010 7:53 am

Re: Web deployment

Post by shaosean » Wed Jul 06, 2011 8:04 pm

Klaus wrote:The internet <> a browser!
Sorry to break the news Klaus, but Gopher is dead :(

admin12
Posts: 412
Joined: Wed May 11, 2011 9:47 am

Re: Web deployment

Post by admin12 » Thu Jul 07, 2011 5:05 am

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

Klaus
Posts: 14177
Joined: Sat Apr 08, 2006 8:41 am
Contact:

Re: Web deployment

Post by Klaus » Thu Jul 07, 2011 10:39 am

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)

shaosean
Posts: 906
Joined: Thu Nov 04, 2010 7:53 am

Re: Web deployment

Post by shaosean » Thu Jul 07, 2011 12:08 pm

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])

Klaus
Posts: 14177
Joined: Sat Apr 08, 2006 8:41 am
Contact:

Re: Web deployment

Post by Klaus » Thu Jul 07, 2011 12:34 pm

Hi Sean,
shaosean wrote:Thanks for making me feel old :P
My pleasure! :D


Best

Klaus

Post Reply