views:

118

answers:

8

I've never done any web development on Linux, and I'm about to start a project that requires it. I love ASP.Net MVC, so what are my availble options on Linux that kind of follow the same principles?

The project is a very simple "ecommerce" site (two or three products). There may be other sites to come though that are more complicated.

Ruby on Rails comes to mind. Is there something else? Ideas? Thoughts? Pros? Cons?

EDIT: Just personal preference, no PHP, Java, or Mono for this project.

+2  A: 

I've used Django, a Python MVC framework, and it's nice. Lots of 'ecosystem' around it as well. I've not used Rails, so I can't compare the two, but I like Django a lot.

Harper Shelby
+2  A: 

Ruby on Rails and Merb for Ruby Django for Python CakePHP, CodeIgnitor and others for PHP.

There are many, many options, and no way to narrow it down without knowing more about your experience, preferences, and goals. The first thing you need to know to narrow down the list is what languages are acceptable. I don't know Python and hate PHP, so I tend toward Rails and Merb. Rails in particular I can heartily recommend; it's a very well-put-together framework.

Unfortunately, I have not used Microsoft's framework, so I can't provide any insight on which other frameworks may be similar to it.

Finally, it's worth noting that these are not exclusively Linux frameworks. Practically speaking, they usually run on some kind of Unix (which may also be BSD, Solaris, or others), but many of them will run just fine on Windows as well.

Thom Smith
I thought Ruby on Rails was engineered for MVC... why do you need Merb?
Max Schmeling
Merb's just a different framework. It's designed to maximize modularity (for example, allowing other ORMs than Active Record). The Merb and Rails projects are actually converging in the near future.
Thom Smith
A: 

If you love asp.net MVC, why not use it ;)? You can check those two discussions (I suggest reading first answers, not necessary the questions themselves): [1] [2] . I can't say I've tried that myself (although, I've used asp.net on mono just for tests and it worked well.

Ravadre
+1  A: 

If you love and know asp.net mvc, why not use mono to run it? If you're making a very simple site, I find it hard to justify the cost of learning a new stack of something when the stack you know works.

svinto
That's a good idea.
Dave
I would normally agree with you, but it's not a pressure on time, and I'd like to learn something new while doing this.
Max Schmeling
I think if you're going to learn a new stack it's better to start with smaller apps.
Andy Gaskell
I probably will start with an extremely small application, but this ecommerce site isn't that big... it's going to start off pretty simple, and will probably use paypal or something for payment processing so it's going to be fairly painless
Max Schmeling
A: 

Not to forget the Zend Framework which is actively developed.

Kezzer
A: 

For PHP try http://codeigniter.com For Java try: http://www.stripesframework.org/display/stripes/Home

-Dave

Dave
+1  A: 

Since ASP.NET MVC is essentially an attempt at duplicating two thirds of Ruby on Rails, why not try that?

Apart from everything else, the ASP MVC framework is pretty crippled in that it doesn't actually have any support for the model.

jalf
You have a point with your second sentence there, but the framework still works pretty well. Then again I don't have any experience with something like RoR so maybe I just don't know what I'm missing.
Max Schmeling
Yeah, I didn't mean that ASP MVC was a bad framework. Just that it's missing a third of the MVC pattern, and that most of the frameworks it's based upon give you all three parts of the pattern. ;)
jalf
@jalf: I'm genuinely curious to understand what you mean by this "doesn't have any support for the model". I don't have enough experience with MVC frameworks (ASP.NET MVC included) to understand what you mean. Is it lack of a built in ORM (LINQ2SQL aside)? I've been slowly trying to learn ASP.NET MVC in my spare time so I'd like to know what am I missing.
jbinto
Yeah, if you look at RoR, a major part of its popularity is due to ActiveRecord, the (very good) ORM layer it uses by default. ASP MVC simply does not include *any* facilities for the model part of MVC. Some of it can be solved with Linq, of course, but not all, and it is not a part of ASP MVC.
jalf
+1  A: 

I'd fully recommend checking out Rails, one thing you might want to do if you're coming from a MS background only is get an Ubuntu VM setup. I suppose you technically can develop Rails apps in Windows but I don't think it'd be worth the hassle.

Getting setup takes a few steps, but if you do decide to go with Ubuntu this will help.

Andy Gaskell
I have been running a Ubuntu VM for a while now. And just for clarification I come from a Windows world professionaly, but I do have a bit of Linux experience (not much with development though)
Max Schmeling
Rails is fun to work with, I think the biggest thing you'll notice is that you just write less code. Not having to compile is very nice too.
Andy Gaskell