This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

App Building

App development using App Designer, GUIDE, or a programmatic workflow

An app is a self-contained MATLAB® program that provides a simple point-and-click interface to your code. Apps contain interactive controls such as menus, buttons, and sliders that execute specific instructions when your users interact with them. Apps can also contain plots for data visualization or interactive data exploration. Package and share your apps with other MATLAB users, or distribute them as standalone applications using MATLAB Compiler™.

There are different ways to build apps, summarized below. For a full comparison, see Ways to Build Apps.

App Building ApproachDescription
App Designer

This is a rich development environment that provides a large set of interactive controls, including gauges, knobs, and switches. Most 2-D and 3-D plots are also supported. This approach is appropriate for building most apps that do not require polar plots, subplots, or graphics interactions such as mouse and key-press customizations. If you have MATLAB Compiler, you can use App Designer to create web apps.


This drag-and-drop environment has been available for many releases. Apps created with GUIDE are compatible with almost all other releases, and they support all the graphics functionality in MATLAB. Use this approach to create simple apps that can display any type of plot.

Programmatic Workflow

In this approach, you use MATLAB functions to create a traditional figure and place interactive components in that figure programmatically. The resulting app supports the same functionality that GUIDE apps support. Use this approach to build complex apps with many interdependent components that can display any type of plot.

Was this topic helpful?