服务器/客户端结构iOS应用程序开发的服务器实现的建议?[英] Advices on server implementation for server/client structure iOS App development?

本文是小编为大家收集整理的关于服务器/客户端结构iOS应用程序开发的服务器实现的建议?的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

必须有许多旨在与服务器通信的应用程序.我的问题仅是关于在iOS设备 +服务器端服务交互中安装的应用程序. Web应用程序不是我在说的内容,并且根本不应涉及该讨论的网页.典型的示例是Instagram和Twitter之类的应用程序,在该应用程序和服务器之间交换的大多数信息都只是String,Image和Integers(包装在JSON或XML中)之类的数据,无需网页表示.

我的问题将是:如果您是独立的应用程序开发人员,并且您正在从头开始设计此类应用,而没有任何现有的网站API,数据库结构或应用程序(因此您不受任何现有的API或数据库结构或应用程序的限制协议),最有效的方法是什么?

断层需要做的是:

  • 接收该应用程序发送的数据;
  • 使用设计逻辑来处理数据;
  • 与数据库互动(如MySQL);
  • 进行必要的数据挖掘和分析---这可能是不断运行的服务或应用客户端要求的一次任务;
  • 根据要求或自发将数据发送回应用;
  • 交换或广播不同应用客户端/之间/之间的数据(即:组聊天室和对等消息);

据我所知,有3个明显的选择可以实现服务器端:

  • php
  • python
  • Ruby on Rails

(请随时添加更多选项)

我的问题是:

  • 哪一个是实现服务器端的最合适的选择?
  • 如果该应用程序重点关注自然的人类语言/文本搜索,分析和数据挖掘,那么哪一个是最佳选择?我听说Python在这方面做得很好.
  • 有关数据库选择的任何建议?我目前正在使用MySQL,我发现它的功能非常强大,我听说Twitter正在切换到Cassandra.这太难开始了吗?
  • 对于服务器端,如果您需要构建服务器管理接口,则为管理员作为管理员来管理和监视社区,成员资格,数据等等,是否有任何现有解决方案,框架或工具?最有效的方法是什么?
  • 如果新程序员在没有方面没有经验,那么您建议他/她从哪一个开始?
  • 在我们可以学习的这种情况下,服务器端上是否有任何好的参考材料或示例代码?

我知道,在Stackoverflow上这些领域有很多经验丰富的专家,但是我看到了更多的新手,他们刚刚进入iOS开发区而没有太多的服务器/数据库编程经验.我希望这个线程可以帮助这些正在考虑使用服务器/客户端结构设计应用程序但不知道从哪里开始的应用程序的人.

ps:我将继续更新此问题线程并添加有关此主题的发现,以帮助Stackoverflow的所有其他用户. :-)请尝试使您的答案内容丰富,易于理解和建设性.我想这个主题的大多数读者将是这个伟大社区的新成员.

推荐答案

您确定要花费时间和金钱来开发自己的服务器并开发自己的API吗? 今天有很多MBAA(移动后端作为服务)提供商,例如 quickblox QuickBlox自定义对象代码示例和另外,自定义对象API .自定义对象模块可灵活地定义所需的任何数据结构(架构).模式在管理小组中定义.该模式称为类,包含字段名称及其类型.我认为这是您需要的.

其他推荐答案

  • 哪一个是实现服务器的最合适的选择 侧?

很好,这取决于您所知道的,有理由选择另一个

  • 如果该应用将重点放在自然的人类语言/文本上 搜索,分析和数据挖掘,哪一个是最佳选择?我 听到python在这方面做得很好.

这将反映出您的第一个问题,您选择了所需的语言.因此,如果Python使它变得更容易,请选择一个.

  • 有关数据库选择的任何建议?我现在正在使用mysql,我 发现它的目的非常强大,我听说Twitter是 切换到卡桑德拉.这太难开始了吗?

再次不容易回答,因为这一切都与要求有关.但是任何SQL Server都会做.卡桑德拉(Cassandra)的目的是"可伸缩性和高可用性,而不会损害性能"网站.您认为您的Web服务会收到许多请求,那么这可能是考虑的选择.

  • 对于服务器端,如果您需要构建服务器管理 接口,对于您作为管理员来管理和监视社区的接口, 会员资格,数据等是否有现有解决方案,或者 框架或工具?最有效的方法是什么?

选择SQL Server和Server语言.

再次回答.

  • 如果新程序员在没有方面没有经验,那么您哪一个 建议他/她从?
  • 开始

从更简单的东西开始,您真的要在这里走到肢体.

  • 服务器上是否有任何好的参考材料或示例代码 在这种情况下,我们可以学习?

可能有一些,但是您真的应该从那里开始工作并从那里开始工作.


Twitter最初是在Rails应用程序上进行的,并且正在研究Ruby并不是真正好的AR的可伸缩性和可用性(这是我的观点).或查看Facebook,他们已将PHP写给C编译器,以使PHP运行速度更快.

我唯一能说的是启动代码,当您应用程序确实起飞时,请解决一些性能问题.

并且由于您声明自己是新手的编程,因此您可以咀嚼更多.

其他推荐答案

这是一个巨大的问题,我认为没有最好的答案.这最取决于您关心的内容,例如开发过程的速度,实施的容易程度等.

哪一个很受欢迎,哪一个很酷,我认为这真的没有道理.

我个人认为,我擅长ASP.NET,并且可以轻松获取Windows Server,因此我将从ASP.NET服务开始以提供数据.

和,要继续.

本文地址:https://www.itbaoku.cn/post/597452.html

问题描述

There are must be a lot of apps that are designed to communicate with server. My question is only about App installed on iOS device + Server side service interaction. Web app is not what I am talking about, and there should be no webpage involved in this discussion at all. Typical examples are Apps like Instagram and Twitter, in which most of the information exchanged between the App and the server is just data like String, Image and Integers(wrapped in JSON or XML), no webpage presentation needed.

My question will be: if you are an independent app developer, and you are designing such an app from scratch without any existing website API, database structure or application(so you are not limited by any existing API or database structure or application protocol), What will be the most efficient approach?

What the sever side need to do are:

  • receive data send by the App;
  • process the data with designed logic;
  • interact with database(like MySQL);
  • do necessary data mining and analysis---this could be a constantly running service or one time task requested by the App client;
  • send the data back to the App upon request or spontaneously;
  • exchange or broadcast the data between/among different App clients (i.e.: group chatroom and peer to peer message);

As far I as know there are 3 obvious options to implement the server side:

  • PHP
  • Python
  • Ruby on Rails

(please feel free to add more options)

My questions are:

  • which one is the most appropriate choice to implement the server side?
  • If the App is focusing intensively on natural human language/text searching, analyzing and data mining, which one is the best choice? I heard Python is doing pretty good in this area.
  • Any advice on the database choices? I am using MySQL for now, and I found it's quite powerful for my purposes, I heard Twitter is switching to Cassandra. Will that be too difficult to start with?
  • For the server end, if you need to build a Server management interface, for you as an admin to manage and monitor the community, membership, data and such, is there any existing solution, or framework or tool for that? what will be the most efficient approach?
  • If a new programmer has no experience in non of them, which one you suggest he/she to start with?
  • Is there any good reference material or sample code on the server side in such context we can learn from?

I know there are a lot of very experienced experts on these areas on Stackoverflow, but I saw more newbies who just entered the iOS developing area without much knowledge in server/database programming experience. And I hope this thread can help these who are thinking to design an App with server/client structure but have no idea where to start with.

ps: I will keep updating this question thread and adding my findings on this topic, to help all other users at stackoverflow. :-) Please try to make your answer informative, easy to understand, and constructive. I guess most of readers for this thread will be new members of this great community.

推荐答案

Are you sure you want to spend time & money to develop your own Server & develop your own API? There are lots of mBaaS (mobile Backend as a Service) providers today such QuickBlox, Parse,StackMob, which are ready to use and they have great Custom Objects API and some of predefined modules. They have great free plans with big quota. Some of them such QuickBlox has Enterprise plan - so you can buy license and they server team update server for you purpose.

So, i recommend not develop your server and think about mBaaS market.

Just about your issue - I can recommend look at QuickBlox Custom Objects code sample and also Custom Objects API. Custom Objects module provides flexibility to define any data structure(schema) you need. Schema is defined in Administration Panel. The schema is called Class and contains field names and their type. I think it's what you need.

其他推荐答案

  • which one is the most appropriate choice to implement the server side?

Well that depends on what you know, there is reason to choice one of the other

  • If the App is focusing intensively on natural human language/text searching, analyzing and data mining, which one is the best choice? I heard Python is doing pretty good in this area.

This would reflect on your first question, you pick the language on you needs. Thus if python makes it easier then pick that one.

  • Any advice on the database choices? I am using MySQL for now, and I found it's quite powerful for my purposes, I heard Twitter is switching to Cassandra. Will that be too difficult to start with?

Again not one that is easy to answer, since it all has to do with requirements. But any SQL server will do. Cassandra is meant for "scalability and high availability without compromising performance" accourding to there website. Do you think you webservice will get many request then it might be a choice to consider.

  • For the server end, if you need to build a Server management interface, for you as an admin to manage and monitor the community, membership, data and such, is there any existing solution, or framework or tool for that? what will be the most efficient approach?

This again is only going to be answered when you pick the a SQL server and server language.

  • If a new programmer has no experience in non of them, which one you suggest he/she to start with?

Start with something simpler, you are really going out on a limb here.

  • Is there any good reference material or sample code on the server side in such context we can learn from?

Propably there is some, but you should really start small and work from there.


Twitter started out as a Rub on Rails app and is working on scalability and availability which ruby is not really good ar (that is my person opinion). or Look at facebook they have written a php to c compiler to make php run faster.

The only thing I can say to start code, when you app does take off then tackle the some of the performance issues.

And since you state that you are new to programming do not bite of more then you can chew.

其他推荐答案

This is a huge question and I don't think there is a best answer. It most depends on what you care about, such as how quickly the development process, how easily the implementation, etc.

And which one is popular, which one is cool, I don't think it make really sense.

In my personal opinion, I'm good at ASP.NET and I can get Windows server easily, so I'll start with an ASP.NET service to provides data.

And, to be continued.