Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Web developers - Is it better to do development on your local machine or on a remote host?

What are the pro/cons of doing web development on your local machine rather than on a centralized development server? For those that do dev on your local machine, how do you keep an updated db architecture for local development when multiple developers are involved?

In particular, I'm currently experimenting with XAMPP for PHP and was curious how I keep the MySQL DB instance on my local machine in sync when other developers are regularly changing data/db structure.

Is local development only practical when working alone?

like image 504
Cory House Avatar asked Oct 30 '08 12:10

Cory House


People also ask

How local development servers can benefit web developers?

The biggest benefit to server web development? Clients, customers, business partners and other developers can access in-progress coding (with your permission) to offer advice or feedback.

What is remote development?

Visual Studio Code Remote Development allows you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment. You can: Develop on the same operating system you deploy to or use larger or more specialized hardware.

What is local development programming?

A local development environment allows you to use your own machine to run your website, instead of using one provided by a web hosting (opens in new tab) company. You can customise the setup without worrying that it'll affect your live site, as well as make and test site development before uploading your site.

What is a local development environment?

A local development environment (LDE) is a way of configuring services on our laptop/desktop to run a website or a web application. This entails installing a web server, a database, and some sort of a language as Node. js, Python, PHP, and others.


1 Answers

  • Always, always develop on a local setup.
  • Always use source control.
  • Always put everything under source control, including the database schema.

There seems to be a lot people who like to have one central server that everyone uses for development -- I don't really understand why you would prefer to be in a shared environment where people making changes can interrupt your development process.

In my shop everyone has their own development web server and their own development database (often colocated on the same database server, but their own database). That way they're completely insulated from the other developers and can't interrupt each other.

When they implement a feature or fix a bug they check in their code and the matching database schema so that it's available to other developers as a complete unit. Releases to the test server or the deployment server are done from a labelled version in the source code repository.

Stable and sane! I don't see why you'd do it any other way when the development servers are free!

like image 102
Stewart Johnson Avatar answered Oct 19 '22 05:10

Stewart Johnson