Android 使用后端创建移动聊天应用程序的各种方法

Android 使用后端创建移动聊天应用程序的各种方法,android,ios,mobile,Android,Ios,Mobile,我不熟悉移动应用,只是想站稳脚跟。我正在尝试为Android创建一个简单的消息/聊天应用程序,它具有所有典型的功能:用户帐户、与朋友连接和聊天。问题是,我不知道该从哪个技术堆栈中选择。我在这个主题上做了很多搜索,从“snapchat使用哪个堆栈?”开始,我发现它是建立在Google应用程序引擎(GAE)上的。我看过一些教程,其中人们使用Node.js和MongoDB作为后端,而只使用GAE的云消息部分。还有一些教程利用了Parse(我认为它是Facebook上的GAE?)和Sinch。这是我的问

我不熟悉移动应用,只是想站稳脚跟。我正在尝试为Android创建一个简单的消息/聊天应用程序,它具有所有典型的功能:用户帐户、与朋友连接和聊天。问题是,我不知道该从哪个技术堆栈中选择。我在这个主题上做了很多搜索,从“snapchat使用哪个堆栈?”开始,我发现它是建立在Google应用程序引擎(GAE)上的。我看过一些教程,其中人们使用Node.js和MongoDB作为后端,而只使用GAE的云消息部分。还有一些教程利用了Parse(我认为它是Facebook上的GAE?)和Sinch。这是我的问题:我不知道该使用哪种技术堆栈,我总的来说有点困惑,为什么有这么多方法可以做同样的事情。尽管我只是一个手机应用程序的初学者,但我希望最终将这个聊天应用程序打造成一款专业品质的应用程序,这样我就可以部署它并实际获得用户反馈,这意味着我希望实现良好的可扩展性。我想知道你们是否对我开发这个应用的最简单方法有什么建议,以及什么样的工具最有用


我对java比较熟悉,对webdev也有一些经验,但对node和mongo的经验很少。

要构建聊天应用程序,您需要具备以下条件:

  • 用于存储消息和发送通知的服务器
  • 用于发送和接收消息的客户端
  • 客户端和服务器之间的传输
以下是每个组件选项的一些差异:

服务器

  • 自定义(后端语言+数据库;例如node+mongo)-这为您提供了更大的灵活性,而且更便宜,但您必须配置所有路由、模型、数据库连接和API响应
  • 后端服务(例如解析)——它们为您提供数据库、路由和响应,让您只需定义数据。实施速度更快,但在规模上可能更昂贵
客户端 (与此问题的技术堆栈无关)

运输

  • API调用—向客户端返回某些信息的单个调用
  • Web套接字—允许信息来回流动的持久通道,支持实时通信和通知

对于您的特定实例,您将使用Android和web套接字(如果您想要实时聊天)。堆栈的最后一个主要部分(服务器)由您决定,但首先使用后端服务有一些明显的优势:

  • 该服务完成了大部分工作,节省了您关注客户机的时间
  • 它为您提供了连接(运输)的简单方式,使您能够仅从客户端创建应用程序
一句话:像Parse这样的后端服务将为您节省大量时间

主要的缺点是成本,但当你的应用程序使用足够的数据变得昂贵时,你将能够更换后端并有时间这样做


我的推荐:

使用一个后端服务,比如一个非常关注客户端的应用程序。如果您已经无法使用该服务,或者确实想进行服务器编程,那么可以使用前面提到的节点(或其他语言)框架。我个人推荐并非常满意它,因为它简单、可扩展,但仍然允许复杂的代码,如机器学习


祝你的应用程序制作之旅好运

因为它通常适用于移动应用程序开发尝试Twilio IP消息:感谢您提供的精彩信息!虽然,我确实听说解析在可伸缩性方面很弱,所以我想我会尝试使用AppEngine。很高兴我能帮上忙!用你喜欢的任何东西;一定要做研究。