views:

316

answers:

3

Hi,

I need your advice about framework selection (Java vs Mono) for a new large scale web project which will be developed for linux hardware.

Which platform do you prefer and why ?

Best Regards, Sirmak

+7  A: 

Since you haven't specified anything about the project nor the developers' expertise, they are the same. Both have a lot of strengths and weaknesses, both are free, and both can use high-level languages which get precompiled, the precompiled stuff getting interpreted at runtime. Both have tons of technologies to do a "large scale web project" including technologies for abstracting the DB layer and doing pages and templating. Both have many many many MVC frameworks. Both have CMSes available. Both have ways to work with mobile devices, and multiple UI frameworks.

If you have no specific needs whatsoever, flip a coin. You'll be fine with either. On the other hand, you might want to know your project a bit better before asking this question.

Edit: If you have a "strong .Net background" as you say in your comment under your question, then Mono is a great fit. It's not that Mono allows you to do "something like" .Net: Mono allows you to run .Net assemblies without any alteration in most cases. This means that you can develop in .Net yet deploy on Mono (Of course you'll want to be testing on Mono during the entire development cycle), or develop for Mono without retraining your developers. Mono is, in 2009, mature and being used in many places.

As far as distributed searching/caching goes, what technologies are you looking at in Java that might work? This will give the Mono experts a chance to propose Mono alternatives.

Yar
Thank you very much for your answer. There're two free distributed caching solutions in java, terracotta (semi free) and infinispan. Distributed searching solutions in java are compass and hibernate search which are based on lucene and there's also a hibernate shards project. On mono side, I don't know any distributed search or ready to run sharding solution, there's a distributed cache named sharedcache on .net but isn't running on mono.
sirmak
Add all of this stuff to your question, or better: make a new question that is MUCH narrower based on this question. You're really askinga bout distributed search etc. on Mono, right?
Yar
good idea :)
sirmak
@yar: All things being equal (expertise, etc), I wouldnt flip a coin. I think it makes more sense to choose Java since Mono does not implement the full .NET stack, whereas Java does fully implement, well, their own stuff. ;-)
ShaChris23
+3  A: 

Another thing you need to consider are the skill sets of the people working on this, and how easy you'll find it in the future to hire Java/Mono people wherever you are (or are you willing to train them).

You can specify a great framework, but if you can't find people to work on it then you've got a major problem.

Brian Agnew
Thank you very much
sirmak
+2  A: 

Sirmak, You should check out this post where they talk about Mono performance. This might factor into your concern. In summary, Mono is still slower compared to others.

ShaChris23
Thank you very much ShaChris, very helpful.
sirmak