One Application, Many Different Development Environments - Part I