On Wed, Jan 25, 2017 at 2:49 PM, Malte Brill via use-livecode < use-livecode@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@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode