我的一个客户想要一个用 Java 设计的新闻网站,我告诉他 Java 对于那种网站来说太过分了。我向他建议,我们可以为他定制几十个 CMS,以及其他更适合网站的编程语言,但他坚持。
Java 对新闻网站来说是否矫枉过正?
我认为这里真正的问题是,无论您的客户是谁,都有这样一种观念,即问题可以通过名称删除的编程语言来解决。我知道您也意识到了这个问题,但在任何业务中“客户永远是对的”,您必须让步。
那么对于新闻网站来说,Java 是不是矫枉过正呢?那要看。如果他要求的内容可以在 Drupal 甚至 Wordpress 中开箱即用,那么答案是肯定的。进一步的真正问题将是:
我认为语言论点有点无关紧要,只要有足够的时间和技能,您就可以实际地用任何东西编写任何东西。Java 并不比许多其他工具好/差。然而,真正的答案已经在这里——使用 CMS 必须是有意义的。为什么要从头开始写,听起来确实像是在重新发明一个轮子。
为什么不做一个基本的需求列表,交叉匹配到 CMS(Java、Python、Ruby 等),然后如果你必须从头开始编码,那么对相同的功能进行定价。这是一个很好的论据。
让他看看http://en.wikipedia.org/wiki/Magnolia_(CMS) ( http://www.magnolia-cms.com/home.html ) - 它是用 java 编写的。社区版是开源的
该语言没有定义可能的功能集,对于任何重要的事情,Java 与 PHP 相比也没有特别高的开销。真正的问题是:
我会尝试与您的客户澄清真正的要求是什么;您也许可以使用现有的 CMS 并对其进行自定义;一些 CMS 可以使用 SOAP 或其他一些外部 API 进行自定义,允许您使用任何您想要的语言进行自定义。
除非他真的知道他在说什么需要 Java(可能与硬件/操作系统相关等),否则您可能只是向他展示他正在寻找的示例。
基本上,让他专注于他想要的东西。一旦他承诺,“这就是我需要的”时刻,你可以向他解释他不需要 Java,但他可以用其他更便宜的东西和更快的速度为他开发。
有许多开源产品可以满足需要。我建议你看看其中的一些,然后确定你是否可以扩展它们来做任何缺失的事情。
我会说用任何语言从头开始编写这样的服务是矫枉过正的。
在我看来,从长远来看,Java 非常适合构建和维护CMS……当使用正确的设计和工具时,它为您提供了类型安全和 IDE 支持的所有好处。
看看 Jease ( http://www.jease.org/ ),这是在几分钟内创建自定义 Java-CMS 的一个很好的开始。