【问题标题】:Setting up a development server for mobile applications [closed]为移动应用程序设置开发服务器 [关闭]
【发布时间】:2016-01-23 12:21:50
【问题描述】:

如何为移动应用设置开发服务器?

在web开发中,开发者通常会安装XAMPP,然后使用localhost与服务器通信,在安全的环境中进行测试。这是一个免费且快速的解决方案,因为它需要很少或不需要上传时间。对于 iOS 或 Android 平台上的移动开发人员来说,什么是等效的?某种适用于移动应用程序开发人员的本地主机。

目标是在安全快捷的环境中为移动应用开发后端。他们对 Web 开发人员的完全等价物是使用 localhost。

示例:用户注册。用户名和密码以及图像被发送到服务器并存储在数据库中。下次用户登录时,服务器会在数据库中查找并为用户提供正确的图像并让他/她登录。

我不是在问如何编程或使用什么代码。我要求设置开发人员测试环境的说明 - 移动应用程序的本地主机,如果存在这样的事情。

【问题讨论】:

  • 您想设置一个将在您的应用程序中运行的服务器?你的用例是什么?
  • 是的应用程序是客户端,并要求服务器提供数据。服务器响应,应用程序请求新数据等等。没什么特别的。我正在寻找一种方法来测试想法。我知道在某些时候我需要一台服务器。 PC 使用 localhost 进行开发和测试。移动应用开发者使用什么?
  • @krompir2 见parse.com
  • 您的问题非常广泛且不具体。有数百万种方法可以做到这一点。您可以使用仅提供静态网页/json 文件的非常简单的东西,或者使用基于 Ruby/Node.js/PHP/Python 的框架使用更复杂和动态的解决方案。这取决于你的要求是什么。你能详细说明一下吗?你能举一些你想要达到的目标的例子吗?它是一个简单的提要阅读器、云数据存储、照片服务器,还是类似博客/推特的服务器,还是别的什么?..

标签: android ios localhost backend


【解决方案1】:

正如您所提到的,Web 开发人员可以通过在 localhost 上安装 XAMPP 或任何等效的 Web 服务器(如 MySQL 之类的数据库服务器)来快速设置您的 localhost。他们将 Web 服务放在 Web 服务器上,并从前端(HTML 页面)调用或使用它们来处理表单提交、按钮点击等用户操作。

使用 Android 开发移动应用程序与上述方法非常相似。所有 Web 服务都位于后端,您只能使用 HttpClient 或 HttpUrlConnection 类从 Android 客户端(移动设备)调用它们。

您只能从移动应用程序发出 HTTP 请求,并从被调用的服务中获取响应、解析响应并填充 UI 元素。

您可以使用上面正确提到的数据库服务器、Web 服务器来设置本地主机。现在要从您的移动设备向 localhost 发出请求,请将您的设备和 localhost 机器保持在同一个网络上(您可以将两个设备放在同一个 Wi-Fi 网络上),以便您可以直接从您的移动应用程序向您的 localhost 发出请求.您将在移动应用程序中以您提供的任何格式得到响应并使用它。这与 Web 应用程序非常相似,您可以想象您的 UI 位于移动设备中,它是 Web 应用程序中的 HTML 页面。

【讨论】:

  • 我想这就是我一直在寻找的答案。谢谢!如果有人有什么要补充的,我会暂时保留这个问题。
  • 很高兴能帮上忙。 :)
【解决方案2】:

假设你的机器上安装了一个网络服务器/服务器应用程序,那么要求是设备和服务器可以通信。

这通常使用HttpURLConnection 类来完成。您将需要服务器的 IP 地址来构建您的 URL,也就是说,您需要添加 URL 192.168.0.255/my app(或任何您的实际 IP 地址),而不是使用 localhost/myapp 访问您的服务器应用程序。

有几个问题需要注意。您的开发机器必须通过防火墙接受传入的 http 请求(通常为 80 端口),并且您的路由器必须允许机器和设备之间的流量。如果您遇到问题,请查看http://portforward.com/。如果您在诊断问题时遇到问题,有时在设备上下载终端应用程序会有所帮助。

有时便宜的路由器或公司政策使这变得困难。在这种情况下,您可以尝试 setting up a portable hotspot 或创建一个 ad-hoc 网络,如果您的服务器机器也有无线网络适配器。

【讨论】:

    【解决方案3】:

    如果您正在开发移动应用程序,那么我认为您希望继续专注于移动开发部分,因此模拟后端而不是编写具有数据库、逻辑等的工作服务器。

    在非常简单的情况下,我建议使用诸如Charles 之类的东西。这允许您拦截来自模拟器或设备的进出移动应用程序的请求,并在逐个调用级别验证一切是否按预期工作。如果您想要更持久的东西,那么使用您选择的语言和固定响应的简单 Web 框架会做得很好。例如,Sinatra 代表 RubyExpress.js 代表 Node.js。然后不必担心要维护和播种数据库,只需为特定调用或磁盘中的文件返回固定的JSON 响应。然后可以将其提交到您的移动开发代码存储库并用作测试套件的一部分。

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 2018-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      相关资源
      最近更新 更多