2008-12-31 41 views
9

我已经使用jsps和servlets完成了大量的java web开发,并且我发现这种方法非常简单和灵活。但是,涉及到的一些基础工作(如管理数据库连接)相当繁琐,而且仅仅为了获得新的Web应用程序而需要大量的工作。为简单的java web应用程序使用框架有意义吗?

因此,我正在考虑第一次使用框架,但我对框架的印象是它们主要用于大型J2EE应用程序并涉及大量复杂的配置。我正在寻找的东西很简单(在初始学习曲线之后)将使我能够尽快启动并运行新的Web应用程序。

所以我的问题是 - 是否有意义使用简单的Java Web应用程序的框架?

请注意,我没有问过要使用哪个框架(如果确实建议使用框架),因为它已被问及here

回答

7

它很有意义。我们的团队花了五年多的时间用我们的开源堆栈,无论如何,我们还有一个“种子”项目(像appfuse一样)用来创建所有新的Web应用程序。即使是维护应用程序的简单的两个寻呼机,它看起来像其他应用程序,只是更小。

简短的是,你不会得到的任何投资回报的权利,但你会随着项目的进展,你维护它。

+0

你也一定在我的项目上工作过;) – branchgabriel 2008-12-31 20:42:02

0

我会说使用一个 - 就像你说的那样,即使是一个简单的java web应用程序也可以运行起来很麻烦。如果框架可以帮助您更快地完成工作并提供所需的服务,那么我认为这很有道理。

2

是的,它确实有道理。应用程序可以发展和变化,可能需要框架可以在未来轻松提供的内容。

例如在我的工作场所,我们有简单的jsp/servlet应用程序。它只是因为我上面解释的内容才需要重写。如果有人花时间来完成框架设置,我们今天会变得更好。

7

是的,我会用一个Web框架,原因如下:

  1. 增加导航功能和控制。尽管你可能不需要它们,但它们随时都可供你使用,如果你随时需要它们的话
  2. 正如其他人所指出的,应用程序会随着时间的推移而增长,并且你会感觉到在某个时间点需要框架未来。当您需要添加其他页面和导航
  3. 允许您插入其他框架(如安全和数据库访问框架)的功能。 Spring是Java世界的一个典型例子。你永远不必使用Spring,但它可以很好地与Struts,Spring MVC,Hibernate,Acegi等结合使用,最终可以节省你自行完成所有管道的麻烦。
  4. 支持!!!良好的框架几乎总是有一个充满活力的社区来支持他们并提出问题和回答问题。

它可能看起来像太多的麻烦开始,但绝对可以节省你在未来

3

多的时间我会说这实际上是重要颇多框架,你去。像Spring MVC这样的东西在你的代码中是相当不显眼的,并且允许你现有的东西运行很多。其他框架有关于应该如何做的更具体的想法。

2

是的它是有道理的。然而,在你的问题中隐含的是,错误的(对你而言)框架可能比它的价值更痛苦 - 这是真的。在一些沉重的J2EE框架和像grails这样轻松愉快的事物之间存在着差异。

2

有什么选择?滚动你自己的?将所有导航和逻辑嵌入到JSP中?

我同意那些谁说,Web框架是值得的。现在几乎有数百个(例如,Struts,JSF,Spring,Wicket等)。选一个适合你的人。

2

有两种用途:

1),你扔掉,并不会再使用,因此不应该担心模块化,可维护性和清晰的那种。

2)真正的那种。

也许有时会显得你的应用程序可能永远不会有增长,规模,或服务比你目前正在规划一个更大的功能集/用户群....我向你保证,那感觉永远是错的。框架,特别是Java中的Struts for MVC,Spring for MVC和依赖注入,Hibernate用于对象关系建模等都是非常有价值的工具,可以在代码中实现模块化,可维护性和清晰度。所以,要回答你的原始问题....是的,着重点。

1

,但我的框架的印象是,他们大多用于大型J2EE应用程序和涉及很多复杂的配置的

未必是真实的。良好的框架可以很好地扩展,以便他们可以将您从小型应用程序转移到非常大型的应用程序。今天的许多框架正朝着零配置发展,所以你会发现它们更容易使用。

你是正确的,它确实需要一个初始努力学习框架本身,而是投资你建立的第一个应用程序为自己支付。像AppFuse这样的元框架使得它更容易上手,因为它为您预先配置了框架。

1

框架对大多数应用程序有意义。您可能需要自行构建或采用其他框架。最重要的问题是数据结构的粒度。我的意思是,你需要输入数据还是需要解析,编译和执行动态代码?

如果你认为一个框架作为一个衡量标准,左边是一个所有现成的框架工作开源或关闭,右边是所有的自定义框架,然后超级强加你的代码在框架的顶部工作复杂度增加到正确的程度。你走得越远,你就会对框架工作(海事组织)有更多的st st。

但是,你也可以慢慢地从现有的自定义架构迁移。

也有关于您的业务问题。如果您的公司工作的目的不是软件,而是像银行或医院这样的核心竞争力,那么您需要将其转化为您想要构建的框架的多少。

底线某种类型的框架将始终有用。

8

如果你不使用web框架,你通常最终会写一个 - 很差。

+2

这是一个很好的观点,我已经看到了这一点。 – MCS 2009-01-01 23:00:19

1

由于学习曲线的原因,使用框架可能会给Web应用程序开发增加一些开销。但是,根据您选择的框架,您可以实现以下好处:

  1. 可扩展性
  2. 可维护性
  3. 模型的
  4. 分工明确(如MVC)
  5. 乱的-box组件(SessionManagement,认证等)
  6. 第三方插件
  7. 模块化从框架
  8. 许多人继承。

此外,学习曲线是一个可变因素。取决于你的技能,一些框架可能比其他框架更容易学习。

2

不,它不需要,除非:

  1. 你没有任何Java经验 在你的团队
  2. 你正在做的只是一个原型, 必须以小时为单位准备
  3. 你不不要相信你的开发者 足以让他们编写你的 应用程序
  4. 你不打算让你的 开发人员学习和改进

在使用框架的危险包括但不限于:

  1. 你会得到所有框架的缺陷上 顶在自己的
  2. 你将无法做到切合实际的估计,直到你 知道完美的框架
  3. 你的团队不会学习如何将 Web服务器
  4. ,你会发现你的团队经过编程更 多时间在谷歌而不是 通过编写代码解决问题。

这是最坏的选择开源框架具有谁应该建立“大最终完成公司的框架”,公司独立[R & d球队的唯一的事情。

1

使用框架进行研究绝对有意义,即使没有其他原因,它会给你一个新的知识领域。如果您有时间投资学习框架,那么您可能会及时发现,无论它们有多简单,将它用于新项目会更容易,更快速。

另外,如果我可以投票给SamBeran的职位,那么我会。开始使用框架将涉及“哦,太棒了!我不需要再写所有的样板!”。