首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在开发基于Java的web应用程序时如何提高生产率

在开发基于Java的web应用程序时如何提高生产率
EN

Stack Overflow用户
提问于 2009-03-14 10:39:28
回答 13查看 6.9K关注 0票数 26

我想知道,与其他技术栈(海滨Ruby on Rails等)相比,您是如何解决基于Java的web应用程序开发的生产率似乎很低的问题的。

制约因素是:

  • 完成的web应用程序必须部署在符合Java的应用程序容器上
  • 如果可能的话,应该保留以前对基于Java的解决方案的投资,即应该能够与基于Java的系统和库进行本机互操作性。
  • 由于团队结构,Java作为实现语言是首选的,尽管基于JVM的语言(即Groovy)也是可以接受的。
  • 生成的系统需要在体系结构上是合理的。
  • 生成的系统需要可扩展和可维护。

为了不让这件事演变成一场哲学讨论,我只对基于实践经验的建议感兴趣。可能的例子包括特定于领域的语言、框架和MDSD。

如果您指向一个抽象的解决方案类(如MDA / MDSD),请提供有关如何实现它的详细信息以及有关常见缺陷和最佳实践的信息。

如果您不同意基于Java的web应用程序开发意味着生产力低下的假设,我也想听听您的推理。

编辑:由于答案比我预期的要少得多,我也会接受失败尝试的说法,基本上把问题扩展到“在开发基于Java的web应用程序时如何(不是)提高生产力?”

EN

回答 13

Stack Overflow用户

发布于 2009-03-14 12:37:13

春天HibernateWicket这样的框架无疑有助于简化和加速web开发,因为它们提供了高度的可测试性和很好的集成。但是,这还不足以达到RoR的生产力,即使您有一套很好的开发实践。仍然有太多的技术材料和管道需要。

在这张图片中,砂砾可能是离RoR更近的缺失部分。这是我的下一个实验。

顺便说一句,我的MDA经验与生产力的提高正好相反,所以我不提它们(实际上,MDA正在扼杀我们的生产力)。

票数 6
EN

Stack Overflow用户

发布于 2009-03-22 18:00:03

贾瓦雷贝尔可以大大减少使用Java进行web开发所花费的时间。

让我在这里引用官方网站的话:

JavaRebel是一个JVM插件(-javaagent),它使您能够立即看到对代码的更改,而无需重新部署应用程序或执行容器重新启动。如果你厌倦了看日志滚动,并希望看到你的变化,以便你可以继续- JavaRebel是你的新的最好的朋友。

票数 5
EN

Stack Overflow用户

发布于 2009-03-22 19:13:14

在讨论Java生产力时,有一点是很重要的:您应该使用Java 5和EJB3.x,因为与以前的版本相比,它们提供了新的生产力(和功能)。

保持在标准Java规范中是绝对重要的,例如使用Hibernate而不是JPA不利于生产力。在使用JPA时,没有限制返回到Hibernate特性,但是通过使用Hibernate而不是JPA,您将被锁定在一个持久性提供程序中,没有廉价的出路。使用标准背后的整个想法是一样的:概念灵活性(通过插入不同的实现)和可用的可扩展性(如果绝对必要的话使用专有扩展)。Java 5和EJB3是朝着这个方向迈出的重要一步。当然,您希望最小化任何专有特性,但是如果某些特性看起来是绝对必要的,这是一个很好的迹象,表明它们将成为下一个版本中规范的一部分.

Java生产力的主要障碍在于它的企业重点(提供的比大多数项目需要的多得多)和遗留问题(向后兼容性)。在使用JSF和状态管理的表示层上还有很多工作要做--注意JSR-299来解决这些问题以及其他改进。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/645746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档