thanks for your feedback and suggestions - highly welcome!
I have been wandering around for some time, and was quite disapointed
nobody talked more about crossbar in the Python community. It's awesome.
Yeah;) It's still a very young project, but has potential - IMHO.
I think one of the reason is that it's hard to understand what you can
do with it when visiting the official website.
I agree. The Crossbar Web site is .. well, merely more than a landing page right now. Feeling guilty
I tried to be of a bit of help by writting a long article (in french)
about it :
I've been reading the post (well, a translation by Google translate;) - and I agree with the critique .. powerful, but complex to grasp .. inadequate documentation .. asynchronous programming / Twisted being a high barrier.
Those issues can be (and of course should be) fixed.
A comment regarding Twisted: while using plain Deferreds is better than a pure callback mess, it still has a learning curve. I agree. Personally, I've got my brain twisted now, so it feels natural. But it took some time.
Another note: NodeJS is only right now moving from spaghetti callback style to Deferreds (promises in JS land).
BUT: there is something even better (for some .. ask Guido or Glyph .. you'll get different answers probably): co-routines ("yield").
Coroutines essentially make your code look synchronous at surface
but still work asynchronous under the hood.
Twisted has that. And asyncio makes that style the recommended default. And AutobahnPython supports all of those.
Hence, you can write WAMP components in pure Python 3.4 (no Twisted) using co-routines.
My blog got 3000-4000 hits each day and is followed by a lot of people
in the french Python community, so it should help.
Huh;) That's something. You seem to be well connected in the community. You offering free evangelization of Crossbar - makes me happy;) Thanks!
But it's not enough.
We should make some kind of presentation (maybe a video, or at least a
slide show) to explain what is WAMP, crossbar, what problems it solves
and how. It needs more schemas of components talking to each others,
uses cases, comparison to AMQP, SockJS, supervisor and the like...
Absolutely. I have added
Of course the documentation itself is quite hard to read, but you
already asked for help about that so I guess it's up to us to improve it
(that's what FOSS is for after all).
Yep. Documentation, testing and promotion .. we could use any kind of help.
I've been trying to keep up at least the Wiki pages
But even those are right now incomplete and partially out of date. The code base is still moving fast. We are still catching up with features that were in the predecessor of Crossbar (closed source Tavendo WebMQ).
What I think is the biggest adoption issue, however, is the API.
... snip ...
I'm suggesting to add something like this :
from autobahn.app import App
app = App(url="ws://localhost:8080/ws")
app.log("Received event %s" % details)
if __name__ =='__main__':
That looks indeed somewhat simpler .. and probably really the minimum code. Could work. We could put that on top of ApplicationRunner:
Thing is: for Crossbar being able to host components, it needs to have a user function that creates an instance of ApplicationSession upon request right now.
We probably could make it such that Crossbar could also digest a global object like "app" above.
Personally, I have a strong aversion against anything global. I was sceptical with Flask at first sight when I saw the global "app" thing.
Maybe my background in C/C++ .. globals will come back biting you sooner or later.
But at least in Python land for those that know Flask and the like, having an "app" global thing probably feels more "at home" than defining an exported factory that'll create app sessions.
Sane defaults, doesn't not cover all the use cases, but it's enought for
80% of the dev. The goal is not to replace the other API, but rather
offer something higher level we can show of in the first page of the
documentation that would make people started quickly.
Yes. A first visitor getting started can't be simple enough. Thinking about it, I came up with another idea to simplify matters:
Am 25.05.2014 12:39, schrieb Michel Desmoulin:
Alright, Michel, thank you very much for feedback, ideas - and offering help! Cheers,
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
For more options, visit https://groups.google.com/d/optout.