Jdeveloper vs java / j2ee / js + extjs?

时间:2010-03-17 08:16:12

标签: java javascript java-ee extjs jdeveloper

我是Web开发环境的新手,来自unix / c环境。 我最近被要求创建一个网络应用程序,我认为这将需要postgresql, java / j2ee,以及客户端界面的javascript。因为我想要一个更好的gui,我 我一直在阅读看起来很棒的extjs。

一位同事提到了学习所有这些所需的时间 件很耗时,Jdeveloper似乎提供了我们所需要的大部分内容 (我看到了一个演示,它似乎能够生成一些不错的Web界面。)

不同方法的优缺点是什么?

我能想到的一些事情: - jdeveloper是一个集成的ide,可以轻松,紧密地创建UI   与数据库集成。 (PRO) - jdeveloper会更重? (CON) - 向导生成的代码可能更难重构? (CON) - java / j2ee / js + extjs需要从头开始开发(con)

提前感谢您分享您的经历和想法...... SAM

4 个答案:

答案 0 :(得分:1)

虽然这是非常主观主题,但我仍强烈反对“集成IDE”。无论是IDEA,Netbeans,JDeveloper,Eclipse,您都可以为它命名:不要过度使用它,也不要过度依赖它们。它们往往涵盖了开发的很大一部分,但是当你想要超越它们的“集成”技术时,你就遇到了麻烦。正如您所提到的,生成的代码也很难维护。

我一直在用ExtJS做两个商业项目。优点是:(1)更容易启动并快速完成一个有效的应用程序,(2)大多数逻辑,例如,在客户端分页大量记录(在内存中只保留3-4页示例)已经为您完成了,(3)使用一些较低级别的抽象更好,感觉更有价值和更有成效,而不是J2EE方法“我们有一个模型来开发创建框架的过程”,这对于具有10年以上经验的开发人员来说甚至是令人生畏的。

缺点:不是你想要的一切,都会在那里。例如,如果管理层(或客户)站在网页某些部分的棘手圆角上,那么这是好运 - 你必须谷歌它,找到用JS编写的CSS包装库等。我用ExtJS做的第二个项目最终消耗了40%的时间表来进行小的GUI调整。

尽管如此,我仍然坚决提倡立即更容易理解的技术,并在最初提供更快的结果。如果他们有6个月的时间安排并且他们在第2个月末看到他们的第一个真实结果,那么没有人有良好的动力。

希望这有帮助。

答案 1 :(得分:1)

为什么JDeveloper比较重要。无论如何,它不会成为Web应用程序的一部分。

现在很少有建议。我建议你继续开发,同时尝试理解底层技术,即JSP,Servlet,Servlet过滤器等。

使用什么IDE并不重要。我更喜欢IntelliJ和Netbeans。 IntelliJ是商业化的,顺便说一下,虽然有一个社区版本可用,但它错过了Web开发所需的一些非常强大的工具/功能。所以,你留下了JDeveloper,Netbeans和Eclipse。选择你喜欢的任何东西。

您应该使用一些快速的Web开发框架,因为我希望您查看Wicket或Stripes。听说Play框架的好东西。对于JavaScript部分,我建议你看看JQuery和JQuery UI,它是一个非常强大的社区支持的强大框架。

另一种选择可以是Spring。获取Pro Spring书籍,并开始使用这个一体化的强大框架开发您的应用程序。甚至官方文档也很棒。 Spring IoC,Spring MVC,具有良好的Spring JDBC API。在前一个选项中,缺少JDBC API,您需要为此获取一些ORM,或者提出自己的代码。在这里,您将获得易于维护的好处,并且您可以非常轻松地添加新功能。

但是让我再说一遍。您必须了解底层技术。因为你不知道的事情可能会受到伤害。

答案 2 :(得分:1)

如果您正在研究JDeveloper,我假设您正在考虑Oracle Application Development Framework?我对这个框架的经验是,它使一些简单的开发任务变得非常简单,而且有些难以理解。特别是,广泛定制外观可能非常耗时。

如果您对基本ADF的外观感到满意,并且the components provided满足您的需求,那么该框架可以为您节省一些时间。如果您需要完全控制应用程序的外观,或者您的用例与预定义的组件不匹配,我建议您查看其他框架。

使用ADF或类似框架的一个好处是,您可以快速生成基本Web应用程序,而无需大量HTML,CSS或Javascript知识。这是否重要取决于您的开发团队的技能。

答案 3 :(得分:0)

人们在答案中缺少的一部分是JDeveloper,更具体地说是ADF为您提供的是一个端到端解决方案,不仅涵盖了UI部分,还涵盖了如何将其与业务服务绑定,以及构建业务服务的简单解决方案。