Created Ruby Wamp Client

33 views
Skip to first unread message

Eric Chapman

unread,
Apr 9, 2016, 1:49:47 PM4/9/16
to Autobahn
Hi all,

I had some free time this past week and decided to write a GEM for WAMP in Ruby.  See here


Let me know if you have any feedback, questions, etc.

Tobias, feel free to link to it on the WAMP site if you want to.

Alexander Gödde

unread,
Apr 10, 2016, 8:04:09 AM4/10/16
to Autobahn
Hi Eric!

That's great, and closes one of the bigger gaps in the WAMP ecosystem regarding language support - so: Many thanks!

I've added it to the implementations page.

Regards,

Alex

Eric Chapman

unread,
Apr 10, 2016, 9:56:23 AM4/10/16
to Autobahn
You are welcome Alex.  Just out of curiosity, what are the other big gaps?  I have a little bit of time and am more than happy to help out.

Tobias Oberstein

unread,
Apr 10, 2016, 11:52:14 AM4/10/16
to autob...@googlegroups.com
Hi Eric,

thanks a lot for your Ruby WAMP implementation!

As Alex mentions, this fills one gap, and is highly welcome. In fact, it
was the number one in a "WAMP missing language survey" we did some time ago.

The other gaps:


1) Android/Java

There is AutobahnAndroid, but it needs
https://github.com/crossbario/autobahn-android/issues/92

We (Tavendo/Crossbar.io) are talking to a contractor, and might sponsor
updating this. It's straight forward, but I don't have time ..


2) C (embedded)

This will be AutobahnC .. probably the last Autobahn I write;)

This is critical also for Crossbar.io, as it'll allow us to reach into
64kB RAM tiny embedded MCU devices.

However, there are multiple challenges: eg we need to talk WAMP over UDP
(namely: 6LoWPAN), and that might involve moving the WAMP spec forward
in parallel.


3) Swift

There is a very nice WAMP client library for iOS written in ObjC.

I have no idea if that can be used from Swift at all. And if so, whether
it would feel "natural" to a Swift developer.

Swift is gaining some traction not only in the Apple universe too.

So this would be a nice thing: a first-class Swift WAMP client library.

We (Tavendo/Crossbar.io) don't have plans for a Autobahn thing here.


4) Rust

Rust (https://www.rust-lang.org/) for various reasons is a highly
interesting language.

FWIW, if I had more time, that would be the one language I don't speak
that I'd dive in ..

But I don't have time;)

A Rust WAMP client library, based on whatever WebSocket library the Rust
community has settled on (if any) would be niiice!


5) Perl

This is the last bigger language missing starting with "P";)

Again, we (Tavendo/Crossbar.io) don't have plans for that.

==

So, summary: Swift, Rust, Perl is missing.

But if others have wishes for other languages .. just my view.

Cheers,
/Tobias
> --
> You received this message because you are subscribed to the Google
> Groups "Autobahn" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to autobahnws+...@googlegroups.com
> <mailto:autobahnws+...@googlegroups.com>.
> To post to this group, send email to autob...@googlegroups.com
> <mailto:autob...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/autobahnws/c5427cb4-3ca2-4b93-9a8a-0dbb694a4da0%40googlegroups.com
> <https://groups.google.com/d/msgid/autobahnws/c5427cb4-3ca2-4b93-9a8a-0dbb694a4da0%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Eric Chapman

unread,
Apr 10, 2016, 1:09:53 PM4/10/16
to autob...@googlegroups.com
Hey Tobias,

Always happy to help :)

I can definitely crank Android and Swift for you over the next few days. Embedded C I am intricately familiar with but need to talk with you guys offline to get some requirements.

I can look into Perl. Been awhile since I coded that but if there is a need I can crank it out.

I'll ping you guys via email.
> You received this message because you are subscribed to a topic in the Google Groups "Autobahn" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/autobahnws/r1sjPLBTgYQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to autobahnws+...@googlegroups.com.
> To post to this group, send email to autob...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/autobahnws/570A76A8.3010005%40gmail.com.

Tobias Oberstein

unread,
Apr 10, 2016, 5:18:14 PM4/10/16
to autob...@googlegroups.com
Hi Eric,

Am 10.04.2016 um 19:09 schrieb Eric Chapman:
> Hey Tobias,
>
> Always happy to help :)

Awesome. This is why I love open-source and community =)

> I can definitely crank Android and Swift for you over the next few days.

Cool. A real polyglot;)

If you want to focus your time/efforts, Swift would be fav (mainly
because we already started talking to a contractor about Android ..)

> Embedded C I am intricately familiar with but need to talk with you guys offline to get some requirements.

Of course - anytime. Mail me directly with any aspects you'd like to
discuss offline.

I've seen your profile on Linkedin, and you really have done a lot of
high profile embedded/hardware stuff. And in fact, if you have any time
to spare, working together on an AutobahnC, or let alone any input based
on your background / experience would be I'd say the most valuable
contribution!

Because there is a large gap in where we can go with WAMP still.
Anything that can run Linux is covered well with multiple languages
already. Eg a 64MB RAM MIPS 400 Mhz device like in many home routers, or
the Arduino Yun, Tessel 2, etc runs pretty much any WAMP client library
out there.

But below that (eg a ARM Cortex M3 with 64kB RAM and no MMU .. where no
Linux can go, but eg https://www.riot-os.org/) its getting dark.
No-WAMP-land. And we need to change that. Because IoT.

Right now, there are 2 app level protocols that can run on such devices
on top of 6LoWPAN/UDP: CoAP and MQTT-SN.

I'd _love_ to add WAMP to that group. Because its .. better;) For good
reasons. There are some nuts to crack on the way though ..

> I can look into Perl. Been awhile since I coded that but if there is a need I can crank it out.

Not trying to insult Perl devs., but IMO priority is really low for
that. I just wanted to mention it for the sake of completeness. So
really, skip it;)

> I'll ping you guys via email.

Great!

Cheers,
/Tobias
Reply all
Reply to author
Forward
0 new messages