我应该使用框架吗?

Aer*_*nth 8 java model-view-controller swing frameworks griffon

我知道这个问题很模糊,但我会尽力让自己清楚.

我正在启动一个涉及Swing GUI的Java项目.我想遵循MVC模式,并可以使用框架中的一些帮助来组织项目的体系结构.我正在考虑使用Griffon,尽管我认为其他人可能会这样做.

那么,在以下方面使用框架是一个好主意:

  • 编程效率:当然,它会在大多数时候得到改善.更准确地说,如果项目是一个小项目怎么办?还是一个大的?如果我已经非常熟悉Java和Swing怎么办?如果我不是怎么办?如果项目必须由对我使用的框架一无所知的人维护,该怎么办?

  • 学习价值:我是否只是"学习如何使用框架",而不是在不同的环境中学习更多关于Java和Swing的知识?

  • 专业价值:对于更了解"传统"方法的开发人员,公司是否更喜欢知道"更多"框架的开发人员(即使他们可能不是他们打算使用的框架)?

考虑到这个问题有多大,我在其他地方发现的信息很少,这是令人惊讶的.这看起来似乎微不足道,但我其实很想知道它.

aal*_*ray 6

当然,我对Griffon有偏见,但我会尽量做到客观:

  • Griffon是JVM的MVC框架/平台.确实,选择的编程语言是Groovy,但是也可以使用其他许多语言,请参阅指南中的这个示例http://griffon.codehaus.org/guide/latest/guide/tips.html#nonGroovyArtifacts,其中显示了如何可以编写纯Java应用程序.如果您安装特定插件,则可以使用其他选项http://artifacts.griffon-framework.org/tags/plugin/polyglot
  • 格里芬的理念是让你的选择保持开放.确实,有时框架会引导你走特定路径,但是它提供了足够的腿部空间,也就是说,你可以按照自己的曲调跳舞.例如,编写Views通常是在Groovy SwingBuilder DSL(Swing的一个微妙的抽象层)之后完成的,但是如果你愿意,你可以下载到Java层并用普通的Java/Swing编写; 或选择NetBeans Matisse,Abeille Froms Designer或任何其他支持Swing的Visual工具.
  • 插件是Griffon成功的关键.正如您在http://artifacts.griffon-framework.org/category/all/plugins上看到的那样,目前有211个插件,还有更多插件即将推出.

但最终只有一个重要的意见:你的意见.我建议你和Griffon一起花几个小时,如果你还没有看到它增加的价值......我担心我们必须更加努力才能让它变得更好.

干杯

  • 谢谢 !但是,我的问题实际上是针对一般的框架 - 我认为如果我决定使用Griffon将是一个不错的选择.我是编写GUI的初学者,我发现从头开始创建一个Swing应用程序是不必要的痛苦,考虑到我只遵循标准.我还想写简单的Java,因为我想学习它.所以我认为一个框架至少会提供起始架构,甚至可能更多.这就是为什么. (2认同)

小智 5

我们知道,Griffon基于Groovy而Groovy有一个漂亮的Java风格,可能你会避免很多代码行,但我们总是需要考虑知识和时间表等方面.

  • 知识:你的工作效率与你所知道的以及如何使用你所知道的相关,如果你觉得Java很难,使用Java,因为,你的目标似乎是使用MVC,正如Juned所说,我们可以用Swing做到这一点也是.
  • 时间表:如果你有时间学习并且现在真的想学习一个新的框架,现在是时候了,但是你必须遵循你的日程安排,不要忘记你需要在当时完成这个项目.

因此,请考虑使用您所知道的内容,并将新内容研究到另一个项目中.

避免在没有手电筒的情况下在黑暗中潜水.


WeM*_*are 3

我正在评估 Griffon 作为一个框架。我的印象是这个项目正在慢慢消亡。恕我直言,Groovy 不再是主流(我想知道它是否曾经是主流?)。现在每个人都喜欢 Scala。

现在回到你的问题:

  • 大多数框架都希望您遵循标准的开发路径。任何更改/定制很可能会引入难以维护的解决方案(之后他们将其称为架构)。选择一个可以让您完成您计划做的 95% 事情的框架。是的,选择一个主流框架。
  • Griffon 是基于 Groovy 的,所以你必须先掌握 Groovy。好吧,Groovy 是一种 JVM 语言,如果您熟悉 Java,它将有很大帮助,但所有这些 DSL 仍然需要一些时间在您的脑海中消化。
  • 如果您了解任何主流框架 - 这是一笔宝贵的资产。可悲的事实是,框架往往会褪色/死亡,你必须不断寻找新的流行事物。你永远不会停止学习(尽管关键原则不能改变并且在不同框架之间保持不变)

  • 恐怕如今 Scala 比其他任何东西都更受炒作。不管怎样,Griffon 也支持 Scala(很快就是 ScalaFX),所以它和 Scala 一样主流(根据你自己的推算)。 (2认同)