Dumb deployment question

Erik Beugelaar beugelaar at solidit.nl
Thu Jan 26 05:30:06 EST 2017


The Levure framework will be a big step forward for starters building LiveCode apps in a structured way. It also explains the Message Path filosophy in the current framework just by reading the code.

Trevor, you have my vote  to publish an article of it in the next blog post on the website of LiveCode.

Cheers,
Erik 

-----Original Message-----
From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Trevor DeVore via use-livecode
Sent: donderdag 26 januari 2017 00:19
To: How to use LiveCode <use-livecode at lists.runrev.com>
Cc: Trevor DeVore <lists at mangomultimedia.com>
Subject: Re: Dumb deployment question

On Wed, Jan 25, 2017 at 2:49 PM, Malte Brill via use-livecode < use-livecode at lists.runrev.com> wrote:

> Now, I would really like to make the first serious standalone using 
> 8.x (final might be using 9.x). This is still a bit ahead, but I want 
> to prepare. I would really like to work with script only stacks. But 
> what do we need to do to have them available as library in a 
> standalone. Right now I am being lazy with my project and make regular 
> stacks a substack of my mainstack, which I then start using. How would 
> I go about this with a Script only stack, which appears to be only a 
> text file, right? Upside until now was quasi single file distribution, 
> but I could very well live with breaking that. Any good tips on deployment?
>

Hi Monte,

I bit the bullet in early November and started moving ScreenSteps over to script only stacks. My goal was to store my files in a VCS-friendly way (as much as possible). I moved all code over 3-5 lines out stacks and into script only stacks. To facilitate this I added some utilities to the PI in LC 9 that make it easy to create script only stacks from stacks you have open in the IDE. If you are going to convert an existing app over then I would suggest doing the conversion in LC 9. You can then go back to LC 8 if you want for working on the app.

I’ll describe the basics of what I did.

All of my libraries are individual script only stack files. When I package up the application I create a “Libraries” stack and make all script script only stacks that are libraries a sub stack of this stack. The standalone just loads a single stack file. I do the same for front and back scripts as well.

For script only stacks used as behaviors it depends. For behaviors that are used generally I treat them as library stacks and package them up into a single stack. Every stack used for UI was moved into its own folder with a “behaviors” folder that sits alongside the stack file. All code related to the UI stack goes into script only stack files in that “behaviors” folder.
These behaviors are just converted to regular stack files when I package up for distribution. The behavior stack files are assigned to the stackfiles property of the UI stack using relative paths. They are automatically loaded by the engine when the UI stack opens.

Having all of the code in text files has worked really well so far. Working with git has become really easy for scripts and I have been keeping an exact history of changes through git commits. Having everything in git makes it really easy to move between computers as well. Just checkout the latest and I’m ready to get to work. The stack files are another story but that is a problem for another day. Script only stacks also allowed me to move over to Sublime Text for all of my script editing. I put together a LiveCode plugin and linter and coding is much faster as I can jump around in the code really quickly. The plugin also communicates with my LiveCode app and refreshes scripts whenever I save in Sublime Text so I can edit while editing my app in LiveCode.

In order to make managing a script only stack-centric application easier I created a new application framework - Levure. You can see what I’ve done so far here:

https://github.com/trevordevore/levure

It use YAML for configuration and has a modular design. It manages building standalones and packaging everything up for deployment. I’ve been refining it over the last 2 1/2 months and there is still more work to do. I will be building an app to distribute to customers before the end of January though.

Let me know if you have any further questions.

--
Trevor DeVore
Outcome & ScreenSteps
www.outcomeapp.io     -     www.screensteps.com
_______________________________________________
use-livecode mailing list
use-livecode at lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list