有一个与新闻相关的 Web 应用程序,它使用 MySQL 数据库并向用户呈现基于 Web 的界面。
我想构建一个也具有移动界面的 iOS 应用程序。用户界面非常简单,我对此有经验。
问题出在数据库上,我对此没有经验。 我将学习数据库,并可能参加 Coursera 类(class)。我不是要你教我这个。我只是想知道在接下来的几个月里我应该把时间投入到哪些技术上。
到目前为止我的理解是应用程序不应该直接与数据库对话, 相反,服务器上应该有某个人代表应用程序与数据库进行通信。
这就是问题,也是我想弄清楚的部分,如有错误请指正。
我必须编写某种在服务器上运行并与数据库通信然后与应用程序通信的unix程序?如何?使用 WebView ?使用 unix 套接字与应用程序对话? SSH? Apple 哪一款最酷?
我在服务器上编写类似内容的偏好是:python(有经验)、java(有经验),也许还有 ruby(没有经验)。我宁愿避免使用脚本语言。
他们还好吗?哪一款最适合?另外,这个中间家伙是否必须位于具有数据库的同一台服务器上,或者可以是互联网上的另一台机器(我更喜欢这个,所以我可以将它放在我自己的 VPS 上,而不必搞砸)服务器机器)
最佳答案
这类似于 another question从今晚开始,但你会从不同的角度来看它。
一般来说,需要能够在离线模式下运行的 iOS 应用程序需要拥有自己的数据库。这意味着创建核心数据模型来存储应用程序所需的所有数据。在内部,它存储在 SQLite 数据库中。
如果您想制作一个仅在线的应用程序,那么会更容易一些,因为您无需担心核心数据部分,而是可以专注于构建服务 API。如果您熟悉 Python,那么最好的选择是 Django提供该层。您需要实现许多可以接收请求的端点,将其转换为适当的数据库调用,然后以机器可读的格式呈现结果。
脚本语言是大多数后端的动力,即使对于大规模系统也是如此。在大多数情况下,数据库将成为瓶颈,而不是用于与其交互的语言。就连 Twitter 也坚持使用 Ruby,直到拥有数千万活跃用户,所以除非您达到那个级别,否则不要担心。
对于大多数应用程序,使用 HTTP 作为传输机制和 JSON因为你的编码方法就是要走的路。它的构造非常简单,易于使用,并且相当容易阅读。您可能有多种方式来阅读和撰写本文,但这是另一个问题。
对于用户数量为数百的小型应用程序,您可以将应用程序和数据库托管在同一服务器上。即使是具有 512MB 内存的普通 VPS 也可以完成这项工作,但对于较重的负载,您可能需要投资 1GB 实例。这实际上取决于人们访问您的应用程序的频率以及峰值负载是什么样的。
关于java - iOS远程MySQL数据库,技术推荐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14596461/