首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不使用Java web框架让生活变得更好?

不使用Java web框架让生活变得更好?
EN

Stack Overflow用户
提问于 2009-04-23 10:49:16
回答 12查看 5.3K关注 0票数 48

我已经厌倦了每隔一天就得学习另一个Java web框架。

Struts、Wicket、JSF、JBoss Seam、Spring MVC等等--所有这些无数的框架都试图解决同样的问题。然而,它们都没有真正解决根本问题--这就是为什么总是有越来越多的新问题出现。

大多数在第一印象中看起来都非常明亮和闪亮,因为它们简化了简单的事情。

但是,一旦涉及到现实世界用例的实现,就会遇到问题。

通常,框架并不提供任何帮助,而是通过强制根据框架自身的逻辑和环境来实现,从而阻碍了一个框架,并限制了选择。

简而言之,在使用框架时,我看到了以下缺点:

  1. 在开始之前,你首先需要理解一些非常学术的概念,并知道一堆配置文件的含义和位置。
  2. 文档通常或多或少很糟糕,要么缺少一个可供公众访问的在线参考,要么是无助地过时了,将不同的不兼容版本或所有这些混淆在一起,通常不会提供任何有帮助的示例。
  3. 框架由无数的类组成,这使得仅通过浏览sources.
  4. Therefore实际上不可能理解其预期用途您需要购买一些“21天内虚拟用户的XYZ使用”类型的书,这些书的用户界面很糟糕,因为它们缺少全文搜索,而且携带起来很麻烦。
  5. 要真正使用这些框架中的一个,您需要记住如何按照框架要求的方式来完成任务足够的类和方法名,直到你满脑子愚蠢和无用的信息,你不能用在别的地方。
  6. 有一个很大的开销,
  7. 在现实世界中,由于工作效率的压力,你通常没有时间去熟悉新的东西。由于这种通过实践学习的方法,人们总是只寻找完成下一项任务的最快方法,而不是真正理解新工具。possibilities.
  8. The认为,遵循标准将允许项目新手快速上手的观点在我看来是不成立的,因为每个项目都使用不同的框架,甚至在同一公司内(至少在我的情况下是这样)。

在我看来,下面这段来自阿尔伯特·爱因斯坦的话非常适合这里:

“我们不能用我们创造问题时使用的那种思维来解决问题。”

回到我美好的旧PHP编码时代,当时编码仍然是有趣和高效的,我过去常常为大多数事情编写自己的框架,只是复制-粘贴并在一个项目到另一个项目中采用它们。

这种方法得到了很好的回报,导致了快速的开发,没有任何开销,并且框架实际上比大多数Java框架更强大,但在单个文件中只有几百行代码,外加一些简单的mod_rewrite规则。

这当然不能解决web开发的所有问题,但它简单、快速、直截了当。

虽然完美地调整了当前项目的要求,但它也很容易扩展,并且由于零开销而具有非常高的性能。

那么,为什么使用这个框架会有那么多麻烦,为什么不把它们都扔掉,回到根源呢?

当我们明天又开始一个新框架的项目时,我应该对我的老板说些什么?

或者,有没有可能框架真的起到了作用?

或者是我忽略的一些隐藏的优势?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-04-24 09:17:16

这是Kev从线程What’s your most controversial programming opinion?中引用的一句话,非常适合这里:

我认为整个“企业”框架的东西都是烟雾弥漫。J2EE、.NET、大多数Apache框架和大多数用于管理这类事情的抽象造成的复杂性远远超过它们所解决的问题。

以任何常规的Java或MVC,或者任何所谓的现代.NET框架为例,它们都能“神奇”地解决繁琐、简单的任务。您最终会编写大量难看的XML样板,这些样板很难快速验证和编写。你有大量的API,其中一半只是为了集成其他API的工作,不可能回收的接口,以及只需要克服Java和C#的不灵活的抽象类。我们根本不需要这些。

如果所有不同的应用服务器都有自己的描述符语法、过于复杂的数据库和群件产品呢?

这里的重点不是complexity==bad,而是不必要的complexity==bad。我在大型企业安装中工作过,其中一些是必要的,但即使在大多数情况下,解决大多数用例也只需要几个自制的脚本和一个简单的web前端。

我会尝试用简单的web框架、开放源码的数据库和琐碎的编程构造来替换所有这些企业级应用程序。

票数 12
EN

Stack Overflow用户

发布于 2009-04-23 11:18:51

在我美好的旧

编码时代,编码仍然是有趣和高效的,我曾经为大多数事情编写自己的框架,只是复制-粘贴并从一个项目到另一个项目采用它们。这种方法得到了很好的回报,导致了快速的开发,没有任何开销,并且是一个实际上比大多数Java框架更强大的框架

请原谅我一秒都不相信。

,但在单个文件中只有几百行代码,外加一些简单的mod_rewrite规则。这当然不能解决web开发的所有问题,但它简单、快速、直截了当。

因此,基本上您在几个月或几年的时间里开发了自己的框架,根据您自己的需求量身定做,并且可以非常快速地使用它,因为您非常了解它。

然而,你不能理解为什么其他人也这么做,然后试图把结果变成每个人都能使用的东西?

你开发的这个伟大的框架在哪里?如果它如此强大和易于使用,那么使用它开发的专用社区、数千用户和数百个网站在哪里?

每个项目都使用不同的框架,即使在同一个公司内也是如此(至少在我的例子中)

这就是你的问题所在。为什么你要在每个项目之后丢弃从每个框架中获得的专业知识?

这个想法是选择一个框架,并坚持使用它,而不是多个项目,这样你就可以精通它。您必须投入一些时间来学习框架,然后它可以让您在更高的层次上工作,从而节省您的时间。

票数 35
EN

Stack Overflow用户

发布于 2009-04-23 11:23:32

提出您自己的框架的问题是,您将犯所有已建立的框架已经偶然发现并解决的所有相同的错误。这是正确的,特别是当涉及到安全性时。

只要问问Jeff和他们在堆栈溢出中实现WMD时需要考虑的问题。我宁愿使用他们在项目中产生的东西,而不是从头开始实现它。这只是一个例子。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/781191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档