我需要将一些停放的 Java 副项目中的功能合并到一个新的应用程序中,并试图决定要使用的一些第三方库,特别是与 UI 相关的库。我很想从面向技术架构的成员那里获得一些关于他们对最近 Java 框架趋势和经验的看法的反馈。
遗留项目是一个混合的、所有基于 Web 的、大量围绕 CRUDable 对象的业务逻辑和搜索。一个使用内部框架 - 非常快速、可扩展,但存在与内部工作相关的缺点 - 新开发人员的学习曲线等。另一个是 Tapestry 5 应用程序 - 非常强大,与 XFire / CXF 完美集成以生成网络服务,快速的 UI 生成,但对于非 Tapestry 类型具有良好的学习曲线。第三个,一个 Spring 3 应用程序,使用 JSP 2.0 标记文件作为视图层,并带有一些 JQuery 用于表示/ajax。
我对 Spring 非常熟悉,并且发现带有 Tiles 的 UI 的标签文件在低复杂性和性能方面非常有效。我最近还完成了一个使用 RichFaces 4 的项目,该项目成功并按时完成。我喜欢 RF/IceFaces 等免费提供的丰富 UI,并且注意到 JSF 在其最新版本中完全退出了 JSP。
切入正题,限制使用基于组件的 UI 库,其具有明确定义但不可修改的行为,如 RF / IF,比使用标签文件 / JQuery 的自行解决方案更适合新应用程序。我更熟悉后者,但不想在项目的早期阶段通过采用过时的方法走错路。我想继续将 Spring 3 控制器用于 RESTful、可书签的应用程序入口点 - 是否将 IF / RF 与 Spring 混合使用,或者 JSF 方法是否完全从 Spring 中删除了 MVC 义务?
如果从 Spring 中删除 MVC 义务:
JSF 生命周期将如何与 Spring 集成——它会是自包含的并且只使用 IOC 来连接 Spring 服务吗?
是否与生成 Web 服务等的 IF/RF 方法进行了良好的集成?
中频/射频对平板/手机有哪些支持?
是否完全需要 Spring - 托管 bean 可以解决问题吗?