0

我是 web 开发环境的新手,来自 unix/c 环境。我最近被要求创建一个 Web 应用程序,我认为客户端界面需要 postgresql、java/j2ee 和 javascript。因为我想要一个更好的 gui,所以我一直在阅读 extjs,这对我来说真的很好。

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

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

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

提前感谢您分享您的经验和想法……山姆

4

4 回答 4

1

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

现在几点建议。建议大家一起去开发,同时尝试理解底层技术,即JSP、Servlet、Servlet Filters等。

您使用什么 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,或者提出您自己的代码。在这里,您将获得易于维护的好处,并且您将能够非常轻松地添加新功能。

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

于 2010-03-17T08:47:50.430 回答
1

虽然这是一个非常主观的话题,但我仍然强烈建议不要使用“集成 IDE”。无论是 IDEA、Netbeans、JDeveloper、Eclipse,应有尽有:不要过度使用,也不要过度依赖它们。它们往往涵盖了开发的很大一部分,但是当你想要脱离它们的“集成”技术时,你就有麻烦了。正如您还提到的,生成的代码也更难维护。

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

缺点:不是你想要的一切都会在那里。例如,如果管理层(或客户)对网页中某些部分的棘手圆角感到头疼,那么祝你好运——你必须谷歌它,找到用 JS 编写的 CSS 包装库等。我用 ExtJS 做的第二个项目最终将 40% 的时间用于小的 GUI 调整。

尽管如此,我仍然强烈提倡更容易立即理解并在最初产生更快结果的技术。如果他们有 6 个月的时间表并且他们必须在第 2 个月末看到他们的第一个实际结果,那么没有人会积极主动。

希望这可以帮助。

于 2010-03-17T08:35:15.510 回答
1

如果您正在研究 JDeveloper,我假设您正在考虑Oracle 应用程序开发框架?我对这个框架的经验是,它使一些简单的开发任务变得非常容易,而有些则非常困难。特别是,广泛地定制外观和感觉可能很耗时。

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

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

于 2010-03-17T23:02:13.043 回答
0

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

于 2010-03-24T17:21:48.363 回答