JavaEE vs PHP - 为啥这么多人认为 Java 更好? [关闭]
Posted
技术标签:
【中文标题】JavaEE vs PHP - 为啥这么多人认为 Java 更好? [关闭]【英文标题】:JavaEE vs PHP - why so many people thinks Java is better? [closed]JavaEE vs PHP - 为什么这么多人认为 Java 更好? [关闭] 【发布时间】:2012-03-17 18:43:52 【问题描述】:我需要评估一个网络项目使用什么技术,团队由 4 名开发人员组成,项目时间为 1 年。
我更熟悉 php,但客户要求我用 JAVA EE 来做。
我对 Java 及其框架的看法始终相同:
为了做简单的事情,需要这么多的 xml 和类。在 codeigniter 中,我必须使用 3 个文件(模型、视图和控制器)和 hibernate + spring + JSF 我需要超过 10 个文件!!! 滥用服务器。 javascript 代码失去了重要性,现在它并不好。当然我们可以添加 javascript 代码,但似乎“java web guy”更喜欢在服务器上而不是客户端上做这些事情。 不好看的应用程序。 Richfaces 看起来像是几年前的网络。 当我看到像liferay、alfresco 这样的Java 应用程序时,它们看起来很重而且速度很慢。我想我可能会有点困惑,因为很多人和大公司继续在网络上使用 JAVA。为什么?是关于整合?
另一方面,Java 比 PHP 更快,但 JAVA 的服务器需要大量内存(更昂贵)。在有很多请求的服务器中,我们可以使用像 php 这样的语言来改进每个进程的时间更长,每个进程的内存更少,因为服务器永远不会因为内存而崩溃。有时JAVA服务器可能会因为内存而崩溃,而在实际生产环境中的平均响应时间会比php大。
我对 Codeigniter 非常满意,为什么这么多人认为 Java 更好?
提前致谢,
阿尔伯托
【问题讨论】:
属于programmers.stackexchange.com对软件开发概念性问题感兴趣的专业程序员的问答 可能这个问题将被关闭......无论如何,在我看来,你正在混合你的想法,java和javascript是两个不同的东西,你可以使用javaEE而不是javascript来做一个网站.. javascript与本题无关 我知道 java 和 javascript 是不同的东西,我说的是 JAVA EE 与 javascript 的集成。我知道可以在视图中添加 javascript,但是所有 JAVA EE 教程中都缺少标准的 ajax 技术,似乎“java web guy”更喜欢在服务器上做事。当然你可以添加你想要的javascript代码,我们在最后讨论渲染html 【参考方案1】:我没有使用 CodeIgniter,所以我的比较已经不完整了。
问题一是:他们为什么要使用 Java?大公司通常只为生产系统提供 Java 或 .Net 环境,因此他们可能没有人员来高效地运行 PHP 应用程序。我知道这并不复杂,但维护人员会定义他们正在运行的内容。
人们经常谈论语言及其功能,但当必须讨论第一个业务用例时,没有任何框架可以为您节省这么多时间来使其发挥作用。大多数编程语言都会以某种方式解决这个问题。
Java 不仅仅是 RichFaces 或 JSF。有很多可供选择。很多。不是优势。
经常忘记的东西是工具支持。 Java 附带一个 JVM,可以详细分析它对内存、垃圾收集器、线程等的作用。 Java 中的分析器允许您在几个小时内识别出几乎所有的内存泄漏。 大多数 JVM 监控都是实时工作的(大约 5% 的开销)。 谈工具:重构支持远远超出 PHP IDE 所提供的。
如果与 PHP 相比,Java 的第一眼看起来像大象和马,那么你是对的。 (好吧,php的标志是一头大象,完美的对比......)。马在转弯时更灵活,但它们可能不会携带那么多。 我认为从语言的角度来看,Java 仍然比 PHP 更先进。命名空间、类、类型安全。这些在 PHP 中有些可用,但仍然很新。
像 Spring 这样的框架允许您在架构级别上利用您的应用程序,而不仅仅是库。
我不是最大的 Java EE 粉丝,所以我不会抱怨。
一个简单的方法可能是 Tomcat+Spring+SpringMVC 和 GUI 的模板引擎。如果您针对更高速度的客户端行为(还有更多),还有 GWT (Vaadin)。
Java 中也有轻量级的方法。我同意 Java 中的标准确实有更胖的趋势。
根据我的经验,与 PHP 相比,Java 没有重大缺点。如果人们的知识少于所需的知识并且花费太多时间学习事物,那么语言选择只会影响项目的成功。并且尝试找到关于 Java 的正确书籍本身可能是一个项目 :) (算作优势)
但我毫不怀疑 PHP 会让你完成这个项目。
我宁愿在选择技术之前先研究目标和要求。这通常意味着或简化决策。
我希望我在这里至少回答了一个问题:)
【讨论】:
非常感谢,我已经在阅读spring mvc了,blog.springsource.com/2011/01/04/… 借助 Vaadin,您可以使用 Java 和不使用 JavaScript 构建出色的 GUI——所有这些都是开箱即用的。查看示例:demo.vaadin.com/sampler @wemu 很好的答案,但我想添加更多关于丰富界面和使用客户端 v/s 服务器端脚本语言的内容。如今,您可以将 angular js 与 spring 一起使用,这更有帮助。其次,现在大多数java网站都有丰富的界面,这完全取决于你最后的设计人员和开发人员,但并非最不重要的是,如果你想使用tomcat,那么你可以看看Spring官方支持的关键服务器 是的,似乎 java 和 php 都会在中间的某个地方相遇。 php 变得更加成熟——或者更复杂;)——而使用 spring-boot 引导应用程序既快速又容易。 angularjs 并不局限于 java 世界,我读过一些关于 laravel 和 angular 的好文章。比赛仍在进行中。因此,使用 nodejs 开始没有任何背景的编程似乎更容易 - 更多的混乱 - 不那么复杂,更少的人有没有人理解或想听到的提示。但我仍然认为托管 php 应用程序要容易得多——让我们明年再谈。以上是关于JavaEE vs PHP - 为啥这么多人认为 Java 更好? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
为啥 VS Code 认为导入有效但 WebPack 不认为有效?
为啥这么红? IntelliJ 似乎认为无法找到/解决每个声明/方法