作为前言:我想把它作为一个学习练习。 我不是在尝试制作一个商业上可行的应用程序。
连接到自定义自托管后端的 iOS 应用程序的层/抽象是什么? 构建此堆栈需要哪些技术?
这篇文章对我的理解有所帮助。 我目前正在使用 Firebase 作为我的后端,但发现它的 NoSQL 结构对于我的应用程序来说是错误的。 我存储的数据是关系性的,所以我认为存储 JSON 的 SQL 数据库会更好用。 数据正在对用户之间共享的车辆进行建模。 根据我的研究,Realm 平台看起来是一个不错的选择。 我是否正确理解了这里的技术? 这句话有意义吗?
常规功能:
- 用户的注册和登录
- 上传/下载车辆数据
- 一些服务器端逻辑
- 实时向用户推送数据更新
那么堆栈会如下所示吗?
用户前端:用 Swift
编写的 iOS 应用程序 数据库:Realm Database (SQL)
服务器:Realm Object Server
我真的在寻找一般架构的概述。 我对此一无所知,所以我确信我没有提供许多彻底回答所需的细节。
如果这个问题是多余的,我深表歉意;我看到的大多数类似问题的答案通常以"只使用AWS,Firebase等"结尾。
谢谢!
首先,您希望构建自己的后端,并且应该创建自己的 API,IOS 应用程序将连接到该 API。 简而言之,这被称为 REST API https://www.sitepoint.com/developers-rest-api/
您将需要使用更多的技术,而不仅仅是像Apache这样的服务器。
创建后端API后,您需要将其连接到IOS应用程序,这可以使用Apple或Alamofire的NSURLSession内置框架来完成,该框架基于NSURLSession,但如果您正在学习,则使用起来更容易
您需要学习如何执行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