我已经做了大量的java网络开发使用jsp和servlet,和我已经找到这种办法是简单和灵活。一些基础涉及虽然-如管理数据库连接-是相当繁琐,并且它需要相当数量的工作只是为了获得一个新的网络应用程序。

我因此,考虑到使用框架的第一次,但我印象的框架是它们主要用于大J2EE应用程序,并涉及很多复杂的结构。我在寻找什么是简单的东西,(后的最初学习曲线)将使我能够得到建立和运行一个新的网络应用程序,尽可能快地。

所以我的问题是-它是有意义的对使用一个框架,用于一个简单的java网应用程序?

注意,我不要求其框架内使用的(如果确实是框架的建议),因为它已要求 在这里,.

有帮助吗?

解决方案

这很有道理。我的团队用我们的开源堆栈花了五年的大部分时间,无论如何我们都有一个“种子”。我们用来创建所有新的网络应用程序的项目(类似于appfuse)。即使是维护应用程序的简单的两个寻呼机,它看起来像其他应用程序,只是更小。

简而言之,您现在不会获得任何投资回报,但随着项目的发展,您将继续维持它。

其他提示

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

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

  1. 增加的导航功能和控制。尽管你可能不需要他们,他们在那里为你使用的你应该要求他们在任何时间
  2. 正如其他人所指出的,应用程序随着时间的推移你会觉得需要的框架,在某一时间点的未来。当你需要添加其他网页和导航
  3. 功能,让你插头插入其他框架,例如安全和数据库访问的框架。春天是一个主要例子,在Java的世界。你从来没有使用弹簧但它塞在这么好的支柱,弹簧视,休眠,Acegi等。它结束了节省您的麻烦,这样做的所有管道在你自己的。
  4. 支持!好的框架,几乎总是有一个充满活力的社区支持他们,并询问和回答的问题。

它可能看起来太多麻烦的开始,但肯定可以节省你太多的时间未来

我说它实际上非常重要你选择的框架。像Spring MVC这样的东西在你的代码中相当不引人注目,并允许你现有的东西按原样运行。其他框架对于如何做事情有更具体的想法。

是的,它确实有意义。应用程序可以增长和变化,并且可能需要框架可以在将来轻松提供的内容。

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

是的,这是有道理的。然而,你的问题隐含的是错误的(对你而言)框架可能比它的价值更加痛苦 - 这是真的。一些重型J2EE框架与像grails一样轻松愉快的东西之间存在着天壤之别。

有什么替代方案?滚动你自己?在JSP中嵌入所有导航和逻辑?

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

有两种应用程序:

1)你扔掉的那种,再也不用了,因此不必担心模块化,可维护性和清晰度。

2)真实的那种。

有时候,您的应用可能永远不会需要增长,扩展或维护比您当前计划更大的功能集/用户群....我向您保证,这种看法总是错误的。

框架,特别是像Java中的Struts for MVC,Spring for MVC和依赖注入,Hibernate for Object-Relational Modeling等都是非常有价值的工具,可以提高代码的模块性,可维护性和清晰度。所以,回答你原来的问题......是的,着重。

不,除非:

  1. 你没有任何java经验 在你的团队中
  2. 你正在做一个原型 必须在几小时内准备好
  3. 你不相信你的开发者 足以让他们写你的 应用
  4. 你不打算让你的 开发人员学习和改进
  5. 使用框架的危险包括但不限于:

    1. 您将获得所有框架缺陷 顶一个
    2. 直到你,你才能做出真实的估计     完全了解框架
    3. 您的团队不会学习如何编程     网络服务器
    4. 你会发现你的团队传递更多     更多的时间在谷歌而不是     通过编写代码解决问题。
    5. 选择开源框架唯一最糟糕的事情就是在公司中建立一个独立的研发团队,他们应该创建“完整的最终公司框架”。

  

但我对框架的印象是它们主要用于大型J2EE应用程序并涉及大量复杂的配置

不一定是真的。良好的框架可以很好地扩展,以便它们可以将您从小型应用程序带到非常大的应用程序。今天的许多框架都朝着零配置方向发展,因此您会发现它们更容易使用。

你是对的,它确实需要最初的努力来学习框架本身,但这种投资在你构建的第一个应用程序中为自己付出了代价。像 AppFuse 这样的元框架使其更容易上手,因为它预先配置了框架为你。

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

如果你认为一个框架作为一个计量器,而左边是一个现成的现有框架工作开源或关闭,右边是所有自定义框架然后超级强加你的代码在该框架工作的顶部复杂性增加到右边。你走得越远,你就会对框架工作(IMO)产生更大的影响。

但是,您也可以从现有框架慢慢迁移到自定义框架。

还有关于您的业务的问题。如果您为一家不看软件的企业工作,因为它是核心的能力,例如银行或医院,那么您需要了解您想要构建多少框架工作。

底线某种类型的框架总是有用的。

使用一个框架,可以添加一些开销网络的应用程序的开发由于学习曲线。但是,根据框架你选择的,你可能能够实现以下好处:

  1. 可扩展性
  2. 维护性
  3. 明确划分的模型(例如视)
  4. 开箱组件(SessionManagement、认证,等等)
  5. 第三者插件
  6. 模块化继承的框架
  7. 其他许多人。

此外,学习曲线是一个可变因素。一些框架可以更容易学习的比其他人根据自己的技能。

考虑使用框架,即使没有其他原因,它也会给你一个新的知识领域。如果您有时间投资学习框架,那么您可能会及时发现,无论它们多么简单,都可以更轻松,更快速地将其用于新项目。

另外,如果我可以投票给SamBeran的帖子那么我会。开始使用框架将涉及几个时刻“哦,太棒了!我不需要再次编写所有样板文件了!“。

我会说使用一个 - 就像你说的那样,即使是一个简单的java网络应用程序也能让你的东西运行起来相当繁琐。如果框架可以帮助您更快地完成工作并提供您需要的服务,我会说这是有道理的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top