1. A method for providing a thin client development environment comprising the steps of: providing a server-based software development application operable to be displayed in a thin client user interface on a client computer, wherein the server-based software development application is operable to provide the client computer with development features comprising command completion, syntax coloring, and parameter help; receiving input from the client computer to interact with a software development project using the server-based software development application, wherein the software development project comprises source code; receiving a compile selection from the client computer to compile the software development project using the server-based software development application; generating a compiled application with the server-based software development application; and providing the compiled application to a destination computer, wherein the destination computer is not the client computer, wherein the server-based software development application is operable to allow a user that created the software development project to specify if any of a plurality of users have one or more access rights to the software development project.