1. A computer-implemented method for developing an application to run for a plurality of different computing targets comprising a computer system executing a software tool for performing the steps of: obtaining a generic flow model for application development; specifying at least one target for said application; automatically creating a specialized flow model for each of said at least one target; editing at least one specialized flow model to produce an edited specialized flow model; and automatically generating a specialized application for each of said at least one target based on said edited specialized flow model.