我是 RO/DA 的快乐用户。我做了一个关于 RO 的演示文稿(西班牙语),所以我将指出一些重要的东西,使 Ro 成为最好的远程处理库,在任何语言/框架中,恕我直言:
- 多功能:您可以在 .NET、Mono、Delphi、FreePascal 中创建服务器。您可以在 Obj-C(iOS 也是)、javascript、任何支持 REST 的语言、任何支持 SOAP 的语言中创建所有先前 + 的客户端
我现在有 2 台服务器(一台 delphi,一台 net/mono),客户端在 delphi、iOS、python 中。这是一个很大的优势。
支持 DB 的多数据库驱动程序,如 odbc、ado、anydac、devart、.net 等。真的很多
支持多协议:SOAP、REST、XML-RPC、oData 和二进制。无需在快速、小型但专有和开放但缓慢的文本协议之间进行选择。可以使用多种协议为同一服务器提供服务,无需更改代码。说真的,这个摇滚。
支持多通道:so http of curse,还有 SuperHTTP(双向)、TCP/IP、UDP、名称管道、内存、windows 消息、IIS SYS 等(如果在.net 上或在 delphi 中,通道会有所不同)
您可以一次在多个渠道中发布服务器。因此,您可以同时拥有 HTTP + UDP。
2- 数据摘要:
就像一种 ORM,但对于 N-Tier。DA 是数据库的“虚拟”表示,物理数据库(或数据库,您可以连接到多个数据库)可能非常不同。
假设您有一个来自以前开发人员的糟糕的数据库模式。客户表称为“CUST”,名称字段称为“1”(这就是在开源 POS 中的命名方式,说真的)。但是您可以拥有带有“名称”字段的虚拟表“客户”。
因此,您可以“从客户中选择名称”,DA 将执行“从客户中选择 1”。这称为“DA SQL”。非常整洁。专门用于迁移生产数据库中的糟糕模式。
这些表更像视图,但可更新。
DA 为您生成强类型的 LINQ 类(或 Delphi 类),因此您拥有 ORM 的良好 OO 支持,但不依赖于 2 层。
您可以查询 2 个数据库并将数据连接到单个虚拟表中,然后回发更新。
您可以使用 JS 进行嵌入逻辑验证并将其流式传输到客户端。
3-快速
在 BIN 格式的支持下,一切都变得更快。包括压缩 + 加密(如果不能使用 SSL)。
异步调用 + 同步调用。您可以选择每种方法使用什么。
4-其他整洁的东西
支持通过 Bonjour 支持发布和自动发现服务器。负载平衡+故障转移易于添加。发布到 oData。发布html+js页面。http://connect.remobjects.com/中的良好支持。
唯一不好的是文档有点难以理解(恕我直言)(但很棒的视频)。主要是基本的东西是乍一看很难的(不是因为代码难以理解,是因为 lib 很大)。
源代码包括在内。演示很好。
但总的来说,lib很棒。太好了,对于最近的一个项目,我使用 C#.NET(尽管我讨厌这种语言)而不是使用 python(我最喜欢的,在 delphi 之后)只是为了使用这个库。那么好 ;)