JavaEE vs PHP - 为什么这么多人认为Java更好?[已关闭]

2022-08-30 17:13:45

我需要评估Web项目的技术用途,团队由4名开发人员组成,项目时间为1年。

我更熟悉php,但客户端要求我使用JAVA EE来做到这一点。

我总是对Java及其框架有同样的看法:

  • 这么多的xml和类,以便做简单的事情。在codeigniter中,我必须使用3个文件(模型,视图和控制器),具有休眠+spring + JSF,我需要超过10个文件!!!
  • 滥用服务器。JavaScript代码失去了重要性,现在它并不好。当然,我们可以添加javascript代码,但似乎“java web家伙”更喜欢在服务器上而不是客户端上做这些事情。
  • 不是好看的应用程序。Richfaces似乎是几年前的一张网。
  • 当我看到像liferay这样的java应用程序,alfresco时,它们看起来很重而且很慢。

我想我可能会有点困惑,因为很多人和大公司继续使用JAVA进行Web。为什么?这是关于整合的吗?

另一方面,Java比PHP更快,但JAVA的服务器需要大量的内存(更昂贵)。在具有许多请求的服务器中,我们可以使用像php这样的语言进行改进,每个进程具有更大的时间,每个进程的内存更少,因为服务器永远不会因为内存而崩溃。有时,JAVA服务器可能会因为内存而崩溃,而实际生产环境中的平均响应时间将大于php。

我对Codeigniter非常满意,为什么这么多人认为Java更好?

提前致谢,

阿尔贝托


答案 1

好吧,我没有使用CodeIgniter,所以我的比较已经不完整了。

问题是:他们为什么要求Java?通常,大公司只为生产系统提供Java或.Net环境,因此他们可能没有人能够有效地运行PHP应用程序。我知道这并不复杂,但维护人员定义了他们正在运行的内容。

Ofter人谈论语言及其功能,但是当必须讨论第一个业务用例时,没有框架可以节省您的时间来使其发挥作用。大多数编程语言都会以某种方式解决这个问题。

Java不仅仅是RichFaces或JSF。有很多可供选择。好多。不是优势。

经常被遗忘的东西是工具支持。Java附带了一个JVM,可以详细分析它如何处理其内存,垃圾回收器,线程等。Java 中的探查器允许您在几个小时内识别几乎任何内存泄漏。大多数JVM监控都是实时工作的(大约5%的开销)。谈论工具:重构支持远远超出了PHP IDE附带的范围。

如果第一次看Java与PHP相比看起来像大象和马,那么你是对的。(好吧,php的标志是一头大象,完美的比较...)。马在转弯时更灵活,但它们可能不会携带那么多东西。我认为从语言的角度来看,Java仍然比PHP更先进。命名空间、类、类型安全。这些在PHP中有些可用,但仍然很新。

像Spring这样的框架允许你在架构层面上利用你的应用程序,而不仅仅是库。

我不是最大的Java EE粉丝,所以我不会抱怨这一点。

一个简单的方法可能是Tomcat + Spring + SpringMVC和GUI的模板引擎。还有GWT(Vaadin),如果你的目标是更高速的客户端行为(还有更多)。

Java中也有轻量级的方法。我同意Java中的标准确实有更胖的倾向。

根据我的经验,与PHP相比,Java没有重大缺点。只有当人们的知识少于所需的知识并且花费太多时间学习事物时,语言选择才会影响项目的成功。试图找到一本关于Java的正确书可能是一个项目,:)(算作优势)

但我毫不怀疑PHP会允许你完成这个项目。

我宁愿在选择技术之前先研究目标和要求。这通常意味着或简化了决策。

我希望我在这里至少回答了一个问题:)


答案 2

推荐