Application Starter Stack for Livecode

Welcome

Hello, would you like to stay up to date with AppStarterStack development?

We'll keep you up to date with newsletters with notable news and milestones.

AppStarterStack helps software entrepreneurs / developers to create production-ready multi-platform applications using the Livecode Engine. 

No matter how “simple” and how powerful Livecode is, creating feature-complete professional software, for multiple platforms, is still quite time consuming. 

Every software needs an overall architecture for its user interface.  settings, screen responsiveness, wizards, disk, http IO, error-checking,  and a multitude of other things.  Without a well thought-out architecture to house your application, you will inevitably suffer with lost time, increased cost and lost revenue.

Why not start with an architecture but retain total flexibility and control over the final product and the code you ship? 

The AppStarterStack saves you the time and effort of building those critical functions which house and support your application’s actual feature set. 

It was built with patience and with foresight, to enable us to build great software products quickly without rebuilding a similar architecture each and every time.

You can benefit from our care and diligence by having not a blank canvas to work with, but an application architecture that lets you focus almost entirely on the user inputs, outputs and processes that your full application or MVP needs. 

With Livecode and the AppStarterStack, you can prove your idea or create production ready software while others are still debating which platform to use.

Time-Saving Benefits

"Its not a library, its a starter stack."

Every application requires many of the same components.  And no matter how great a tool you are using, there are lots of things to think about and plan.

With the AppStarterStack, you start your project with:

  • User Interface
    • Flexible and Entirely Customizable
    • Responsive
    • Resizable
    • Capable of 'Minimizing to Tray' and running in the background
      • Low use of system resources
      • Garbage Collected
      • Built for reliability and continuous uptime
      • Stress tested
  • I/O
    • Built In Task Scheduler supports:
      • File IO (blocking & non-blocking)
      • HTTP Requests
      • HTTP To File Download
      • S3 Object
      • SQLite Querying
  • Non-Blocking
    • capable of  near real-time updates of specified UI elements
    • blocking or long operations can be abstracted to run in 'background'
  • Pseudo Multi-Core Support Coming Soon
    • 2+ stacks which communicate together and share tasks
  • Builds to all 5 major device platforms out of the box
    • Windows, OS X, Linux, Android, iOS
    • HTML5 support (distinct version?) is planned
  • Secure
    • If your application requires it, you can
      • Secure your application (or the user's data) with a master password.
      • "Encryption at Rest" (Saved files are encrypted by AES 256)
  • Livecloud.io Integration
    • Account creation
    • Authentication
    • & more
  • Lots of examples for creating and arranging controls
    • These examples can be duplicated and modified to create what YOUR application needs.  No need to start from scratch.
  • Code Management
    • Built in script (code) export/ import functions
    • Code Decoupling - For the most part your code is decoupled from the AppStarterStack code.  This means that as you are working on your application, the AppStarterStack's code and multitude of functions will be tucked away in areas you should not have to see or touch. (However, no code is encrypted so anything that needs to be viewed, inspected or changed, can be.)
  • 25+ one line abstractions to help you code your application faster and accomplish complex UX tasks easily.
  • & so much more

When you use the AppStarterStack as your starting point, your development path is different than it otherwise would have been.

Once you learn the simple basics on how the AppStarterStack is designed, you will feel like the path to your finished product or MVP is smoother and more straight than you thought.

Now you can focus solely on the features and user experience of your application.

  • What inputs do you need?
  • What data must you display? and how?
  • What settings does your application need?
  • etc.

The AppStarterStack is an architecture template for professional, multi-platform software.  If you know what you want to build, you can get straight to building your idea, its look, its interfaces and functions. 

The AppStarterStack is built for :

  • Continuous uptime
  • Non-blocking, Real Time Interfaces
  • Responsive UI
  • One codebase, all platforms
  • Complete flexibility 

It also contains lots of wrapped functions, referred to as one-liners, which help you use the power of the Livecode engine to turn your idea into reality even faster.

  • The entire AppStarterStack file is open, there are no encrypted script libraries
  • Your application's codebase will always be under your control.
  • You can easily change its default appearance, and make sweeping visual changes easily using code.
  • No limits are placed on what you do with your stack and the Livecode Engine.

  • Your application will look and function consistently on each platform for which it is built.
  • Your file will be able to test and build on all 5 major platforms.
  • So far, AppStarterStack has been built and tested on:
    ✔ Desktop Platforms: Windows, Mac OS X, Linux 'should work'  to the exclusion of the browser widget)
    ✔ Android: Several physical devices all the way back to Android 7
  • iOS builds will be tested and completed in January of 2022, but we expect everything to be very similar to Android.
  • HTML5 Building will be worked on in Q3 of 2022
  • All tests went as expected and all stack functions preformed well.  Issues have been noted and will be fixed.

Stack Features

The AppStarterStack was designed from scratch to be:

  • Simple
  • Flexible
  • Non-Limiting

Functionality Isolation

Individual application "tools (pages, sections)" are isolated to Livecode cards, making it easy to maintain distinct aspects of your app.

  • Card
    • Shared Background (Shared across all cards on the stack)
      • Background Image
      • Background Gradient
      • Array of 1 or more Browser Widgets
    • Card Content (The controls for the current tool)
    • Shared User Interface (Shared across all cards on the stack)
      • ...
      • Editors
      • Navigation Icons
      • ...
    • Datagrids (For technical reasons, Datagrids are kept in the top level of the hierarchy of each card)

  • Easily define multiple Navigation Bars and items using script
  • Easily switch between different navigation bars and layouts
  • Display up to 4 at one time (left,top,right,bottom)
  • Resizable
  • Navigation Items can include a Label, SVG Icon, or Image Icon

  • You can make your stack look the way you need to match your style, branding and color scheme.
  • You can use a background image or gradient that resize smartly to cover your stack without stretching.
  • Default appearances of buttons and controls are set using code, so you can quickly make sweeping visual changes across your stack.
  • You can use transparency to create interesting effects in the appearance of your stack

Included is an animation sustem which enables you to animate ...

One or more numeric properties of one or more controls.

Included are several animation methods.

  • Linear

The AppStarterStack has a Task Scheduler which processes:

  • Loading / Saving Files in Chunks
  • Downloading HTTP (REST) Requests (returning Livecode array)
  • Downloading Internet Files (Into memory & to File)
  • S3 Object & Bucket functions
  • SQL Database Queries

There are also functions available for:

  • Blocking File Load
  • Blocking File Save

You can view the history and progress of all scheduled tasks using the Grid on the Engine Info card.

  • Easily update cards, grids, or individual controls whenever an update is available
  • Built to be non-blocking, where loading and processing of files and etc can occur while the user is navigating the stack and its tools.

The AppStarterStack has tons of helper functions to make your life easier, the stack itself contains examples and demos of all of them.  You will love the one liners that can do so much.

  • Alignment & Resizing of Controls
  • Hashing
  • Centering Text Vertical
  • Getting File Information
  • Setting Cursors
  • System Shell
  • Continuous Update Loop
  • Easy Encrypt / Decrypt functions
  • Auto File Processing on Load/Save
  • SetFont
  • Isolated & Global Flags
  • Auto Text Resizing
  • & lots more

 

  • Bandges are easy really easy. They are 'registered', on a per-card basis, using a single line of code.
  • They are updated just as easily with a single line of code

  • All right-click commands are defined using code and  then simply triggered by a button on the right-click menu
  • With the AppStarterStack you get to customize a Right-Click menu and trigger it with a single line of code.

A Livecode "SuperGrid" is a Data-grid object that is:

  • Used to display several, completeley unique datagrids
  • It uses just a single "universal column"
  • This helps speed up datagrid development and re-usability.
  • It also helps in the performance of the Datagrid

Easily communicate with your user by displaying an Overlay message which appears on top of every other control on your card.

  • Optional action button, triggers a command you specify.
  • If multiple messages are sent, one goes before the other.
  • Specify the color of the overlay's background
  • Specify the vertical position of the overlay message (top,center,bottom)

  • Display or Update a progress bar with 1 line of code.
  • The color of the progress bar goes from yellow to green. 
  • Set a progress bar's message and the units it uses
  • Have as many progress bars as you need, they are individually addressed
  • Limit progress bar updates to 24fps or any framerate

  • Double Right Click on a navigation icon to open the card script.
  • Don't create controls from scratch but copy existing ones.
  • If you want to create brand new unique controls to your project, use the "ResizeCard" handler on each card to work out its size and alignment when the size of the stack changes.
  • When modifying working on alignment of controls, save before you test the resize handler.
  • Always create the sizing and alignment of your UI elements first.  Then work on the functionality.
  • Always click "Edit group" on the exact group you want to edit.  If you edit a group while editing another group, sometimes issues arise.

Hello Visitor, welcome to the AppStarterStack website. This site is still under development, so please excuse any styling errors or still missing content.