Modeling Strategies with Application Starter Framework
The Application Starter Framework gives you a high degree of flexibility, and you can use it to develop very sophisticated applications with many different features, UI screens, and data processing steps. Typically, it is better for you to model more complex applications using the industry standard model, view, controller (MVC) approach rather than a more linear, node-by-node, step-by-step approach. The differences are described below. Ultimately, both approaches work but the MVC model improves maintainability and keeps your logicnets easier to work with for larger applications.
The Application Starter Framework allows you to specify separate UI and process logicnets. In general, a UI logicnet renders the user interface of a section and the process logicnet processes the user inputs from that section, based on the industry standard MVC architectural pattern for UI applications. In this approach, you build the view logicnets that contain the user interface and you build separate controller logicnets that do the processing. These logicnets share and update the same data model. With each user click (Submit, for example) the system runs the process logicnets, receives and shares data from the context, and then passes it to the UI logicnets, which presents the latest information on the screen.
ln LogicNets' models, the process logicnet is sometimes optional, and it is not required in those cases where user input is collected or displayed but does not require further processing.
Look at the Easy Customization Starter App Example Project for a simple demonstration of the MVC model at work.
- main_ui_net is the logicnet that creates the view of the grid.
- main_panel_process (in the no customization required folder) is the controlling logicnet that listens for what action the user takes and routes to the appropriate next UI logicnet on that basis.
For more information on the MVC approach in general, see MVC Pattern at geeksforgeeks.org.
Alternatively, you could instead combine all logic into a single UI logicnet. If you do this, however, you must place all processing at the top of the logicnet so the input entered by your users is available for processing.
In this alternative approach, you only use form parts. You do not need to use (a yellow) form node at the end of the logicnet.