【问题标题】:Suggestions for technology for web service with both web and mobile clients针对 Web 和移动客户端的 Web 服务技术建议
【发布时间】:2012-02-26 07:41:51
【问题描述】:

我已经在 aws 上设置了 LAMP 服务器。我打算用一个 web 客户端和一个 android 客户端创建一个 web 服务。我不确定从哪里开始。我想创建一个 RESTful 服务,但没有经验,不知道从哪里开始。我已经为我创建的 Android 应用程序提供了宁静的服务,但我自己还没有设计一个。 我曾使用过 Java 和 RoR。如果需要,我也想学习 Python。 任何建议都会很棒。

简而言之:移动客户端和基于 Web 的客户端的 Web 服务使用什么技术?

【问题讨论】:

    标签: python ruby-on-rails web-services jakarta-ee lamp


    【解决方案1】:

    使用 HTML 制作用户界面,然后使用 JavaScript 从服务器异步获取数据(例如:AJAX)。

    这样做的好处是桌面和移动客户端最终可以相同,而服务器可以完全忽略用户界面机制并专注于您提供的服务。

    如果您想让移动客户端“原生”(例如:android 应用程序),那么您只需使用 HTML 异步请求使其与服务器“对话”。

    编辑: 在服务器端,您可以执行以下操作:

    // extract uri from request
    $request = explode("?", $_SERVER["REQUEST_URI"]);
    $uri = explode("/", $request[0]);
    
    // sanitize user input
    foreach($_POST as $k => &$v) $v = addslashes($v);
    
    // prepare file input
    foreach($_FILES as $k => $v)
    {
      if (empty($k) or empty($v)) unset($_FILES[$k]);
    }
    

    这会为您提供请求详细信息,然后在客户端执行以下请求:

    site.com?php_service/param1/param2/...
    

    【讨论】:

    • 我特别需要知道后端使用什么,数据模型和数据库连接部分。
    • 在服务器端没有标准的做法,你自己滚吧......你基本上在php端得到一个html请求,根据请求细节详细说明并返回ajax数据。然后在客户端只发出 ajax 请求,获取响应数据并将其显示给用户。
    • 我也听说过 Java restlet(我不太确定技术细节,但我猜它确实以类似的方式工作),将其与您认为会更好的 PHP/RoR 进行比较?
    • @viper 无论如何,您都在 Javascript 中执行客户端 REST-fu,因此在服务器端使用一些专用解决方案(例如 java servlet)甚至会更好(但肯定不会更简单)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 2014-09-04
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多