Do you need to be able to distribute stacks across the Web to clients, or do you specifically need to do that in a browser?
If the former, you can do that with a standalone, which contains only the splash screen and enough code to run this:
go url "
http://www.somedomain.com/stacks/mystack.livecode
That way you distribute the standalone to be installed only once, just as you'd have to do with the browser plugin, and from then on you can update the app at any time by just replacing the stack files on the server.
In the few cases where stakeholders truly need a browser-based solution, ultimately they become less comfortable once they learn that they still need to install the engine, in the form of a plugin. This is among the many reasons why browser plugins have fallen out of favor, leading to RunRev's decision to EOL their own browser plugin. Such clients need a truly browser-native solution, and since the only scripting language built into all browsers is JavaScript the choice for that has been made for us.
Fortunately most projects for which it would be acceptable to download and install a plugin can be handled with a standalone just as well, perhaps better when we consider:
- In both cases the engine must be downloaded and installed.
- In both cases the code and user interface is stored centrally on a server, so the user always gets the most recent version when they run the app.
- In both cases LiveCode Server can be used to provide the back-end logic using the same easy language.
- A standalone has a dedicated user interface optimized for the task at hand, while a browser is a general-purpose app that has a lot of controls which either have no use in such an app or may affect it adversely (how does one handle the Back button in such an app?). Multiple windows are a breeze in a standalone, as are any other UI elements your app may employ.
- If security is a high priority, using the standalone's secureMode property can make it more secure than any browser, leaving a true zero-footprint on the client.
- A browser-based solution will always be dependent on a live Internet connection, while a standalone could be crafted to include caching and synching to support an offline mode if desired.
In those cases where a truly browser-native solution is needed, JavaScript isn't hard to learn and there are plenty of good resources for getting started. But given the various trade-offs, in many cases a project can be well served with a standalone that downloads its stacks.
Two examples of this sort of thing in action are included in the LiveCode IDE:
- User Samples (see the icon in the toolbar)
- RevNet (see Development->Plugins->GoRevNet)
The latter was made by yours truly, currently in a transitional state while I'm finishing a new version of the download stack, but the scripts there are accessible and you're free to use anything there you find useful.