这似乎是一个非常愚蠢的问题。我有点知道如何编程前端和后端,但以前从未自己构建过完整的应用程序。所以问题是,一个完整的应用程序是如何工作的?即,当前端和后端都用不同的语言编写时,它们是如何连接/链接的?当我构建一个 Objective-C 应用程序时,我看到了用户界面,但是我如何将 UI 与我们说的后端分析程序连接起来。
谢谢。
这似乎是一个非常愚蠢的问题。我有点知道如何编程前端和后端,但以前从未自己构建过完整的应用程序。所以问题是,一个完整的应用程序是如何工作的?即,当前端和后端都用不同的语言编写时,它们是如何连接/链接的?当我构建一个 Objective-C 应用程序时,我看到了用户界面,但是我如何将 UI 与我们说的后端分析程序连接起来。
谢谢。
首先你需要了解客户端服务器模型,客户端向服务器发送请求,服务器响应请求。现在这个客户端可以是任何东西,比如网络浏览器、应用程序(android、IOS、IOT 等任何可以发出网络请求的东西)。
大多数应用程序只需要 HTTP 请求。
当服务器接收到 HTTP 请求时,它会根据传递的路径和参数定位适当的文档,并将其作为响应返回。HTTP 响应需要具有特定格式,它必须如下所示:
HTTP/[VER] [CODE] [TEXT]
Field1: Value1
Field2: Value2
...Document content here...
第一行显示使用的 HTTP 版本,后跟一个三位数字(HTTP 状态代码)和一个用于人类的原因短语。通常代码是 200(这基本上意味着一切正常)和短语“OK”。第一行之后是一些称为标题的行(以键和值的形式),其中包含有关文档的信息。标题以空行结尾,后面是文档内容。这是一个典型的标题:
HTTP/1.0 200 OK
Server: Netscape-Communications/1.1
Date: Tuesday, 25-Nov-97 01:22:04 GMT
Last-modified: Thursday, 20-Nov-97 10:44:53 GMT
Content-length: 6372
Content-type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
...followed by document content...
我们从第一行看到请求是成功的。第二行是可选的,它告诉我们服务器运行 Netscape Communications Web 服务器,版本 1.1。然后我们得到服务器认为的当前日期和最后一次修改文档的时间,然后是文档的大小(以字节为单位)和最重要的字段:“内容类型”。
浏览器使用内容类型字段来判断它接收到的文档的格式。HTML 用“text/html”标识,普通文本用“text/plain”标识,GIF 用“image/gif”标识等等在。这样做的好处是 URL 可以有任何结尾,并且浏览器仍然可以正确处理。
这里的一个重要概念是,对于浏览器来说,服务器就像一个黑盒子。即:浏览器请求一个特定的文档,该文档要么被返回,要么返回错误信息。服务器如何生成文档对于浏览器来说仍然是未知的。这意味着服务器可以从文件中读取它,运行生成它的程序,通过解析某种命令文件来编译它,或者(非常不可能,但原则上可能)让服务器管理员通过语音识别软件来指定它。这给了服务器管理员很大的自由来试验不同类型的服务,因为用户不关心(甚至不知道)页面是如何产生的。
最后是您的问题:您使用哪种编程语言并不重要,唯一重要的是请求和响应的格式。在您的情况下,您可以使用基于 JSON 的 API 以 JSON 格式将数据发送到您的应用程序。
我能写的太少了。我想这会有所帮助。
您可以使用很多技术,但主要用于通过 HTTP 协议进行通信的 Web 应用程序。仅使用 http,您就可以使用 json 或 XML 等通用格式发送少量数据。
还有更多建立在这些概念之上的方法,例如 websockets、Ajax、rest 和 RPC(远程过程调用)。
这是一个巨大的话题,但你必须让自己接触到许多这些技术,才能成为一名全面的开发人员。我不是说腰围。