Main Content

Web App Limitations and Unsupported Functionality

When packaging a MATLAB® app into a web app consider the following functional limitations. Using certain functions may result in an error or unexpected behavior.

Behavior Differences

Because a deployed web app is hosted on a server, functions that use system information have access only to server-side information, not client-side information. In addition, the web app is displayed in a browser window as opposed to a separate figure window. As a result, certain functions and properties behave differently in a deployed web app than on your local system. This table lists some of the differences that are most relevant to app building workflows.

Graphics root object properties

The MonitorPositions, PointerLocation, ScreenDepth, ScreenPixelsPerInch, and ScreenSize properties of the groot object contain server-side information, not client-side information.

Figure properties

The CloseRequestFcn, Visible, WindowState, and WindowStyle properties have no effect in a web app.

You can specify the initial figure size using the Position or InnerPosition properties, but programmatically resizing the figure by setting these properties while the app is running might result in unexpected behavior.

File dialog boxes

Although you can upload and download files from a local system in a deployed web app using uigetfile and uiputfile, there are some limitations:

  • You cannot download files while an external application is writing them.

  • You cannot specify the default path or file name.

System commandsCommands that return system information, such as computer, ispc, isunix, ismac, and listfonts, return server-side information, not client-side information.
Audio and video functionsFunctions that connect to hardware such as webcam require SSL to be enabled on the server to get a secure URL.

Unsupported Functionality

Some functionality is not supported in deployed web apps. This table lists the unsupported functionality that is most relevant to app building workflows.

CategoryNot Supported
Multiwindow apps

Multiple calls to figure or uifigure are not supported.

In addition, functions that create dialog boxes that appear as a separate window are not supported. These functions include dialog, msgbox, errordlg, warndlg, helpdlg, listdlg, questdlg, inputdlg, uisetcolor, and uisetfont. However, functions that create dialog boxes within a figure window, such as uialert, uiconfirm, and uiprogressdlg, are supported.

File dialog boxesOpening a folder selection dialog box on the client using uigetdir is not supported.
Saving and printing

The print, printpreview, and exportapp functions are not supported.

Plotting functionsThe wordcloud function is not supported.
Axes toolbar interactions

Before R2023b: Data brushing is not supported.

Copy and pasteCopying and pasting text to and from the system clipboard using the clipboard function is not supported.
Project featuresProject features such as matlab.project.createProject and matlab.project.loadProject are not supported.
OLE AutomationThe actxserver function is not supported.

This unsupported functionality is in addition to App Designer graphics limitations. For more information, see Display Graphics in App Designer.

Related Topics