Advanced MATLAB Application Development
View schedule and enrollCourse Details
- Applying the Model-View-Controller (MVC) design pattern in MATLAB
- Creating a model class to act as the computational back end for an application
- Working effectively with MATLAB graphics, app themes and user-interface control objects
- Managing the layout of application components
- Designing view classes to visualize application data
- Designing controller classes to enable user interaction with the application
- Integrating application components within an application launcher class
- Packaging, deploying, and sharing apps
Day 1 of 2
Organizing Application Data in a Model Class
Objective: Create a model class to act as the computational back end for an application and store the necessary data. Define and implement the core model responsibilities and actions.
- Exploring models within the MVC framework
- Storing application data
- Avoiding unnecessary data copies
- Providing access to data for visualization
- Providing mechanisms for control operations on the data
- Communicating changes of state or data
Managing Application Layout
Objective: Create, access, and modify graphics objects within the MATLAB graphics hierarchy. Use predefined graphics callback functions. Use layout management objects to organize the appearance of the application's graphics objects and controls. Design apps that support both light and dark modes.
- Navigating the MATLAB graphics hierarchy
- Supporting light and dark app themes for enhanced user experience
- Creating, accessing, and modifying graphics and control objects
- Working with commonly used graphics objects
- Organizing application components using layout management objects
- Using predefined graphics callback functions
Visualizing Application Data with View Classes
Objective: Define view classes for visualizing application data. Define and implement the core view responsibilities and actions.
- Views within the MVC framework
- The relationship of a view to a model
- The relationship of a view to its graphics objects
- Dynamic updates to views using listeners and callbacks
- The interaction between a model and its views
Day 2 of 2
Design Considerations for View and Controller Components
Objective: Simplify the development of view and controller classes using inheritance. Provide end users with a convenient means of interacting with the application components. Ensure robust application behavior by managing the lifecycle of view and controller components.
- Unifying common properties and methods in a component superclass
- Unifying common construction code
- Using abstract methods to create a common interface
- Creating a user-friendly component API
- Managing the lifecycle of component objects
Enabling Interactive User Control with Controller Classes
Objective: Create controller classes to provide user interaction with the application data. Define and implement the core controller responsibilities and actions.
- Controllers within the MVC framework
- The relationship of a controller to a model
- The relationship of a controller to its graphics objects
- Hybrid components that are both a view and a controller
- The interaction between a model and its controllers
Integrating Components with an Application Launcher
Objective: Integrate all application components and create a class managing the initialization, dependencies, and running status of an application. Define and implement the core application launcher responsibilities and actions.
- Creating the main application figure and layout
- Creating and storing the application components
- Designing applications with menus and toolbars
Application Deployment
Objective: Deploy the application as a MATLAB app, standalone desktop app or web app.
- Overview of the deployment possibilities
- Creating a wrapper function to be used as the entry point for deplyoment
- Deploying as a MATLAB app
- Deploying as a standalone desktop app
- Deploying as a web app
Level: Intermediate
Prerequisites:
Duration: 2 days
Languages: Deutsch, English