delphi datasnap remobjects

delphi - Datasnap xe vs Remobjects DataAbstract



(4)

Después de hacer esta pregunta, me di cuenta de que para crear lo que necesito, es mejor que confíe en algún marco "REST y JSON ready".

Desde que soy dueño de Delphi Professional debo actualizar a Enterprise para tener DataSnap.

Ahora el costo de actualización está en el mismo rango que el costo de DataAbstract. Actualización : además, en futuras actualizaciones a las nuevas versiones de Delphi Professional + las nuevas versiones de DA costarán menos que comprar la actualización masiva de Enterprise (como de XE a XE2).

Ya que here gente de RemObjects dice "Trabaja con profesionales", consideraría también este marco. Además, DataSnap parece ser bastante bueno (leí esto, no lo intenté) solo desde la versión XE, mientras que RemObjects tiene un pasado más sólido.

Entonces, quién sabe todos los productos puede compararlos especialmente en estas características:

  • Servidor REST (para servir JSON)
  • facilidad de uso

¿Qué producto sugerirías?

NOTA PARA BOUNTY: Ya que no me gusta esto no se responde, comienzo una recompensa. Espero que se pueda responder la pregunta original, ¿alguien que use Datasnap o RemObjects?


Me veré obligado a agregar nuestro Synopse SQLite3 Framework (última actualización: Renombrado MORMOT ) a la lista ...

Desde que publicó sus preguntas, algunos puntos se han mejorado (como la seguridad o el servidor http utilizado).

Aquí hay algunas diferencias entre los dos mencionados anteriormente:

Actualización: Framework ahora puede usar cualquier otro motor de base de datos , no solo SQlite3 .


Solo puedo decir que deberías descargar las pruebas, probarlas y ver cuál funciona para ti. No podemos hacer predicciones psíquicas.

(Descargo de responsabilidad: yo era un empleado de Embarcadero cuando escribí la siguiente parte, en 2011).

Puntos a favor del marco DataSnap:

  • Viene con Delphi (a algunas personas les gusta tener una solución todo en uno)
  • Se está expandiendo continuamente y tiene una funcionalidad nueva e importante en XE2

Puntos a favor del RemObjects DataAbstract

  • Como ha dicho, funciona con SKU de gama baja como Pro, mientras que DataSnap solo se incluye en RAD Enterprise / Architect.
  • Hay una edición .Net para Oxygene (anteriormente conocida como Prism)
  • Si le gusta su flujo de trabajo, incluido el modelador de esquemas, puede preferirlo.

Te sugiero que leas más y lo averigües por ti mismo.

Factores que podrían importarte que no hayas especificado:

  • Necesidad de configurar el soporte SSL con facilidad: RemObjects y DataSnap ahora tienen SSL
  • "Truly Madly Deeply REST" o "si usa HTTP get / post, es REST-ful suficiente para mí"?

Actualización de mayo de 2013

Ahora he usado ambos productos ampliamente, y ya no trabajo en Embarcadero. Creo que ambos productos son geniales, pero como acabo de terminar de construir un gran proyecto en el que elegí RemObjects, porque el cliente de iPhone y Mac (RemObjects DataAbstract para XCode) es un producto Mac / XCode / objecto-C de pleno derecho, y porque Los desarrolladores clave de RemObject conocen la Mac, conocen Objective-C y pueden admitir usuarios de XCode, que durante los últimos tres meses ha sido lo que he estado haciendo.

Si no está pensando en dispositivos móviles y multiplataforma, y ​​solo en Windows, entonces puedo pensar en algunas formas en que Data Abstract supera a Data-Snap, pero donde DataSnap mantiene una clara ventaja es para aquellas personas que desean una solución. todo de una sola empresa. Para ciertas decisiones de desarrollo empresarial, puedo ver fácilmente cómo la opción sensata podría ser quedarse con DataSnap y la edición de Delphi Enterprise. Como dije antes, habrá algunas personas que encontrarán que una se adapta mejor a sus necesidades, o la otra, y cualquiera que diga que una de las dos es mejor y la otra es peor, lo está haciendo todo mal. . Habiendo dicho eso, se me acusará de haber dicho más arriba que "el resumen de datos es mejor", pero claramente no lo he dicho. Para el proyecto que acabo de terminar, fue perfecto, sin embargo.


Soy un usuario feliz de RO / DA. Hice una presentación ( en español ) sobre RO, por lo que señalaré algunas cosas importantes que hacen de Ro la mejor biblioteca remota, en cualquier idioma / marco, en mi humilde opinión:

  1. Multi-TODO: Puedes crear servidores en .NET, Mono, Delphi, FreePascal. Puedes hacer clientes en todos los + anteriores en Obj-C (iOS también), javascript, cualquier capacidad REST, cualquier lenguaje compatible con SOAP

Ahora tengo 2 servidores (uno delphi, uno net / mono) con clientes en delphi, iOS, python. Esta es una gran ventaja.

Admite controladores de bases de datos múltiples para DB, como odbc, ado, anydac, devart, .net, etc. Verdaderamente mucho

Compatible con multiprotocolo: SOAP, REST, XML-RPC, oData y binario. No es necesario elegir entre un protocolo de texto rápido, pequeño pero exclusivo y abierto, sino lento. Es posible servir al SAME servidor con VARIOS protocolos, no es necesario cambiar el código. En serio, éste mola.

Soporte multicanal: Así que http of curse, pero también SuperHTTP (bidireccional), TCP / IP, UDP, canalizaciones de nombres, en memoria, mensajes de Windows, IIS SYS, etc. (los canales varían si están en .net o en delphi )

Y puedes publicar el servidor en varios canales, a la vez. Entonces, puedes tener HTTP + UDP al mismo tiempo.

2- Resumen de datos:

Es como un ORM amable, pero para N-Tier. DA es una representación "virtual" de una base de datos, y la base de datos física (o bases de datos, puede conectarse a múltiples) podría ser MUY diferente.

Digamos que tienes un esquema de mierda de una base de datos de un desarrollador anterior. La tabla de clientes se llama "CUST" y el campo de nombre se llama "1" (así es como se nombra en un POS de código abierto, en serio). Pero puede tener la tabla virtual "Cliente" con el campo "Nombre".

Por lo tanto, puede "SELECT Name FROM Customer" y DA ejecutará "SELECT 1 FROM CUST". Esto se llama "DA SQL". Es muy limpio Especialmente para la migración de esquemas de mierda que están en una base de datos de producción.

Las tablas son más como vistas, pero actualizables.

DA generó clases LINQ fuertemente tipadas para usted (o Clases Delphi), por lo que tiene el buen soporte OO de un ORM, pero no está vinculado a 2 niveles.

Puede consultar 2 bases de datos y unir datos en una sola tabla virtual, y publicar las actualizaciones.

Puede utilizar JS para la validación de lógica de inserción y transmitirla a los clientes.

3- Rápido

Con el soporte del formato BIN, todo es más rápido. Compresión + cifrado (si no se puede usar SSL) incluido.

Llamadas asíncronas + llamada de sincronización. Puedes elegir por método qué usar.

4- Otras cosas aseadas

Soporte para publicación y descubrimiento automático de servidores con soporte de Bonjour. Equilibrio de carga + Failover fácil de agregar. Publicar en oData. Publicar páginas html + js. Buen soporte en http://connect.remobjects.com/ .

Lo único malo es que los documentos son un poco difíciles de seguir (IMHO) (pero excelentes videos ). Principalmente, lo básico es lo que parecerá difícil al principio (no porque el código sea difícil de entender, es porque la lib es grande).

Se incluye el código fuente. Las demos son buenas.

Pero en general el lib es grande. Tan genial, que para un proyecto reciente estoy usando C # .NET (a pesar de que odio el lenguaje) en lugar de usar python (mi favorito, después de delphi) solo para usar esta biblioteca. Asi de bueno ;)