4 ms·
> I'm curious why JS is picking up so much for backend development? The reason I reach for Node on a project is to handle my websockets. I use Django REST Fram
by jerelunruh 11y ago
> I'm curious why JS is picking up so much for backend development?
The reason I reach for Node on a project is to handle my websockets. I use Django REST Framework + Ember as my main tools (super fast to build with) but, based on my testing, Python can't hold a candle to Node when working with thousands of websockets. It works great for what it was designed for.
- dguaraglia 11y agoHave you tried using Tornado/Twisted for the websockets? I'm curious about performance. I'm building a side project right now and I'm using Django running inside Tornado (it's pretty simple to setup, really) so I can both have my cake and eat it (easy APIs, and a layer I can use to maintain websockets.) I wonder if the performance would be comparable to Node?
- itbeho 11y agoThis is promising: http://swampdragon.net http://swampdragon.net
- dguaraglia 11y agoOh! Interesting, thanks for the link!
- jerelunruh 11y agoI tried every variation I could get to work including tornado, asyncio, and pypy. In my simple "how many websockets can I open" tests python would start erroring by 10,000 (no Django, just an empty websocket) while node hit 40,000 and was still climbing. Eventually I concluded it was a case of "with sufficient thrust pigs fly just fine". I still like python; just doesn't seem to be worth the effort to try to adapt blocking libraries into a non-blocking use case.
- dguaraglia 11y agoThat makes sense. I'm actually very pragmatic when it comes to this kind of stack and I'll be happy to replace my current Tornado frontend with a Node frontend when I hit the limit (for now it's a very niche usecase, just me and a few friends, so it might be that I never need to improve it.)
- jkarneges 11y agoPushpin (http://pushpin.org http://pushpin.org) is handy if you want to add realtime stuff to a Django app without needing to learn a new language.
- mycelium 11y agoI ended up with my primary tools being DRF + React/Redux. I'm genuinely curious about Ember, but haven't had a chance to play with it. What do you think of it? How's it stack up versus React-based frontend setups, if you've evaluated them?
- d215 11y agoFor new SPAs Ember rocks. Also keeping up with the latest and greatest Ember is a breeze. I would not however like to refactor an existing front end application to use Ember. Probably React is better suited for integration with existing front end applications. Although Ember really feels like idiomatic Javascript to me and they try hard to adhere to new web standards (e.g. web components, ES6 modules) it is also very opinionated about what should go where and how.
- d215 11y agoAndrew Godwin is working on this: https://github.com/andrewgodwin/channels https://github.com/andrewgodwin/channels
- damon_c 11y agoI use/have contributed to this project: https://github.com/hendrix/hendrix https://github.com/hendrix/hendrix which is a wsgi wrapper that uses twisted to serve django apps. Websockets are among the first things you get out of it.