我是刚毕业的学生,没有任何实际经验。我想用 Java 开发相对简单的 Web 应用程序(职位列表网站),该应用程序适用于我的项目的 Google App Engine。
但是,我做了一些研究,并没有偶然发现 GAE 各种框架的比较。有些文章说 Spring 3.0 的冷启动时间较长,但这些都是 3 年前的文章,当时 GAE 科学肯定发生了很大变化。 JSF 应该是社区标准,但很复杂。 Stripes/Play/..../... 框架已经存在,但我目前无法做出决定。
您能给我推荐一个符合以下标准的 MVC 框架吗?
- 与 GAE 配合使用(或针对 GAE 进行优化)
- 轻量级 - 冷启动时间应该更少
- 如果可能,响应时间应该更短
可以进行以下权衡。
- 无需事务、网络服务、持久性或其他一些高级功能
- 可能很难学习(我有足够的时间),但应该提供文档
最佳答案
我个人的选择是RESTeasy与 Htmleasy 。另外Jackson如果您需要 JSON。
RESTeasy:
- JAX-RS standard基于 Java open-source leaders 之一的开源库。出色的支持。
- 基于 MVC。
- 很棒的文档,有很多示例。
- 在 GAE 上运行没有任何问题。
- 如果您需要提供 JSON(= 您有移动客户端),则与 Jackson 捆绑在一起。
Htmleasy
- 轻量级,基于 JAX-RS 和 RESTeasy 构建
- 可以使用不同的 html 模板引擎,包括 JSP 和 Mustache。
- 与 Mustache 配合使用,它可以是服务器端(服务器 Java 渲染模板)或客户端(JS 渲染模板 AJAX 样式)。
建议:
- 相同的代码库可以同时服务 HTML 和 JSON,支持网络和移动客户端。
- 在服务器端渲染与客户端渲染和 AJAX 之间找到适当的平衡。请记住,最大的网站同时使用这两种方式:服务器端快速为您提供首页,客户端和 AJAX 以便对用户操作做出出色的响应。
- 不要将业务和数据库逻辑放在 JAX-RS 方法中,而是创建单独的业务层类。
- 对业务层进行单元测试 - 您应该具有 100% 的覆盖率。
关于google-app-engine - 用于 Google App Engine 的 Java MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15874095/