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