使用后端创建移动聊天应用程序的无数方法

时间:2015-09-07 20:56:47

标签: android ios mobile

我是移动应用程序的新手,只是试图站稳脚跟。我尝试为Android创建一个简单的消息/聊天应用程序,其中包含所有典型功能:用户帐户,与朋友联系以及聊天。问题是,我不知道可以选择哪种技术堆栈。我已经做了很多关于这个主题的搜索,从&#34开始;那个堆栈是否使用了大概?"我发现它建立在Google应用引擎(GAE)之上。我已经看过人们使用Node.js和MongoDB作为后端的教程,同时只使用GAE的Cloud Messaging部分。还有使用Parse的教程(我认为它与Facebook相当于GAE?)和Sinch。这就是我的麻烦:我不知道要使用哪种技术堆栈,而且我一般都对为什么有这么多方法去做同样的事情感到困惑。即使我只是移动应用程序的初学者,我想最终使这个聊天应用程序成为专业品质的东西,这样我就可以部署它并实际获得用户反馈,这意味着我希望获得良好的可扩展性。我想知道你们是否对我开发这个应用程序最简单的方法有什么建议,哪种工具最有用。

我对java比较熟悉,并且对webdev有一些经验,但对节点和mongo只有很少的经验。

1 个答案:

答案 0 :(得分:5)

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

  • 存储消息和发送通知的服务器
  • 发送和接收消息的客户
  • 客户端和服务器之间的传输

以下是每个组件的选项的一些差异:

服务器

  • 自定义(后端语言+数据库;例如node + mongo) - 这为您提供了更大的灵活性并且更便宜,但您必须配置所有路由,模型,数据库连接和API响应。
  • 后端服务(例如Parse) - 它们为您提供数据库,路由和响应,让您只需定义数据。实施起来要快得多,但规模可能更贵。

<强>客户端 (与此问题的技术堆栈无关)

运输

  • API调用 - 将一些信息返回给客户端的单一调用。
  • Web套接字 - 允许信息来回流动的持久性通道,支持实时通信和通知。

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

  • 该服务可以完成大部分工作,节省您专注于客户的时间。
  • 它为您提供了简单的连接方式(传输方式),使您能够从客户端创建应用程序。

底线:像Parse这样的后端服务可以为您节省大量时间。

主要的缺点是成本,但是当你的应用程序使用足够的数据时,你可以更换后端并有时间这样做。

我的建议:

Parse之类的后端服务用于专注于客户端的应用。如果您超出服务范围或者真的想要进行服务器编程,您可以使用节点(或其他语言)框架,如提到的here。我个人推荐sails.js并对它非常满意,因为它简单,可扩展,但仍然允许复杂的代码,如机器学习。

祝您在应用程序制作之旅中好运!