views:

43

answers:

2

HI, I’m an experienced c# / ms-sql developer that has been mostly focused on WinForms / backend data services using remoting / XML Web Services and now some WCF RESTful services. I also have experience with ASP.Net WebForms (although not with Ajax or MVC).

I’m looking at creating a web site and wanted to get some input as to what tools and technologies people would recommend? I’m open to using other tools besides Microsoft although I’m most comfortable with them. I’ve seen people use the wrong tool for the job many times simply because they didn’t want to learn a new tool. Part of this experiment would be learning something new, although I don’t want to pick something that would restrict me if the site ended up being popular and needed to grow past a hobby.

The site will be a typical site where uses have accounts, can create an upload data and can generate reports and statistics on that data. The current way they would do this today would be in a spreadsheet like application. I don’t want users to have to fill in whole pages of numbers then submit to get totals etc, so it has to be more client side interactive. This will involve (I’m guessing) lots of JavaScript and Ajax. I’m thinking that every time they leave a cell or row of the table that value would be saved back to the server.

This will be a fairly small database type application with about 20 – 25 tables in the database. I have a MS-SQL database already started but I’m willing to use MySQL / SQLLite / Oracle etc.

I would like to pick something that I could get up and running with very quickly then add on as I learn. This whole process has been a challenge as I have spent most of the last 10 years working on the back end and middle tiers and not much on the front / client side of the web.

Here is what I am looking at so far ( I have both Windows and Mac based dev boxes)

  • Asp.NET Winforms with Ajax (MS Visual Studio 2010 IDE)
  • ASP.NET MVC (MS Visual Studio 2010 IDE)
  • PHP (IDE ???)
  • Ruby On Rails (IDE ???)
  • Python? (?? IDE??)
  • Pure HTML / JavaScript (Aptana Studio for the Mac)

Thanks for any input you can provide

+1  A: 

Each of the these technologies offers a slew of solution to build web site and web applications. Since you have experience on microsoft platform with C# etc and learning is one of the requirement, I would suggest trying to use Ruby, PHP or Python based solutions.

Python offers a number of web application frameworks. Django is quite popular. Give a number of them a try. There is no harm in building a simple site in a number of these technologies. It is like tasting various food preparation before concentrating on a few that suits your taste , needs and also first impressions.

Apart from that, unlike static typed languages, the IDE offers much lesser benefit or does not have the same experience with dynamically typed languages. IDE is usually not such a very focused need for dynamically typed languages like Ruby or Python.

PHP has Drupal, Ruby's rails framework is popular, Python has a slew of frameworks including Django.

A simple google search can throw a wealth of information on these.

[Edit]

Additional information on Python web application development

pyfunc
Sorry for the late reply. Thanks for the information. I am downloading RubyMine from JetBrains and going through some tutorials. Do you know if any of these have or are going out of favor? I saw a site that did a lot of Ruby consulting and many of their "Showcase" sites were not even running anymore. The one's that were seemed slow.
Chris
I would suggest you look at http://rubyonrails.org/
pyfunc
Personally, I prefer python and I have been more involved with Twisted framework
pyfunc
@pyfunc, What python setup (ide tools / framework / scaffolding) would you recommend for both a New site built with new data and a new site built on an existing database (MSSQL)
Chris
+1  A: 

I would suggest you go with MVC and jQuery. It's quite elegant (in my opinion) and there is plenty to learn, but you won't be starting from scratch and can use a familiar IDE. There are also quite a few nice video tutorials to help you get started.

I noticed that you aren't considering Java. Is there a reason for that?

Zane
Zane, Thanks for the video link. I will check that out. The more I was getting into RoR I noticed that it was an MVC framework (I knew nothing of RoR before I started) and then was thinking about ASP.MVC I like that fact the ASP.MVC lets me bring my own ORM as I have over 5 years exp with LLBLGen Pro. No reason for not including Java other than it seams to be quite a bit like C# and if I'm going that route I might as well stick with what I know, maybe I'm wrong here and someone can shed some light.
Chris