【问题标题】:cloud based App as Restful Services with backend in Java and frontend in Android基于云的应用程序作为带有 Java 后端和 Android 前端的 Restful 服务
【发布时间】:2016-06-26 14:33:11
【问题描述】:

目标是使用 REST API 和在云(亚马逊)中运行的强大后端(java 中)构建一个完整的移动应用程序。我了解 jEE、Gradle、Android、Amazon 等项目中所有相关技术的基础知识, Sprint MVC 和 Tomcat。我已经单独学习了所有这些技术。我不知道的是,所有这些技术如何协同工作?我发展的第一步应该是什么?

【问题讨论】:

    标签: java android rest tomcat gradle


    【解决方案1】:

    所以,您想在后端开发一个由 restfull api 支持的应用程序。 虽然它可以根据一个人的观点以不同的顺序完成。 但我建议按照以下步骤操作:-

    1. 从编写 Restfull api 开始。要编写 restfull api,您必须了解 Jax-rs 以及(Jersey 或 RESTEasy)和 JPA(以防需要数据持久性)。

    2. 正如您在问题中所说,您想使用 AWS,因此在 AWS 上获取一个帐户并将您的 api 部署在服务器上。

    3. 如果您需要一些额外的服务器端功能,您可以使用 servlet 来实现。如果您要使用 servlet,那么您将不得不使用 tomcat 作为容器,或者您可以使用您选择的任何其他容器。

    4. 走了这么远,现在你只需要开发你的安卓应用程序。从安卓应用调用你写的api,在服务器和安卓应用之间传递数据。

    要开发由 REST api 支持的 android 应用程序,不需要您提到的所有组件。支持 JEE 的服务器、编写 REST api 和 android 开发所需的工具足以提供您想要的基本功能。

    【讨论】:

    • 谢谢你的回答很有帮助。我还不完全清楚。我将使用 Gradle 开发应用程序。 @DarkShadow
    • 是的,你不需要那么担心 gradle,我们由 android studio 处理的大部分部分(就 gradle 而言)默认情况下 android studio 使用 gardle。当你开始制作你的应用程序时,你的 gradle 已经包含在项目中了。
    • 我正在使用 IntellJ 想法。事情将被清除。我需要更多帮助。谢谢@Darkshadow
    【解决方案2】:

    (免责声明:根据我的经验提出意见)从选择有效的架构模式开始,从长远来看,领域驱动设计将在维护期间创造一个美好的世界。在设计方面做很多基础工作。

    接下来是选择开发框架和其他涉及的工具,从您之前的评论来看,您似乎使用了 gradle,在这方面对我没有太多保留,似乎是一个不错的选择。

    1. 基础开发框架:当然是 Spring Boot,去吧,你可能不会后悔。
    2. Web 框架:Spring MVC 几乎适用于所有情况,如果您认为它不支持您的任何需求,它会提供扩展点供您自定义(您可能会错过开箱即用的 JAXRS 标准注释不过)
    3. 无论您最终选择何种架构模式,您的所有域逻辑都作为 POJO。
    4. 持久性:如果您是新手,请从 RDBMS 开始,因为其他一切都倾向于解决它的漏洞。如果您可能正在寻找 ANSI SQL 合规性,请使用 postgres,否则任何其他免费和开源的东西都与其他任何具有一些显着特性的东西一样好。对于 ORM,带有 QueryDSL 的 Spring Data JPA 将让您构建一些易于维护的持久层。
    5. 单元测试:Junit4 应该足够好,并且与 Spring 集成将是基于 Spring 的应用程序的最佳选择。
    6. 如果您最终以某种方式使用消息传递,请使用带有 Rabbit 或 Active MQ 的 AMQP
    7. Spring boot 自带内嵌容器,任你选择风味 tomcat 或 jetty,省心
    8. 使用 Spring 集成或 Apache camel 来满足您的集成需求。
    9. 既然您提到了云,请尝试使用 Spring Cloud 并尝试实现为云原生,遵循 12 因素应用程序推荐。

    【讨论】:

    • 您的回答中规中矩。我的思绪逐渐清晰起来。你的意思是我应该专注于设计阶段。我将在我的数据库中使用 MySQL。我是开发新手,这就是为什么事情看起来很复杂。 @samasundaram sekar 谢谢
    猜你喜欢
    • 2018-02-02
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 2017-01-04
    • 2015-10-31
    • 1970-01-01
    相关资源
    最近更新 更多