我将如何为 iOS 应用程序构建和托管我自己的后端?

How would I go about building and hosting my own backend for an iOS application?

作为序言:我想把它作为一个学习练习来做。我并不是要制作商业上可行的应用程序。

连接到自定义自托管后端的 iOS 应用程序的 layers/abstractions 是什么?构建这个堆栈需要哪些技术?

这个post对我的理解有点帮助。我目前正在使用 Firebase 作为我的后端,但发现它的 NoSQL 结构对我的应用程序来说是错误的。我存储的数据是相关的,所以我认为存储 JSON 的 SQL 数据库会更好。数据正在为用户之间共享的车辆建模。 根据我的研究,Realm Platform 看起来是个不错的选择。我在这里正确理解这些技术吗?这句话有道理吗?

一般功能:

那么堆栈会像下面这样吗?

用户前端:iOS 用 Swift
编写的应用程序 数据库:领域数据库 (SQL)
服务器:领域对象服务器

我真的很想了解总体架构。我对此一无所知,所以我确定我没有提供许多详细信息,而这些信息是彻底回答所必需的。

如果这个问题是多余的,我深表歉意;我看到的类似问题的大多数答案通常以 "just use AWS, Firebase, etc".

结尾

谢谢!

首先,您想要构建自己的后端,您应该创建自己的 API,您的 IOS 应用程序将连接到该后端。简而言之,这称为 REST api https://www.sitepoint.com/developers-rest-api/

您将需要使用更多的技术,而不仅仅是像 Apache 这样的服务器

创建后端 API 后,您需要将其连接到 IOS 应用程序,这可以使用 NSURLSession 内置框架从 Apple 或基于 NSURLSession 的 Alamofire 完成,但它更容易如果您正在学习,请使用

您将需要了解如何执行 http/https 请求,以了解如何提出请求

检查这个 https://medium.com/@MuraliKathir/build-a-simple-api-search-with-alamofire-and-swiftyjson-80286e833315

现在进入境界。 Realm 是一个本地数据库,将位于您的 IOS 应用程序内,可帮助您保存在线下载的数据甚至用户生成的数据 https://realm.io/docs/swift/latest/#queries