0

有一个与新闻相关的 Web 应用程序,它使用 MySQL 数据库并向用户提供基于 Web 的界面。

我想构建一个 iOS 应用程序,它也具有移动界面。用户界面非常简单,我有这方面的经验。

问题出在数据库上,我没有经验。我将学习数据库,并可能参加 Coursera 课程。我不是要你教我这个。我只想知道在接下来的几个月里我应该把时间投入到哪些技术上。

到目前为止,我的理解是应用程序不应该直接与数据库对话,而应该在服务器上有一个人代表应用程序与数据库对话。

这是我想清楚理解的问题和部分,如果我错了,请纠正我。

我将不得不编写某种在服务器上运行并与数据库对话然后与应用程序通信的 unix 程序?如何?使用网络视图?使用 unix 套接字与应用程序通信?SSH?苹果哪款好?

我更喜欢在服务器上写这样的东西:python(有经验)、java(有经验),也许还有 ruby​​(没有经验)。我宁愿避免使用脚本语言。

他们还好吗?哪一个最适合?另外,这个中间人是否必须在具有数据库的同一台服务器上,或者可以是互联网上的另一台机器(我更喜欢这个,所以我可以把它放在我自己的 VPS 上,而不必搞砸服务器机器)

4

1 回答 1

1

这与今晚的另一个问题相似,但你是从不同的角度来回答的。

一般来说,需要能够在离线模式下运行的 iOS 应用程序需要有自己的数据库。这意味着创建 Core Data 模型来存储应用程序所需的所有数据。这在内部存储在 SQLite 数据库中。

如果您想制作一个仅在线的应用程序,这会稍微容易一些,因为您无需担心核心数据部分,而是可以专注于构建您的服务 API。如果您熟悉 Python,那么最好的选择是Django来提供该层。您需要实现一些可以接收请求的端点,将其转换为适当的数据库调用,然后以机器可读的格式呈现结果。

即使对于大规模系统,脚本语言也是大多数后端的动力。在大多数情况下,数据库将成为瓶颈,而不是用于与之交互的语言。甚至 Twitter 也坚持使用 Ruby,直到它们达到数千万活跃用户,所以除非你处于那个水平,否则不要担心。

对于大多数应用程序,使用 HTTP 作为传输机制并使用JSON作为编码方法是可行的方法。它的构造非常简单,易于使用,并且相当易于阅读。您可能有很多方法可以阅读和编写此内容,但这是另一个问题。

对于用户数量以数百计的小型应用程序,您可以将应用程序和数据库托管在同一台服务器上。即使是具有 512MB 内存的普通 VPS 也可以完成这项工作,但对于较重的负载,您可能需要投资 1GB 实例。这实际上取决于人们访问您的应用程序的频率以及峰值负载是什么样的。

于 2013-01-30T05:59:22.243 回答