-
Standalone Binary
deepstream is a language-agnostic server that is available via linux package managers, as mac or windows executable or node plugin. FeatherJS and socket.io are purely NodeJS packages.
-
Authentication
deepstream and meteor make authentication a first class citizen with numerous authentication strategies and plugins available. FeatherJS and SocketIO integrate auth as a middleware step.
-
Permissions
deepstream uses a powerful permission language called Valve that allow for the creation of granular rulesets, data references and even realtime permission adjustments. Meteor supports per-transaction permissions by wrapping database calls into functions whereas featherJS supports hooks that are executed prior to resource interactions.
-
Datasync
Datasync is at the heart of deepstream and meteor, allowing for seamless interaction with schemaless documents. FeatherJS provides classic CRUD request/response workflows integrated with update message hooks. deepstream stores data in both a cache and a database for quick retrieval times as well as locally for the duration of the session for sync interaction. Meteor duplicates the user data on the client side to support offline first functionality as well as local querying.
-
Filtering
FeatherJS provides a find method that allows query parameters on a request to be translated to a database query. Meteor is tightly integrated with MongoDB, allowing it to perform queries either on the server side or via the local database within the client. deepstream doesn't provide any filter functionality within the server itself, but provides microservices that allow for realtime-searches or provide request-response endpoints for individual queries.
-
Self Hosted
All opensource technologies can be hosted with zero costs other than infrastructure. deepstream comes with its own service manager and due its emphasis on microservices rather than running user code within the server it supports rolling deployments and dynamic endpoint provisioning with zero downtime.
-
Platform as a Service
deepstream is also offered as a hosted platform via deepstreamHub as well as Meteor via Galaxy.
-
Publish/Subscribe
Publish/Subscribe messaging is provided by all solutions. It forms the core of socket.io whereas it steps back to the more potent datasync for FeatherJS, Meteor and deepstream.
-
Request/Response"
FeatherJS and Meteor provide request-response APIs via their underlying HTTP server. deepstream and meteor provide a remote procedure call system that allows for the invocation of server side methods - but where meteor methods have to reside within the same server code deepstream allows for enterprise scale by distributing endpoints across microservices and catering for request routing and failover for high availability scenarios.
-
Realtime Datastore
FeatherJS is a static CRUD framework that allows for the propagation of change notifications via pub/sub. Meteor writes changes to a local database first and bi-directionally syncronizes it with its server. Deepstream uses a high performance synchronisation mechanism that keeps client side documents up to date within milliseconds and resolves conflicts.
-
Active data provider
deepstreamHub supports active data providers that only stream information as it is requested by clients thus significantly reducing network throughput and data volume, resulting in a decrease in costs and infrastructure complexity.
-
Runtime Endpoint provisioning
deepstream is a standalone server that moves application logic to connected microservices. This allows for runtime endpoint provisioning, enterprise scale, instant failover and granular, easy to maintain microservice architectures.