use-livecode Digest, Vol 160, Issue 48

Peter Thirkell Peter.Thirkell at vuw.ac.nz
Wed Jan 25 19:05:40 EST 2017


Thanks Trevor for a very informative posting. It deserves a wider audience as well, perhaps on the Livecode Forum?

I have been wondering about the move to script-only stacks as well, so this is timely advice. In terms of the application framework that you mention - Levure - does this essentially replace your  use of the GLX framework?

Peter Thirkell

Re:
> Message: 16
> Date: Wed, 25 Jan 2017 17:19:08 -0600
> From: Trevor DeVore <lists at mangomultimedia.com>
> To: How to use LiveCode <use-livecode at lists.runrev.com>
> Subject: Re: 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 Malte,
> 
> 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





More information about the use-livecode mailing list