0

我正在开发一个 IoT 应用程序,它将执行大多数基本的 IoT 操作,例如读取和写入“事物”。

自然,只有事件驱动服务器才有意义,而不是轮询服务器进行实时更新。我研究了许多可用的选项并阅读了许多文章/讨论,但无法就用于后端的技术堆栈得出结论。

以下是我遇到的选项:

  • 流星
  • 蟒蛇 + 龙卷风
  • Node.js + Socket.io
  • 火力基地
  • 酒吧小酒馆
  • Python + 频道 API(谷歌应用引擎)

我希望尽可能多地控制服务器,当然还要以最优惠的价格。我有什么选择?我错过了什么吗?

就我个人而言,根据我之前的经验,我更喜欢在 Python 中使用后端。

4

2 回答 2

1

您在选项中将苹果与橙子进行比较。前三个完全在您的控制之下,因为您拥有服务器。有很多方法可以解决这个问题,也有很多方法可以解决这个问题,这取决于您的经验和您正在尝试构建的内容。

最后三个属于后端即服务 (BaaS)。这些使您可以快速构建应用程序的后端,而无需担心所有管道。您的后端由第三方运营和维护,因此与您自己的服务器相比,您会失去控制权。

...当然还有最优惠的价格

AWS、Azure、GAE、Firebase、PubNub 都有免费配额。如果您的应用程序变得流行并且您需要扩展,那么在某些时候,BaaS 选项可能最终会变得更加昂贵。

于 2015-12-09T11:45:03.910 回答
0

Back&是您可以考虑的另一种 BaaS,它可以让您对 socket.io 进行更多控制,但无需设置任何东西(免责声明:我为 backand.com 工作)。

在服务器端操作中,您决定何时触发事件以及哪些用户或角色以及在客户端中只需添加侦听器即可。

查看此代码笔演示解决方案: http ://codepen.io/backand/pen/VvoKya

客户端:

Backand.on('todo_updated', function (data) {
  //Get the event and refresh the list
  console.log("event:" + data);
  $scope.readList();
});

服务器端:

Socket.emitAll('todo_updated', dbRow);
于 2015-12-09T16:10:40.467 回答