Comments (9)
Hey Sanderpick, thank you for reaching out!
We are actually transpiling our objective-c codebase from java using J2OBC. You can see all the artifacts here
The work on the iOS side is creating a swift wrapper, ensuring everything works and creating an pod via CI to publish releases.
I would really appretiate if you can see anything in the API that doesn't make sense in iOS land. Currently the main thing I'm aware of is that we using GSON rather than a native JSON parser.
Thanks!
from deepstream.io.
Hey Nathan,
Thanks for the recommendation! We were actually thinking about having a main Java repo that transpiled to javascript as well, but I agree native implementations are what makes SDKs powerful and alot of javascript would be lost in the move.
Our ( early 2017 ) term milestone is to have a native C++ client that will deal with core functionality and then allow most other languages to call into. This means you'll be able to use the advantages of languages while the core logic ( records / merge issues / timeouts / permissions / etc ) will be written once and not need to be transpiled.
Great news on the swift client! Community editions are always nice, if you could post a link at some point that would be great!
Another thing is we are dropping TCP and EngineIO and will only use Websocket connections going forward. This is because we are using uWS which gives us an insane about of performance improvements and reliability. Just a heads up so you don't spent any time implementing TCP handling!
from deepstream.io.
Is there a branch with any work on thing? I'd love to peep it / contribute if so.
from deepstream.io.
I understand you guys are almost done with this already, but I feel that if you insist upon transpiling, it would be better to use Kotlin (which has a Java -> Kotlin transpiler, so it'd be fairly easy to migrate). This will allow you to target Android, iOS/macOS/tvOS/watchOS (in Swift), and JavaScript all at once.
However, I always prefer handwritten implementations of libraries that utilize the native language features. I understand that you are writing a Swift wrapper around the Objective-C, transpiled code, but I'm not convince it will be Swift-y enough (but feel free to prove me wrong!).
Also, just an FYI, I'm about half way done with a pure Swift implementation of the Deepstream client (built on top of vapor/engine, so it works seamlessly on the backend and frontend). Hopefully it'll be finished within two to three weeks, since I'm only working on it in my little free time.
from deepstream.io.
About dropping "TCP and EngineIO".... with the current version... on node environment there is any to not use TCP connection? I looked at the code and I couldn't found any thing.
from deepstream.io.
Does dropping EngineIO mean no websocket fallback for browser clients?
from deepstream.io.
We were initially planing a HTTP longpolling fallback, but we've been doing a lot of research in the last couple of weeks and have yet to find a case where it is actually needed. Corporate firewalls are convinced by the current Websocket protocol's initial HTTP-like handshake and subsequent update and websocket support is ubiquitous in browsers http://caniuse.com/#feat=websockets
from deepstream.io.
There are additional benefits as well. E.g. AWS' elastic load balancer and similar distributed load balancers weren't able to maintain sticky sessions between protocols, cookies can be used in a unified fashion etc.
from deepstream.io.
This has been done a while ago by converting the java codebase! Yaay
from deepstream.io.
Related Issues (20)
- Subscription getting triggered after a delay HOT 1
- [Bug] SocketWrapper mismatch in "handlers/record/record-transitions" when storage enabled HOT 2
- Can't connect to server using protobuf HOT 1
- Tutorial using MQTT? HOT 2
- List updates are not sent as deltas HOT 9
- deepstream triton backend exit error HOT 1
- TypeError: this.services.storage.whenReady is not a function when using mongodb storage
- RPC requests protocol HOT 2
- Cannot start the server release 6.2.1 from the command line (Linux) HOT 4
- Endpoint not found Error for Http Request HOT 1
- Other free alternative HOT 1
- If you send a notif to a user and he is offline, he can't receive this notif when he reconnect. HOT 3
- starting deepstream as daemon fails HOT 4
- Is there a simple way to not receive message send from self? HOT 6
- Is there documented way to remove items from record object with path? HOT 3
- Get invalid state transition message when deleting the record HOT 1
- running deepstream in cluster mode doesn't take in account the port configured. HOT 1
- log metadata on fatal error
- Can I use react-native client to connect to deepstream. HOT 1
- How to distinguish between invalid auth data and service unavailable with deepstream and webhook HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deepstream.io.