views:

462

answers:

3

I am a relatively new programmer; a bachelors in CS, about 2 years out of college, working mostly with .NET in C#. I am fairly fluent with SQL interaction/scripting, and have done a little work with ASP.NET (mostly maintaining an existing site).

I'm interested in starting a website in my free time, the closest thing I can describe to it is a social networking site. An extremely friendly UI and communication between the members is very important.

I'm wondering if I should attempt this from scratch via ASP.NET because of my experience with C#, .NET, and SQL Server, or should I try to learn a framework like RoR? or perhaps a CMS like Drupal or Joomla? Really, any direction such as articles, books, etc would be very helpful. Thanks!

Edit: It should be noted I have a Windows Server 2008 machine I was planning on hosting the site from, though it is not absolutely necessary.

+3  A: 

If you want to use asp.net, I would suggest you to use ASP.NET MVC:

http://www.asp.net/mvc/

I started with Contact Manager tutorial:

http://www.asp.net/learn/mvc/tutorial-26-cs.aspx

It is easy and helps you understand the basics. When you'll understand the basics, take a look at http://sharparchitecture.net/. It allows you to create fast application using ASP.NET MVC and nHibernate using many recommended patterns.

I would advise against using CMS, because it is much more educational to build application from sratch.

jQuery, which is practically a part of ASP.NET MVC, will allow you to make smooth interfaces.

I am creating MVC based bugtracker and I learned a lot during last year.

LukLed
+1 for mvc recommendation
thekaido
Thank you for the recommendations. I will look into the tutorial you provided, and Sharp architecture.
Tarvos
+1  A: 

Given your existing experience (c#/asp.net/sql server), resources (server 2008), and interests (RoR, Drupal, Joomla), I have two recommendations:

  1. ASP.Net MVC. It gives you a similar architecture and some of the features of RoR, but in a way that fits your server and your skills.
  2. A social networking site is likely aiming more than a little too high, in terms of bandwidth and server requirements (you'll need more than a consumer level connection and more than one sever), time (it's a bigger task to build than it seems), and reach (the space is well-filled - you don't have the marketing power to be a player).

Until recently I would have recommended you build your own blog engine as an alternative. That used to be a sort of developer rite of passage, to not only have your own blog but the write the code that runs it. However, that seems played out as hosted options like wordpress have matured (though I still believe that if you blog about .Net technologies you might want to find an asp.net-based platform).

Instead, you might try writing a url-shortening service, twitter client (and site to host the project for downloads, etc), or web-based iPhone app. Those all seem to be very much in vogue right now.

Joel Coehoorn
Thank you for the feedback. I have dabbled in ASP.NET MVC (even have a book on it) so I'll probably put some time into preparing myself with some example projects. I also didn't properly specify, the "social Networking" site does not aim to compete with facebook, myspace, twitter, etc at all. It is very niche, and I have confirmed it does not exist. I am also a member of some large clubs that would utilize that site, to gain some traction.
Tarvos
A: 

Based from your given knowledge and experience, use either asp.net mvc or webforms( or combine them if you want ) then start it from scratch. You will gain a lot of knowledge and you can tweak or customize your site the way you want to envision it. And one more thing, it's a real fun since you're going to get hook to it (coding,designing ui,debugging etc.) ! I can say this because I built a social networking site ( http://joecaps.com ) in asp.net complete with chatroom, users can upload photos, users can create their friendslist , users can create their own music playlist , post messages to friends, etc. Have fun!!!!

jamal