1. A computer implemented method for generating functional application designs, the method comprising: receiving, by a design tool, one or more natural language utterances corresponding to natural language design commands for editing an application being designed; editing, by the design tool, one or more components of the application being designed based on each of the natural language utterances; and generating, by the design tool, a functional instance of the application being designed, wherein generating the functional instance of the application being designed comprises: analyzing, by a natural language processor, a natural language utterance from the one or more natural language utterances to extract one or more entities from the natural language utterance, wherein each of the extracted one or more entities is a component part of the natural language utterance; determining, by a machine learning based natural language intent processor, an intent of the natural language utterance with respect to the application being designed; determining, by the machine learning based natural language intent processor, an action that implements the determined intent in the application being designed, wherein the one or more extracted entities are variables that define the determined intent in the design command; executing, by the design tool, the design command that creates or modifies a component in the application being designed based on the determined action; and saving, by the design tool, the application being designed as a workspace that includes the created or modified component.