1. A system comprising: at least one processor; and at least one computer-readable storage medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising: generating, using a visual composer core, a display of a plurality of application components and application interfaces, each application component defining a pattern of predefined functions and having one or more assigned roles and each application interface having a set of predefined interactions between it and another of the application interfaces; providing, using a pattern base kit tool, common logic for the predefined functions and one or more assigned roles of each of the application components, the common logic comprising a common basis for predefined application component functions used by the application components; linking elements of a model of an application under development using ports that each hold an infoshape that contains data relevant to the linked elements; storing the application components, the application interfaces, and the ports in a repository that is accessible by the visual composer core; displaying a palette comprising a visual representation of the one or more assigned roles of the application components and the application interfaces; receiving changes to the application components and/or the application interfaces via user interaction with the palette; and distributing the received changes to the application components and the application interfaces by updating one or more infoshapes in the repository.