Question

I've read a lot of discussions about web site vs web applications in asp.net

The way we work in my team (10 programmers), we use the project type "web site", and for our dev environment, we just copy the source code (aspx + .cs) to the server. This way, all the programmers can be doing changes at the same time.. and the server does the build dynamically. .....(for the prod environment, they build the application)

Now, I'm starting a new project, and I decided to use web application (the main reason was the web config transform option).. I soon realized that (as far as I know) it forces you to do a build/publish of the web app to the server with every change... which is not a big problem if I'm the only one working on this project...

But, now I'm wondering, what's going to happen if more programmers needs to work on this new project at the same time?

Any advise or similar situation?

EDIT

we're using Visual Source Safe... but only for keeping track of the older versions (not for builds)... I'm familiar with Subversion... but.. unfortunately, I don't take the decision on what we should use.. and I don't think they're willing to change

Thanks everyone for your answers...

Was it helpful?

Solution

Anytime I hear the, this isn't a big problem as long as. . . . immediately tells me, that I should assume that it will be a problem. In short, go with what you know. If you are familiar with using the ASP.NET website, then I would use that. Your development practices are already focused around handling that.

This is the same model that I used when doing classic ASP when I first started programming at a company. This model works, although I would strongly suggest getting source control too. That being said, here is what I would do long term:

  1. Source control
  2. Develop locally
  3. Get a continous build process going (cruise control is a free one).
  4. Have one person push everyone's changes to the development server, once everyone agrees that all the changes are compatible with each other. (normally this is done by making sure the build server can compile everything).

OTHER TIPS

If you choose to use web application and add more programmers on the project, I recommend using source control. Git and Subversion are very popular. In Git, for example, you can see who commits what.

Of course, I would use source control from the get-go, whether you're on your own or collaborating with a group.

As @edmastermind29 said source control is really the #1 thing to keep that straight if you are having more then 1 developer.

It really depends on your development process. Most shops do some type of continuous integration and have unit tests running and have some sort of automated build process.

I have found that using a web application project is really the best for all the "best practice" types of things.

Check out this link for some guidance.

It really depends on how your team works, and how your environment is configured. Regardless though, you need to have some sort of source control system in place to ensure that your not overwriting each other's changes. If you don't already have a source control system in place, stop now and get one immediately.

Depending on which source control system you choose, you will at least have the basic checkin/checkout features that serve as a library for your code base; meaning if I have a file checked out you can't touch it until I've checked it back in.

If you choose a more feature-rich source control system, you should be able to take advantage of features like branching and shelving, which will allow your team to work on the same files simultaneously, and merge the changes when the files are checked in.

While your question is about web sites vs. web applications, the answer is source control. With a good source control system in place, your question becomes more or less irrelevant, aside from needing to coordinate builds with a web application.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top