views:

181

answers:

5

I have experience in client-server application development in C/C++ on Windows platform. I would like to get into web based application development. I have an understanding of web application development concepts in general. Which web application development framework would be the quickest to learn/master? I am currently learning .NET and C# but the current Microsoft web application development stack appears to have a steeper learning curve with its myriad technologies like ASP.NET, MVC, SilverLight and WCF. On the other hand I keep hearing about Ruby and Rails and it appears that Ruby is much easier to learn and Rails inherent use of MVC is the most natural way to develop web applications & is also much quicker to develop. I am leaning more towards Ruby but I am worried that I may slowly move away from the Windows platform into some unchartered territory.

+1  A: 

It's not that Ruby-on-Rails is bad stuff - in fact, it's awesome!

Yet everything is about trying out and especially your own preference.

You have experience with C# and .NET (I guess you have also experience with Windows Forms).

The concept of Windows Forms and C# as the "code behind" you'll have no big issues adapting to WebForms or Silverlight.

Except there are some web specific things but there is an amazing learning opportunity at http://www.asp.net

I have had the same learning curve as you have and learned basic ASP.NET development in less than a month. (Things that I couldn't do, either in PHP / Symfony nor JS out of the box).

ASP.NET MVC is a great framework that has a similar functionality to Ruby-on-Rails/Symfony - yet it is a little bit different and has some MS specific features which are also amazing.

I would suggest you to get the following book: Professional ASP.NET MVC 1.0

Shaharyar
A: 

We have a similar question : http://stackoverflow.com/questions/737719/how-to-get-started-with-web-development

Shoban
+1  A: 

Try web2py framework: http://www.web2py.com/. It uses Python and in my opinion is very easy.

Michał Niklas
+1  A: 

If you would like to stick with with c++, try wt: http://www.webtoolkit.eu/wt .

From my limited experiance, php and certain frameworks built on it are the easiest to jump into.

Web2py is a nice portable python framework (I'm told that code works in google appengine without modification), which you could look into as well.

But it boils down to personal preferance. Try on all the shoes that you can find, pick the one that fits you best.

Alterlife
+1  A: 

First off you should know that moving to web based application development from client-server stuff can be a learning curve in and of itself. I recommend learning at least the basics of HTML, CSS and JavaScript as well as your programming language of choice.

Try out 2 or 3 different languages to start with and go through at least a basic tutorial on each to get an idea of what your likes and dislikes are. When I started the first 3 I tried were ASP, PHP and Perl. I went with PHP for many reasons which I won't get into here but the point is you just have to try it out for yourself. Since then I've learned Ruby, Python, Java and want to learn Scala soon. For starters I usually recommend trying Ruby or PHP. If you try PHP be sure to also look into CakePHP or another MVC framework to get you going faster.

Kyle Kochis