it-swarm.cn

什么时候Java是Web开发的好选择?

什么时候Java是Web开发的好选择?

请不要说“当您拥有仅了解Java的开发团队时”。

35
Gulshan

鉴于有许多可用的框架,平台的成熟度等,我很想说“几乎总是”。因此,有一些您不应该使用Java的原因:

  • 作为纯MS商店,您可能更喜欢以.net方式进行操作
  • 如果您需要最便宜的Webhoster,则可能只有PHP
  • 如果您想尽快完成,Ruby在Rails,Grails或Django
  • 如果您的开发团队只知道XYZ,其中XYZ!= Java,则最好使用XYZ
35
user281377

Java is用于中小型网站。关键点是Java)网站的免费Web托管要比PHP的免费托管要少得多,这意味着除非您有足够的资源来托管自己的Web服务器,否则您可能不会选择Java。

请注意,使用Java EE 6,尤其是Web配置文件),其中包含许多标准技术,它们可以创建非常强大的Web应用程序而无需编写太多代码。遗憾的是,它还不是主流。

请注意,最近随着Google Application Engine发生了一些变化,它允许您在云中免费部署标准Java)Web应用程序(有一些限制)),以用于中低流量站点。

19
user1249

如果您的平台是UNIX/Linux,则需要丰富的工具集,例如对象/关系映射,安全性,Web服务的复杂编排等。
(我们不是在谈论简单的网站,对吗?)

12
Sorantis

每当另一个Java团队激怒我时,我都会通过查找类似这样的问题来冒犯Steam。让我重申一下。我是一位客户端开发人员,至今已经有5年了。我曾经在许多网站上工作过,从一次性的大部分内容微型网站,到像Sears一样庞大的网站,到需要真正的UI专业知识的更复杂的应用程序类型的网站。我已经处理过Rails,PHP,.net Web表单(ew)、. net MVC(好得多),以及用于Web开发的Java解决方案的一揽子安排,伴随着开发人员和团队的工作,这些都是彻底的灾难,用。我也写了Python并开始挖掘Django。

我在Java团队中的经历普遍糟糕。这些工具始终是PITA。开发人员从不希望自己做错了什么,一旦排除了问题,就让他们重新调查自己的地盘,就像拔牙一样。在我的经验中,与Java团队打交道的第一个伤亡是将开发时间转换为电子邮件时间,并写了许多冗长的解释来说明问题的根源肯定在他们的末端。除非您确实想要对其进行一些控制,否则HTML通常不是他们的问题。然后,所有事情可能都会陷入困境,因为您实际上想移动一些上层div。

我不喜欢这种语言,但我认为真正的问题是文化和事实,即接受程度如此之广,中间让人感到平庸。我怀疑这种文化源于Java的营销方式。编写一次,到处部署。翻译:“您只需要学习一件事!”那些发现吸引人的人们基本上想要对每个钉子挥舞Java就像一把巨大的锤子,而对于Web开发,实际上却很少磨练他们的手艺。

因此,如果您的开发人员知道Java和其他语言,但实际上仍然偏爱Java,那么我想说,是的,如果这似乎是正确的解决方案,请继续。但是,如果您有Java开发人员知道Java,并且其他所有条件都几乎不符合在简历中真正成为要点的标准,请让他们构建具有各种半复杂结构的简单应用程序HTML页面的末尾,然后尝试进行此简单测试。破坏一些HTML。尝试让他们找出问题所在。如果他们开始解决的迫在眉睫的问题是指责自己,那就让他们远离Web开发。 Web开发人员是多学科的,因此需要对该领域的积极关注才能取得成功。对于那些只想维护一种语言的知识,对问题感到恐惧而不是对解决问题感兴趣的人来说,这不是一个地方。

我不是在断言Java本身是无能的根源,而且我听说Spring很好。我确定那里有称职的Java团队。我只是还没有碰上一个,我不认为这是一个巧合。我认为Sun与它有很多关系。我还认为,像IT部门或IT部门这样的网络团队与之有很大关系。

9
Erik Reppen

Java非常适合小型网站,例如,您可以使用Java Web服务器(例如 Tomcat )使JSP页面快速运行。

尽管以我的经验Java在大型网站上更为常见,那里对复杂的服务器端处理有更大的需求-在这种情况下,您会发现使用更复杂的Java框架,例如JavaServer Faces(JSF)。

重要的是要注意,以前在许多廉价的虚拟主机设置中都没有完整的Java安装,因此可以解释这些环境中其他语言(例如PHP)的流行。

5
mikera

在Web开发中使用Java的主要原因归结为以下几点:

  • 客户要求它。不管是好是坏,有些客户拥有“可接受的技术列表”,如果您提出不在该列表中的内容,则最好有一个很好的解释-为什么以及为什么列表中的某些内容无法使用。
  • 在Windows上开发,在Unix上部署。就像常规客户端计算机所期望的那样,大多数开发计算机是Windows,一些是Mac,很少是Linux。但是,在服务器上,您与Windows服务器一样可能会看到某种形式的Unix。 Java可能是部署到任何地方后最接近写的方法(虽然不完美,但比某些替代方法更好))。
  • 管理选择。让我们面对现实吧,选择Java)而不是仅仅基于该语言的优点,而不是仅仅基于该语言的优点,而选择另一种语言的Java可以找到程序员并替换离开项目的团队成员。
2
Berin Loritsch

从技术上讲:

  • 如果可以定义适合热点优化器的体系结构。
  • 如果您预计需要大量OO开销Java.

如果我正在启动Web应用程序,则将使用Ruby on Rails并进行设计,以便当RoR达到其性能时可以将热点换掉缩放限制。

Java具有一定的COBOL气味,“低端编码人员使用Java”一词随处可见,而Oracle壁画也无济于事。如果您有choice,请选择一种吸引顶尖开发人员的语言。

2
Paul Nathan

很简单:当主要考虑后端性能时,请使用Java。在编码时会有更多开销,但是从字面上看,代码将在时间的1/200到1/500处执行。 Ruby和其他动态类型化的语言总是比Java或.net服务器。

网路上的大多数解决方案都不需要这个。 Twitter没有放弃Rails,直到他们开始达到顶峰。

0
Rian Fowler