我应该使用Java还是.NET进行Web开发?

时间:2009-07-09 19:13:04

标签: java .net

这两个平台/生态系统中哪一个更适合编写Web应用程序/网站?

我对语言功能不感兴趣,而是对可用的工具感兴趣:Monorail,MVC.NET,NHibernate等。这些工具通常用于构建现代的,数据驱动的,支持AJAX的网站。

假设平台的选择取决于您。操作系统并不重要。

11 个答案:

答案 0 :(得分:17)

都不是。这一切都取决于您的个人喜好和您的舒适。你可以用两者完成工作。

修改

为了更直接地解决您在编辑后引发的工具问题,您可以直接比较这样的事情:

+--------------------+------------+-----------+
| Tool \ Environment | .NET       | Java      |
+--------------------+------------+-----------+
| Web framework      | .NET MVC   | Struts    |
| ORM Mapper         | NHibernate | Hibernate |
| Unit testing       | NUnit      | JUnit     |
+--------------------+------------+-----------+

...事实上,很多工具(NHibernate和NUnit都是例子)在.NET领域被移植和使用之前起源于Java世界。

答案 1 :(得分:13)

这取决于......你最精通哪一个?就是那个。

答案 2 :(得分:9)

您需要问问贵公司的最重要问题是:我们是否只将Windows用作未来的部署平台?

如果不是,那么.NET是不可能的:)

如果是,那么我们可以继续 - 我相信.NET在工具方面优于Java。

答案 3 :(得分:3)

我已广泛使用这两种情况,而且这些天我很难推荐一种方式(假设当然不考虑平台,许可成本和现有团队技能等因素)。

我要说的一点是,Java生态系统比.Net生态系统更大,更多样化(尽管差距正在迅速缩小)。许多.Net用户倾向于支持直接来自Microsoft的产品和框架,这似乎导致了.Net世界中更多的“标准化”。

我加入了Java项目,花了2-3个星期才开始提高工作效率。在一个案例中,构建系统(Maven),IDE(NetBeans),Web框架(Tapestry),O \ R层(我不记得以及从未使用过的东西)对我来说都是新手。从我所看到的你不太可能在.Net商店看到这个。

Java世界中的所有选项都可能非常混乱,并且可能使您的团队的新手难以加快速度。说到这一点,一旦做出(智能!!)决策并制定标准,Java开发就没有理由比.Net更高效或更低效率了。

答案 4 :(得分:2)

这取决于您托管的平台。我个人更喜欢.NET,但如果我有另一个环境,我会使用java(如果没有像PHP / Ruby这样的其他环境)

答案 5 :(得分:2)

我喜欢Java。我喜欢日食。

但是你总会发现.NET托管比java服务器便宜得多。

答案 6 :(得分:1)

如果你正在使用Windows,并且你已经开始使用这两个框架中的一个,那么就没有理由使用.Net。

答案 7 :(得分:0)

对我来说,Visual Studio使它成为一个简单的选择:)

答案 8 :(得分:0)

我想看一下Groovy以及构建于它之上的web框架:Grails。它易于使用,简单,但如果必须,您可以使用完整的Java堆栈。

我不知道.NET,但我不会选择仅Java 解决方案,即 100+ webframeworks中的任何。 ..太多的样板代码,太多的抽象。如果你遇到麻烦并且真的必须知道幕后发生了什么,你可能会遇到麻烦......

答案 9 :(得分:0)

我认为这两种系统都有其优势。

您可以轻松捆绑Java Web应用程序并将其部署在众多应用服务器(Tomcat,Glassfish等)上。 Java拥有一个非常丰富,成熟的社区,其中包含许多出色的开发框架和功能丰富的IDE(NetBeans和Eclipse)。该技术是便携式的,因此您永远不必选择操作系统。最好的部分是,大部分都是免费的。 Java中的大多数框架也被设计为彼此“放置好”,因此您可以随意插入和播放不同的功能(ORM,AOP,IOP容器等)。对于.NET来说,这并不是特别正确,没有那么多的免费库/框架可以与该技术一起使用(对于Java框架的采用级别来说,肯定不是很多)。

作为一个优先选择,我更喜欢.NET,因为我认为开发环境稍微容易一些,而且文档非常一致(我觉得效率更高)。这并不是说Java没有良好的文档,它只是倾向于依赖于项目的命中或错过。在我看来,Visual Studio是最好的开发环境;它需要学习什么相当于一个非常复杂的网站框架。不幸的是,它需要花费一些钱,并且该技术相当于微软认为你应该承诺的最佳模式和实践(尽管它们倾向于从Java中大量借用,因此它通常最终会成功)。

我相信更多的人会对此有所说明。我希望,您也在编写一些业务应用程序的上下文中提出这个问题。如果这是针对您自己的个人网站,我建议您转向更便宜(托管),更轻松的技术,如Ruby或PHP。

答案 10 :(得分:0)

2选择java的原因: -

  1. 平台独立
  2. 免费(为大合作省下很多钱)
  3. 即使您不打算在任何其他平台上使用系统,成本也是非常重要的因素。我同意,截至目前,我无法将java与.net进行比较。 dot net有很棒的功能,很棒的工具支持但是我希望,oracle将来会提供相同的解决方案。你可以看到Java FX是迈向这一步的一步。我也听说java是安全的,但没有找到任何具体原因。如果不同意,请告诉我。