What is a development environment?
A development environment in software and web development is a workspace for developers to make changes without breaking anything in a live environment. An integrated development environment is often used as a programming tool to assist the developer. An integrated development environment (IDE) is the software suite used by developers and is designed to maximize productivity and efficiency for the developer.
The development environment is often seen as a developer's “everything-goes” workspace. When working with a development environment it is part of a tiered structure of environments, where changes are deployed through different environments before reaching a live website. A typical environment structure includes a local, a development, a staging and a live environment, but it can include more or less environments depending on the needs and processes of those developing the website.
The purpose of a development environment is to have a place for a developer to test anything they want without worrying about it affecting any end-users or content editors working on a live website. In most cases a development environment is set up on a local machine or server, where the website’s source code is downloaded, so it is ready to be changed and modified. To help with the development process an integrated development environment (IDE) is often used.
Why use a development environment?
You should use a development environment if you want to make sure not to break anything on your live environments that your users see. By using a development environment for your website, you'll have a place to make all of the changes you want, without the users of your website will notice.
Working with multiple environments and following a deployment process is great for streamlined workflows and for reducing potential errors. It also means that a developer can make breaking changes on the development environment and make sure everything works before deploying the changes to a live environment. A development environment is often hosted locally by the developer, but can also be hosted on a server.
Depending on the size of a website project, multiple environments can be added to the infrastructure. In many projects a staging or testing environment is added in between the development environment and the live environment. This is done in business-critical projects where an extra layer of testing is required before releasing it to the live environment.
It might look like an unnecessary step to have more than a live environment, but even with very small projects it's becoming the industry standard and a workflow that most developers prefer. And with the help of integrated development environments and powerful deployment technology, it rarely adds much extra development time. On the contrary, it might help speed up the development process as the developer have more freedom during development, as they don't have to worry about breaking the site. This gets changes implemented faster and safer than if it all had to be done on a live environment.
What is an integrated development environment?
An integrated development environment is the software suite used by developers in a development environment and is designed to maximize productivity and efficiency for the developer.
The IDE often consists of a source code editor, debugger, compiler and designer, which all are accessed through a single interface. On top of that different IDEs offer features such as auto code completion and syntax highlighting to speed up the development process. Combining all of these tools in one software application enables the developer to complete multiple different tasks in one interface, while identifying and minimizing coding mistakes and typos on the fly.
An integrated development environment must be compatible with the programming language that is used for the application or website being produced. An example of an IDE is Microsoft Visual Studio, which uses Microsoft software development platforms and is the recommended choice for an ASP.NET platform like Umbraco.
An example of an "everything-goes" environment in Umbraco Cloud.
Umbraco Cloud and development environments
In Umbraco Cloud you can work with multiple environments and take advantage of our built in deployment tool, Umbraco Deploy, that makes deployment easy and fast.
If you want to get more efficient when developing Umbraco sites we even offer training specifically for this purpose with our MVC and Visual Studio courses. If you want to know more about how to deploy between environments you can watch the short tutorial video below or read the documentation on deployment.