Develop Apps

The Legato Application Framework provides you with a set of tools and structures to build a system for your target. The system contains all the pieces that are needed for your target to interact with hardware and send data over a network. You are able to customize the system to only enable the hardware and software that is needed to perform the tasks you require.

The following tutorials will guide you through a very basic example of turning code into an app and then building the app into a system.

In the Application Framework we break down Systems into Apps; Apps into Executables; Executables into Components.

basicApps_SystemOverview.png

To build a system or an app we start with building a component, a collection of code and other files that are functionally related. Each component is kept within its own directory (that is named the name of the component) and each component also contains Component.cdef file which describes the component to the build tools and gives the build tools the instructions on how to build the component.

Once you have one or more components created you then can bundle them into executables. Applications are comprised of one or more executables. These executables can be configured to automatically run within a process. An automatically run process is a process that gets started every time an application is started. This also provides the ability to configure monitoring and fault handling per process instead of per application. This is all done at the application level and within the application's definition file.

Applications (apps) are binary packages that contain a collection of one or more processes running one or more executables. Each executable can make use of libraries and other resource files bundled into the app.

Note
Processes do not need to be built by the mktools to run. It is also possible to bundle in executables from the external Linux file system. (e.g.; You are able to run shell scripts within a Legato application by binding the system shell and the supporting utilities within the application and configure a process to run your shell script)

Legato apps automatically run inside a secure sandbox, can automatically start at boot, and are monitored by the Supervisor daemon. Apps are built to automatically make full use of the Application Framework, like autonomous-fault recovery and logging.

Just like any embedded Linux platform, you can also install individual executables, libraries, resource files, etc. You can write init scripts, and implement security sandboxes, fault monitoring, and fault recovery on these executables, libraries and resource files. Legato provides the platform to do all that so you can focus on your business' unique value-add instead.

Let's get started with a few sample tutorials to walk you through implementing these concepts into practice.

Tutorial Description
helloWorld Walk through of creating a "helloWorld" app and deploying it on a target
Extend helloWorld Walk through of creating two apps and using IPC to communicate between them
Add Things How to add 3rd party libraries, data files or a legacy program to your system