我想知道,与其他技术栈(海滨、Ruby on Rails等)相比,您是如何解决基于Java的web应用程序开发的生产率似乎很低的问题的。
制约因素是:
为了不让这件事演变成一场哲学讨论,我只对基于实践经验的建议感兴趣。可能的例子包括特定于领域的语言、框架和MDSD。
如果您指向一个抽象的解决方案类(如MDA / MDSD),请提供有关如何实现它的详细信息以及有关常见缺陷和最佳实践的信息。
如果您不同意基于Java的web应用程序开发意味着生产力低下的假设,我也想听听您的推理。
编辑:由于答案比我预期的要少得多,我也会接受失败尝试的说法,基本上把问题扩展到“在开发基于Java的web应用程序时如何(不是)提高生产力?”
发布于 2009-03-14 12:37:13
像春天、Hibernate、Wicket这样的框架无疑有助于简化和加速web开发,因为它们提供了高度的可测试性和很好的集成。但是,这还不足以达到RoR的生产力,即使您有一套很好的开发实践。仍然有太多的技术材料和管道需要。
在这张图片中,砂砾可能是离RoR更近的缺失部分。这是我的下一个实验。
顺便说一句,我的MDA经验与生产力的提高正好相反,所以我不提它们(实际上,MDA正在扼杀我们的生产力)。
发布于 2009-03-22 18:00:03
贾瓦雷贝尔可以大大减少使用Java进行web开发所花费的时间。
让我在这里引用官方网站的话:
JavaRebel是一个JVM插件(-javaagent),它使您能够立即看到对代码的更改,而无需重新部署应用程序或执行容器重新启动。如果你厌倦了看日志滚动,并希望看到你的变化,以便你可以继续- JavaRebel是你的新的最好的朋友。
发布于 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来解决这些问题以及其他改进。
https://stackoverflow.com/questions/645746
复制相似问题