开发者

Is it wise decision to move from .NET to Java EE or RoR?

To develop a new project we are thinking to train .NET people learning either Java EE or Ruby on Rails. This decision is just because of open source and to avoid purchasing of operating system also Sql Server database.

Currently there are no people who work on either Java EE or RoR. All team members should learn from the scratch.

If application is growing in future and requires to have multiple servers, does open source / free software gives me TCO when compared to train people and recruit more experienced guys?

Please suggest me whether th开发者_运维知识库is is good decision or not.


You can program in .NET completely free with VS 2010 express and an open source database.

I'd stick with whatever everyone in your team has the most experience in. If you have several man-years of .NET experience, I would not move because you lose all of that.

You do not want your entire team "learning from scratch" when they are trying to build something for production. There is nobody there to guide the team across the vast asteroid field of gotchas and little quirks that each new programming language presents when you first start learning it.

My advice, stick with .NET even if that means using the open source alternatives available to you.

Also, if your project is going to grow into something that spans across multiple servers, etc... you may want to consider biting the bullet and buying commercial licenses. This way, you get support and you have someone to "blame" when (not if) things go wrong.

Either way, there are plenty .NET open source and commercial solutions that can be used to ensure your project has the right level of cost associated with it, while still being able to leverage your team's existing skill set.


Why not consider Mono? you can leverage your existing knowledge, and use open source software.


I would give a resounding NO on that.

  • If you development costs with respect to tools are a determining factor then this should be a very small project. Programmers Cost regardless of which tool you have them code on.

  • Your foundational assumption is incorrect. A there is a free version of visual studio. B. the compliers themselves for the .net languages are free. mono is available and is completely open source.

  • The cost of inexperience with a tool can cost a lot more then the cost of purchasing a tool over the long run.

  • .net is database agnostic you could utilize mysql for cost.


I would strongly suggest to move on to Ruby on Rails

Reasons will include Much easy to learn when compared to .NET or J2EE. Open Source. Very very very active community which does a lot of work for you.

Scalability wise, you've a lots and lots of options.

Instead of paying to developers pay for hardware and consider Horizontal scaling.

RoR is a complete stack to develop an web based application. It has quite a lot of support for almost all the databases (including but not limited to MySql, SQLServer, Oracle, MongoDB, NoSQL, HyperTable, etc)

A wide variety of web servers support (WebRick, Mongrel, thin, passenger, etc)

It is much faster to develop applications with Ruby on Rails. Hope both .NET developers and J2EE developers will accept this fact.

best of luck...

Kannan R.


You're going to love this answer: it depends.

Don't just think about development staff, initially or for later maintenance, but also what kind of operators you're going to need. The smaller the market penetration of your platform, the higher their wages, if you can find them at all. And to scale, you're going to need them, since unforeseen problems will arise whatever platform you use: the interaction of network infrastructure with your app servers is seldom completely trouble free. Also don't just think about your current staff, but how easily it is to recruit new people (and how much they're going to charge).

To go over the options you are listing, risking religious outcries:

  • RoR is great when you have a certain kind of app and database structure. Going outside those is going to hurt. On the plus side, the developers you'll find are likely to be eager and curious, willing to learn new stuff. On the minus side, will they leave to jump on the next bandwagon? (To be fair, this is a challenge for all relatively new technologies.)
  • I'm not sure I'd recommend J2EE as a strategic direction: other Java enterprise frameworks have gained significant traction. On the plus side, finding staff for generic J2EE dev't isn't too hard, but specific vendor extensions for operation and monitoring will vary between products.
  • .NET suffers from internal fragmentation (or, to be positive, from a multiplicity of options): are you talking ASP.NET + SQL Server? Silverlight or SharePoint front ends? Or even Azure 'cloud' apps? The greater the range of options you actually use, the harder the total set will be to operate and maintain. For some of these technologies, finding staff is a piece of cake.


If Open Source is a strong constraint sure you have to shift to Java EE or RoR (Mono is too young). But you have to consider that the TCO of your project will be augmented by the higher price of Java EE consultants.

I don't know very well RoR, but you could have some problem to find consultants at a professional level.

DOT.NET is easier to use and to develop with and you can find a lot of developers, not so expensive. Sure you have to pay for the OS and platforms as SQL Server and so on, but you told us the TCO, so you have to consider all the costs...

Especially Java EE has a lot of consultants in an enterprise environment, so the cost are higher than .NET. IMHO :-) And you have to consider that Java EE tools are not so refined as .NET Tools. Java EE people wants to sell you consulting, not OSs ;-)

May I advice you a 4th choice? PHP: it has a lot of consultants, it is open source and you can find guy developers or professional developers. It's not so elegant or appealing as Java, .NET and RoR, but a lot of Web Application are developed in PHP: Facebook is a great example! Joomla, Wordpress.

With PHP you find all you want as consultants and platforms.

Sure I assume you want to develop Web App because in the case of fat I advice you only .NET!

IMHO

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜