System and method for developing user interface applications
A computer-implemented method for designing a user interface application uses a visual flow language and a model view flow architecture. The visual flow language may include components, where components include blocks and nodes. Call streams and data flows may be defined by a user. An application flow logic graph is generated. The application flow logic graph may be used to generate a user interface application.
1 . A method for comprising:
receiving, via a user interface design studio, a user selection of components from a component catalog, wherein the components comprise at least one of user interface (UI) components, data components, logical components, and transform components;
displaying the selected components in a flow panel of the user interface design studio;
receiving user input to define connections between nodes of the selected components, wherein the connections comprise call streams and data mappings;
generating an application logic graph based on the selected components and defined connections; and
creating a user interface application based on the application logic graph.
2 . The method of claim 1 , further comprising: training a machine learning algorithm using existing application logic graphs; and suggesting, by the trained machine learning algorithm, modifications to improve efficiency of the application logic graph.
3 . The method of claim 1 , further comprising implementing, by the user interface design studio, a visual flow language to model application logic flows and state through UI call streams.
4 . The method of claim 1 , further comprising: receiving a natural language query describing a desired task for the user interface application; and generating, based on the natural language query, a suggested application logic graph using the components and connections.
5 . The method of claim 1 , further comprising: providing a preview of the user interface application in a preview panel of the user interface design studio.
6 . The method of claim 1 , further comprising: receiving user input defining breakpoints in the application logic graph; and executing the user interface application in a debug mode that pauses execution at the defined breakpoints.
7 . The method of claim 1 , further comprising the respective nodes retrieving, based on the data mapping, data responsive to call streams to enable non-linear execution of application logic.
8 . A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:
receiving, via a user interface design studio, a user selection of components from a component catalog, wherein the components comprise at least one of user interface (UI) components, data components, logical components, and transform components;
displaying the selected components in a flow panel of the user interface design studio;
receiving user input to define connections between nodes of the selected components, wherein the connections comprise call streams and data mappings;
generating an application logic graph based on the selected components and defined connections; and
creating a user interface application based on the application logic graph.
9 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising: training a machine learning algorithm using existing application logic graphs; and suggesting, by the trained machine learning algorithm, modifications to improve efficiency of the application logic graph.
10 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising implementing, by a user interface design studio, a visual flow language to model application logic flows and state through UI call streams.
11 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising: receiving a natural language query describing a desired task for the user interface application; and generating, based on the natural language query, a suggested application logic graph using the components and connections.
12 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising: providing a preview of the user interface application in a preview panel of the user interface design studio.
13 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising: receiving user input defining breakpoints in the application logic graph; and executing the user interface application in a debug mode that pauses execution at the defined breakpoints.
14 . The non-transitory computer-readable storage medium of claim 8 , the respective nodes retrieving, based on the data mapping, data responsive to call streams to enable non-linear execution of application logic.
15 . A device comprising:
a processor; and
a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising steps for:
receiving, via a user interface design studio, a user selection of components from a component catalog, wherein the components comprise at least one of user interface (UI) components, data components, logical components, and transform components;
displaying the selected components in a flow panel of the user interface design studio;
receiving user input to define connections between nodes of the selected components, wherein the connections comprise call streams and data mappings;
generating an application logic graph based on the selected components and defined connections; and
creating a user interface application based on the application logic graph.
16 . The device of claim 15 , further comprising: training a machine learning algorithm using existing application logic graphs; and suggesting, by the trained machine learning algorithm, modifications to improve efficiency of the application logic graph.
17 . The device of claim 15 , the steps further comprising implementing, by the user interface design studio, a visual flow language to model application logic flows and state through UI call streams.
18 . The device of claim 15 , further comprising: receiving a natural language query describing a desired task for the user interface application; and generating, based on the natural language query, a suggested application logic graph using the components and connections.
19 . The device of claim 15 , further comprising: providing a preview of the user interface application in a preview panel of the user interface design studio.
20 . The device of claim 15 , further comprising: receiving user input defining breakpoints in the application logic graph; and executing the user interface application in a debug mode that pauses execution at the defined breakpoints.