Apple swift - 应用程序如何连接到现有的heroku/S3数据库

hel*_*ion 1 amazon-s3 ios swift

我是iOS的新手,也是SWIFT的新手,没有以前的Obj-C经验.但是,我不是Ruby的新手.我在heroku上有一个基于web的应用程序,我开始学习SWIFT,所以我可以构建一个iOS对应的.在我开始之前,我需要围绕更大的图片包围我,我无法弄清楚这些应用程序如何连接到数据库.

iOS应用程序可以连接到S3数据库......并与网站共享该数据库吗?有关于这个过程的文档,我已经看过了.

Ant*_*nio 10

将iOS应用程序连接到公共数据库实际上是一个坏主意 - 所有服务器逻辑都应该在客户端上实现,并且您还需要在应用程序中对数据库用户名和密码进行硬编码.

更好的方法是创建一个服务器应用程序,公开一组REST API并负责处理数据库.这样,您可以更好地控制服务器端应用程序客户端能够对数据库执行的操作.

例如,如果您有订单输入应用程序,则可以创建以下API:

  • 登录
  • 寄存器
  • 创建一个订单
  • 修改订单
  • 添加联系人
  • 删除联系人
  • 等等...

一些优点是:

  • 如果您需要更新逻辑(但不是API接口),您只需更新服务器,而在您的方案中,您需要发布新版本的移动应用程序
  • 您控制并限制客户端应用程序访问数据的方式(例如阻止用户访问其他用户的订单)
  • 如果你想在另一个平台(android,...)中开发相同的应用程序,你可以重用相同的API

首先,我建议您阅读raywenderlch.com上的AFNetworking教程,重点介绍ios网络库,但讨论JSON,REST,远程API等.

接下来你必须选择服务器端技术 - 现在最流行的是node.js - 开始时你可以在同一个网站上阅读其他教程:

如果你不想使用node.js和/或mongodb ...同样的架构适用,只是语言和技术不同.只需转换你从那里学到的东西.

如果你想阅读在服务器端使用的其他语言,只需google for it - 如果你想使用ruby,请尝试使用ios rest api server ruby.

注意:我没有提及,swift因为您的问题看起来更像是一个架构问题而不是特定于语言的问题.我在这里提到的教程使用objective-c,一旦你设计了一个体系结构并在服务器端选择了语言,你就可以开始研究如何从swift调用REST API.