Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
i have to develop a Real Time Application that supports thousands of users with Python. The question: decide which framework and architecture use.
The first option is:
Falcon only (Admin and API)
The second:
Tornado manage request, Admin runs Django and API runs Falcon
Another problem is database. Could be one only RethinkDB (1st option), or two, with Postgresql (2nd option).
Which of these option is the best? Should try something different?
PD: One fancy implementation could be with Tornado sockets
I think your question needs to be more specific.
Without more detail about the application my general suggestion would be to not complicate things by using many frameworks, just pick one that does everything you need.
Unless you are planning to design an asynchronous API forget about Tornado. If your application is very small and has a simple API then you could consider Falcon because of it's short learning curve. Otherwise I'd suggest going with Django.
As for the DB, it's nearly impossible to provide a suggestion without understanding what type of data you are planning to store? What is your expected read/write ratio? Do you already have operational experience with any DBs?
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I am thinking of creating a content delivery web application using Django with a MySQL database, and after reading the docs a bit I noted that it is possible to create multiple apps in the same project/site directory.
It may or may not apply to what I want to do, but I was wondering what the motivation behind this architecture is. Why would I want multiple web apps in one site?
For example, Youtube was built around the Django framework, but the entire experience works seamlessly as one application? Is Youtube actually one large web application, or does the project use many applications packaged as one product? If so, why would that be a better option?
There's a good explanation about it in the django docs here and here.
From my own experience: it helps you to organize your code. If you're planning to create a small application it may not need more than one django application. But it you want to create medium or large applications you can take advantages of this approach. Some of useful cases:
Authentication
Blog
Split your RESTFul API based on resources (e.g. clients, invoices, users, etc)
Logging
Chat
Hope that helps a bit.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Before people were using python websockets with django for websocket handling. Now the django-channels came as an official django project which supports django to handle websockets. can anyone list the advantage of django channels over python websockets in terms of django web development?
One point would be,
Since channels built for django web development, it would be well integrated with django framework.
Thanks for any reply.
Django channels is not just a library for WebSockets:
Channels is a project to make Django able to handle more than just plain HTTP requests, including WebSockets and HTTP2, as well as the ability to run code after a response has been sent for things like thumbnailing or background calculation. (docs).
In your particular case (WebSockets), Channels makes it easier to work with them, as it extends Django providing all the required components (the Daphne server, asgi_redis, etc). It also provides an interface to them that resembles that of views, making it easier for Django developers.
It also adds some other useful functionality, such as data binding, routing or groups, which are things you are likely to use, saving you the burden of implementing them yourself.
In short: it makes WebSocket handling much easier :)
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm newbie in GAE and just trying to work out basic principles of my future web app. So I looking to java to design my app. And I want realize which is better way to create admin panel? An admin should be allowed to manage posts and users for example.
I heard that Django has build-in admin panel, but I do not experienced in Python.
The great thing about going the Python/Django route is that there are great tutorials that walk you through the process step-by-step.
One example.
Google's own example of how to get Django running.
Another example, but be more careful with this one: it's slightly out-of-date. Still a good reference though.
If you're comfortable with programming, Python is a very easy language to pickup. As you mentioned, Django provides a great admin interface that does a lot of the work for you.
If you do decide to use Java, you'll have to build the admin interface from scratch, which generally takes quite a bit of time (if you want to do it right and do it well). I recommend that you use a framework to help you in the process, and here Google has some documentation on which frameworks work in GAE.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm new to web development and going to make a website which responses with data received from request to web-service(facebook for e.g.) and how to choose what is more useful here:
nodejs has an callback model which allows not to wait while gathering data for user from other services (but i've broken my fingers and my brain after trying to make a kind of class in javascript with inheritance and the whole server drops after unhandled error in script)
python is very convinient in working with diff. kinds of data, it's more convinient for me, former C++ developer
yesterday i've read about twisted python that also uses callbacks
Help me please to choose what to use, better - performance, simple code
The callback model might make your code more verbose but WAIT! there is a solution! Check out
waitfor.
Anyway, if it's a personal project then no one is forcing you to use node.js for webapp development.You should go with what makes you more comfortable. If you like developing in python then go for it! :)
why don't you try django; it uses python (which you said is more convenient) and is also very commonly used for web development.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
There is a lot going on in web frameworks - they can take an age to learn.
So, what is it I am missing when I say that WSGI defines pretty much all we need to respond to a request. If I overload the environ dict I can store almost all I need, so what am I gaining from a framework?
You can certainly write a web application using only WSGI, but at some point you're going to have to solve the following problems:
How do I handle different url requests?
How do I parse form data?
How do I render a response?
How do I support sessions?
How do I persist data?
etc, etc, etc...
Each web framework solves some (or all) of these problems. Yes, you could design and implement solutions yourself, but web frameworks contain solutions that other people have found work very well for them. So that's what you get from a framework: a bunch of suggestions for how to solve common problems when writing web apps.
Finally, it's easy to be overwhelmed by the number of choices for web frameworks, but if you just learn one, others will be much easier to understand. I would recommend learning either django or a more minimalist framework like flask. Other frameworks are pretty similar to these two, and you'll be able to pick them up easily.