Where Monte = Malte. Sorry about that.
-- Trevor DeVore On Wed, Jan 25, 2017 at 5:19 PM Trevor DeVore <li...@mangomultimedia.com> wrote: > 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