Datasnap xe vs Remobjects DataAbstract

LaB*_*cca 16 delphi datasnap remobjects

在提出这个问题后,我意识到要构建我需要的东西,我最好依靠一些框架"REST和JSON ready".

由于我拥有Delphi Professional,我应该升级到Enterprise以获得DataSnap.

现在,升级成本与DataAbstract成本处于相同的范围内.更新:此外,在未来升级到较新版本的Delphi Professional +更新版本的DA将比购买庞大的企业升级(如从XE到XE2)的成本更低.

这里 RemObjects的人说"与专业一起工作"我也会考虑这个框架.此外,DataSnap似乎非常好(我读过这个,我没有尝试)只来自XE版本,而RemObjects有一个更坚实的过去.

那么谁知道所有产品都可以比较它们,特别是这些功能:

  • REST服务器(用于提供JSON)
  • 便于使用

你会建议哪种产品?

为BOUNTY注意: 因为我不喜欢这个没有回答我开始赏金.我希望有人使用Datasnap或RemObjects回答原来的问题吗?

Arn*_*hez 10

我将被迫将我们的Synopse SQLite3 Framework (后来的更新:重命名的MORMOT)添加到列表中......

由于您发布了问题,因此增强了一些要点(如使用安全性或http服务器).

以下是上面列出的两个差异:

更新:Framework现在可以使用任何其他数据库引擎,而不仅仅是SQlite3.

  • 致Down Down先生:我的帖子不是垃圾邮件,而是一个开放式问题的答案,因为OP最后一次关于REST框架的研究是[去年12月](http://stackoverflow.com/questions/4431670/delphi-serverside -framework-for-managing-sessions-and-response-with-json-to-ajax-r),这些事情发展得很快...... (3认同)
  • +1 A.Bouchez的开源项目非常棒.开源自动不是垃圾邮件. (3认同)

War*_* P 7

我只能说你应该下载试用版并试用它们,看看它们适合你.我们无法做出心理预测.

(免责声明:2011年,当我写下一部分时,我是Embarcadero的一名员工).

支持DataSnap框架的要点:

  • 附带delphi(有些人喜欢一体化解决方案)
  • 正在不断扩展,并在XE2中具有重要的新功能

支持RemObjects DataAbstract

  • 正如您所说,适用于Pro等低端SKU,而DataSnap仅适用于RAD Enterprise/Architect.
  • 这是一个针对Oxygene的网络版(以前称为Prism)
  • 如果您喜欢他们的工作流程,包括架构建模器,您可能更喜欢它.

我建议你阅读更多内容并自己解决.

您未指定可能对您有用的因素:

  • 需要轻松配置SSL支持 - RemObjects和DataSnap现在都有SSL
  • "真正疯狂地深入REST"或"如果它使用HTTP获取/发布,它对我来说是足够的REST"吗?

2013年5月更新

我现在已广泛使用这两种产品,而且我不再在Embarcadero工作.我认为这两个产品都很棒,但是我刚刚完成了一个大项目,我选择了RemObjects,因为iPhone和Mac客户端(RemObjects DataAbstract for XCode)是一个成熟的Mac/XCode/objective-C产品,因为RemObject的主要开发人员了解Mac,了解Objective-C,并且可以支持XCode用户,这些用户在过去三个月一直是我一直在做的事情.

如果你不考虑移动和多平台,只考虑Windows,那么我仍然可以想到Data Abstract击败Data-Snap的几种方式,但DataSnap保持明显优势的地方是那些想要解决方案的人所有来自一家公司.对于某些企业开发决策,我可以很容易地看到坚持使用DataSnap和Delphi Enterprise版本的合理选择.就像我之前说过的那样,会有一些人会发现一个人更好地符合他们的要求,或者另一个人,任何一个人说两个中的一个更好而另一个更糟糕的是,这一切都错了.话虽如此,我会被指责上面说"数据摘要更好",但我显然没有这么说.对于我刚刚完成的项目,它很完美.


mam*_*mcx 7

我是RO/DA的快乐用户.我做了一个关于RO 的演讲(用西班牙语),所以我将指出一些重要的东西,使Ro成为最好的远程库,在任何语言/框架中,恕我直言:

  1. 多种一切:您可以在.NET,Mono,Delphi,FreePascal中创建服务器.您可以在Obj-C(也是iOS),javascript,任何支持REST的任何支持SOAP的语言中的所有以前的+中创建客户端

我现在有2台服务器(一台delphi,一台网络/单声道),客户端在delphi,iOS,python中.这是一个很大的优点.

支持DB的多数据库驱动程序,如odbc,ado,anydac,devart,.net等.真的很多

支持多协议:SOAP,REST,XML-RPC,oData和二进制.不需要在快速,小型但专有和开放但慢速的文本协议之间进行选择.可以使用SEVERAL协议为SAME服务器提供服务,而不需要更改代码.说真的,这个摇滚.

支持多通道:所以诅咒的http,还有SuperHTTP(双向),TCP/IP,UDP,名称管道,内存,Windows消息,IIS SYS等(如果在.net或delphi中,通道会有所不同) )

您可以同时在多个渠道中发布服务器.因此,您可以同时使用HTTP + UDP.

2-数据摘要:

就像一种ORM,但对于N-Tier来说.DA是数据库的"虚拟"表示,物理数据库(或数据库,您可以连接到多个数据库)可能非常不同.

假设您从以前的开发人员那里得到了一个糟糕的数据库模式.客户表称为"CUST",名称字段称为"1"(这就是在开源POS中如何命名,严重).但是您可以将虚拟表"Customer"与字段"Name"配对.

因此,你可以这样"SELECT Name FROM Customer"和DA将执行"SELECT 1 FROM CUST".这称为"DA SQL".非常整洁.特别适用于迁移生产数据库中的糟糕模式.

这些表更像是视图,但可更新.

DA生成的强类型的LINQ类你(或Delphi类),让你有好的OO支持ORM的,但不依赖于2层.

您可以查询2个数据库并在单个虚拟表中连接数据,并回发更新.

您可以使用JS进行嵌入式逻辑验证并将其流式传输到客户端.

3-快

在BIN格式的支持下,一切都更快.包括压缩+加密(如果不能使用SSL).

异步调用+同步调用.你可以选择每种方法使用什么.

4-其他整洁的东西

支持使用Bonjour支持发布和自动发现服务器.负载均衡+故障转移易于添加.发布到oData.发布html + js页面.http://connect.remobjects.com/提供的良好支持.

唯一不好的是文档有点难以理解(恕我直言)(但很棒的视频).主要是,基本的东西是最初会很难看的东西(不是因为代码很难理解,因为lib很大).

源代码包含在内.演示很好.

但总的来说,lib很棒.太棒了,对于最近的一个项目,我正在使用C#.NET(尽管我讨厌这种语言)而不是使用python(我最喜欢的,在delphi之后)只是为了使用这个库.那么好 ;)