Target-Specific Compiler Apps for MATLAB Code Deployment
Starting in R2025a, MATLAB® Compiler™ and MATLAB Compiler SDK™ include target-specific compiler apps to package MATLAB code. These new apps replace the Application Compiler, Web App Compiler, Library Compiler, and Production Server Compiler apps. The updated design streamlines deployment workflows by providing a dedicated app for each deployment target and integrating these apps with MATLAB projects for better organization and dependency management.
To access the new compiler apps:
Click the Apps tab in MATLAB.
Navigate to the Application Deployment section in the drop-down menu.
Select the compiler app that corresponds to your deployment target.
Overview of Target-Specific Compiler Apps
Each compiler app includes a tailored user interface, called a compiler task, for configuring and packaging MATLAB code for a specific deployment target. When you use these apps for the first time, you go through a guided workflow to familiarize yourself with the configuration process. Once you understand the process, you can disable the guided workflow for a quicker experience.
MATLAB Projects Integration
Deployment projects are now integrated into MATLAB projects, simplifying the management of packaging configurations and dependencies. Dependencies are automatically managed within the MATLAB project, minimizing the need for manual setup and reducing the likelihood of errors. Packaging configurations are organized as compiler tasks alongside other project components, ensuring that all related assets are stored in a single, centralized location.
Compiler Tasks
The first step to creating a target-specific deployment artifact is to create a compiler task. The compiler task is the main mechanism by which you can configure different aspects of your deployment.
Create Compiler Task
To create a compiler task:
Go to the Apps tab and locate the app corresponding to your deployment target.
Click the app to open the Create Compiler Task dialog.
Choose one of the following options:
Start a new project and create a compiler task – MATLAB creates a new project and a compiler task for your target.
Add a compiler task to a recent project – Adds a new compiler task to an existing, recently opened project.
Browse for a project and add a compiler task – Select an existing project and add a compiler task to it.
If the MATLAB files you want to deploy are already included in a project, open the project, go to the Project tab, in the Tools section, click Compiler Task Manager. Select a deployment target, and MATLAB creates a compiler task with a corresponding name and opens it in the document area.
Manage Compiler Tasks
A project can have multiple compiler tasks, with each task associated with a different deployment target. For example:
One compiler task can deploy a MATLAB app as a standalone application.
Another compiler task can deploy the same app as a web application.
To view all compiler tasks in a project, open Compiler Task Manager.
Upgrade Projects
When you open deployment projects created in releases before R2025a, MATLAB automatically upgrades them to MATLAB projects. During this process, the system creates a target-specific compiler task and transfers any existing dependencies into the new project.
Transition of Deployment Apps
Deployment Target | Compiler App (Before R2025a) | Compiler App (Starting in R2025a) |
---|---|---|
Standalone Application | Application Compiler | Standalone Application Compiler |
Excel Add-In | Library Compiler | Excel Add-in Compiler |
Deployable Archive (Hadoop®) | Library Compiler | No dedicated app. Use the mcc command. |
Spark™ | No dedicated app. Use the mcc command. | No dedicated app. Use the mcc command. |
Web Apps | Web App Compiler | Web App Compiler |
C Shared Library | Library Compiler | C Shared Library Compiler (MATLAB Compiler SDK) |
C++ Shared Library | Library Compiler | C++ Shared Library Compiler (MATLAB Compiler SDK) |
Generic COM Component | Library Compiler | COM Component Compiler (MATLAB Compiler SDK) |
Java® Package | Library Compiler | Java Package Compiler (MATLAB Compiler SDK) |
.NET Assembly | Library Compiler | .NET Assembly Compiler (MATLAB Compiler SDK) |
Python® Package | Library Compiler | Python Package Compiler (MATLAB Compiler SDK) |
Deployable Archive (MATLAB Production Server™) | Production Server Compiler | Production Server Archive Compiler (MATLAB Compiler SDK) |
Deployable Archive with Excel Integration (MATLAB Production Server) | Production Server Compiler | No dedicated. Use the compiler.build.excelClientForProductionServer (MATLAB Compiler SDK)
function. |