Is there any production-ready chat app for Django? - django

I'd like to add a chat app into my Django site but I got perplexed with number of [packages] and diverse array of technologies used. So I am wondering what is the best approach/package to be used in production?
I am open to all solutions from native Django apps to easily integrated additions from Tornado, Twisted, js based, etc.

Related

Best way to create a Mobile App out of a Django website

What is the best/efficient way of creating a mobile app out of a Django site. I understand that perhaps using React to and connect to a DJANGO API, but assuming I don't know React, can I somehow convert DJANGO site into a Phone Appp?
Short answer - You shouldn't because there are better ways to build mobile apps with Django as your backend.
Long answer - You could use webview in android to wrap your web application. Depending on you app, you might need to use some native code to build any of your floating action buttons, bottom navigation, toolbars etc while keeping the rest of your Django app wrapped in the webview. The downside is that your app will lack real performance gains or full native features that you’d be able to utilise.
You could also convert it to a Progressive Web App which will be your django app given some super powers to be able to provide content when a user is offline on both desktop and mobile. Check out Django PWA for this.

Should we create chat application with Flutter and Django if we want good performance and efficiency?

I am a newbie in the chat application world but I am not new in the IT world! I want to create a chat application that may have a large user base in the future. I have researched that now days flutter is a very good option to create cross-platform apps and it is good in terms of performance. So to create that chat app in android and ios I will use flutter in front-end for sure!
But for backend, I am not so sure. I have 3 years of experience in python and Django and that's why I wanted to use Django as backend in my chat app. I have searched that there is one package of Django named Django-channels which I can use to build a chat app! But I have concerned like will django-channels be a good option to build a large chat application like Instagram or WhatsApp?
For high-performance web applications Django is quite performant and good.
What you are searching for is a language or framework that can handle lots of connections, threads and users.
Another aspect you would want to consider is the scalability of your application.
You can definitely build a chat application on Django. django-channels is a good choice for building NRT applications. But I would recommend looking into other tech stacks as well.
You should also consider using a well-established protocol such as XMPP as the base for your application.

Django, phonegap and heroku. How to combine them?

I have made a web-app using django framework and stored it on heroku.
How can i combine phonegap so that I will be able to create both iOS and Android application that will simply load my hosted website?
I'm having an hard time knowing how to combine both technologies (django and phonegap) together, because phonegap requires the "index.html" and i dont know how to make it navigate to my main page.
And i dont know what "Procfile" to use in order that the heroku server will know how to react both.
I have seen somthing involves rest API for django. I found it hard to understand why should i add it for my website...
A tutorial would also be great !!
Integrating phonegap and django is a pretty broad topic covered here and in this tutorial.
For setting up multiple stacks on the same heroku app, you will probably want to use buildpack-multi.

Turning Django web app to a Desktop app

I am very comfortable with Django, and I was wondering about whether there is some way to convert a Django web app into a Desktop app (may be not 100%), so that I can distribute it to users, instead of learning a GUI framework.
Thanks
Maybe not exactly what you are looking for, but if you really, really don't want to learn a GUI framework, in your place I'd consider packaging your Django web application with a small web server in the distributable package, with the Django app configured to run on localhost on the web server. Then I'd include a script that launches a browser pointing at the starting page of your Django app as the "executable".
If not configured properly this could be considered weak from a security point of view.

Django real-time game backend

I plan to make an online game. It will be a full real-time during play. For my website backend I have used Django. Database and other things are almost done. What is the best way to make user client side and server side backend for play in realtime? As I use Django it would be nice to have it in Python.
We plan that there will be minimum ~1000 online players all the time.
Twisted/Tornado/Node.js or maybe something else?
Thanks in advance.
Tornado is very light and pretty nice in my opinion. You could integrate it with Django in various ways -- e.g. Integrate Tornado in Django, Integrating Django with Tornado's web server -- or just run it alongside Django behind whatever web server you use.
Node is so fun that you might tire of Django. :-)
I think you should keep separately Django - which is used for general site functions, and Tornado - which is used for realtime data. I think you should use some Redis to store/read data and communicate between django and tornado, so prevent using database access directly from tornado.
Developing your own backend server sounds as interesting project.
But from my experience it becomes a very significant of your R&D effort.
It starts with developing core backend components, dealing with servers, installs, patches, security issues and more.
On top of it, you will need to create admin systems to manage your player, levels, xp, integration to stores and more... and then, you have the reports (installs, retention, etc'...)
I would strongly recommend using existing backend platforms.