我正在开发一个iOS社交网络应用程序,该应用程序将涉及用户共享和评级照片。我在大约一年左右的时间里一直在教自己如何开发可可触摸,现在我已经准备好开始使用应用程序的网络方面了。不幸的是,我有0个网络/数据库经验,并且想知道是否有人对要考虑的事项以及在何处/如何开始有任何好的建议。我很可能不打算建立自己的服务器,而是选择机架空间。任何建议将不胜感激。
答案 0 :(得分:2)
iOS网络应用程序入门。以下是必需的东西: - 您确实需要在 MySQL和复杂数据库查询方面具有良好的后端开发经验以及开发Web服务的经验。在根目录中,您需要服务器主机用于后端和管理模块,如您所提到的那样,比如竞赛空间或任何其他。您需要花费几个月的时间来使用mysql后端,Web服务和管理模块实现。
对于功能齐全的社交网络应用,您的首要任务是管理用户。登录/注册将在那里。每个用户都可以发布他的状态并可以评论其他用户的状态。所有状态帖子或评论都将具有其唯一ID和与用户ID表的关系。可能是图片上传,照片上的评论也会在那里。因此在后端方面会有很多表格和关系。
对于社交网络应用,后端/网络服务端和iOS端的工作量都会更大。
答案 1 :(得分:1)
这是一个非常抽象的问题。
最终,您将不得不专注于特定的架构(哪个数据库,哪种网络技术),但在此之前,您需要大致了解可用选项的内容以及优势和优势。每个人的弱点都在。
服务器数据库可能是最简单的,因为它没有产生如此大的差异。选择是一个sql数据库(mysql,sqllite ....),而不是一个sql数据库(nosql,在内存表中)或一些更高级别的抽象,你可以隐藏差异并稍后决定(例如核心数据)。这可能会受到您的部署决策的限制,例如,如果您选择LAMP(Linux,Apache,MySql,PHP),您将有更多的机架选项可供选择。如果您坚持使用Apple套件并使用MacOS X后端,则可能还有其他网络架构选项(例如,DistributedObjects。
从广泛的选择中,网络架构也是一个艰难的选择。实际上有很多选项有很多不同的优点和缺点。由于这是您第一次涉足这一领域,因此我会优先考虑易用性和可用性。以下是一些您可能想要研究的流行技术(按字母顺序排列,以尽量减少可燃性:))。 DistributedObjects(apple),JAXP,JSON,RPC,SOAP,XML(裸,没有肥皂位)。
你应该问自己的另一个问题是“你能逃脱数据库连接,还是需要在后端进行处理?”。如果可以,您可以通过使用远程数据库来逃脱,然后您只需要学习核心数据(这将使您长时间保持忙碌)。
一旦确定了要使用的技术,就可以开始学习了。
您提到过使用托管服务器。您希望能够在本地运行测试服务器。幸运的是,数据库和网络技术的几乎所有有价值的选项都可以在任何类似unix的机器上运行,所以你可以使用常规开发机器。
另外请记住,其中一些选择是宗教性的,所以你读过的每个人都会有强烈的偏见(我自己肯定包括在内)。