3

我正在开发一个应用程序,该应用程序在大多数前端逻辑中都使用了主干.js,并且正在考虑使用 sqlite 进行存储,但我遇到了一些复杂情况,需要切换到另一个 NoSQL 数据库。

我在ravendb的网站上看到它是用 C# 创建的,您需要一个 .net 编译器。大多数文档是针对 ASP MVC 类型的应用程序的。我不能去这个根,因为我们正在开发它作为一个平板电脑应用程序,在客户端没有基于微软的技术(因为我们希望它与 android 和 apple 一起工作)

然而,服务器将是.NET,所以我认为这可能是可行的。只是想知道这是否值得追求,是否有人有使用 ravendb 的经验?还是我应该去 mongodb?

4

3 回答 3

6

当然,可以将 RavenDB 直接暴露给 JavaScript 应用程序。但通常不建议这样做。主要原因是安全性,但还有很多其他原因需要中间层。

例如,您经常需要一个服务器端位置来执行应用程序逻辑。并非所有事情都可以在数据库本身中完成,如果您在应用程序中完成所有操作,那么您可能会向应用程序发送比实际需要更多的数据。在互联网上,这可能意味着一个缓慢的应用程序。

许多人采取的路线是使用ASP.Net WebAPIServiceStack或其他类似框架。这为您提供了一种公开 JavaScript 应用程序可以调用的 REST 端点的方法。您可以从那里连接到 RavenDB。

此外,您似乎有这样的误解,即如果您在服务器上使用 ASP.Net MVC,您就无法针对 Apple 或 Android。那是假的。无论您使用 SPA 方法还是传统方法,您都在交付基于标准的内容,例如 HTML、CSS、JSON 和 JavaScript。

于 2013-09-13T04:58:49.090 回答
2

是的,您可以使用它。实际上,RavenDB 的服务器是一个 RESTful Web 服务,这意味着您可以使用任何类型的 HTTP 客户端来使用它。这些客户端应该能够发出标准的 HTTP 动词,如,GET等。PUTDELETE

于 2013-09-12T20:10:36.187 回答
0

ASP MVC 是服务器端。我仍然不知道为什么要将数据库暴露给客户端。在服务器端完全值得做,但不要直接向客户端公开数据库之类的东西。

于 2013-09-12T18:27:38.687 回答