0

We're up to building a "Accounting Software (will call it as AS)" for mid and large sized companies. So AS is going to be comprehensive and have a lot of modules in relation. AS will run on cloud and has SOA approach.

What I'd like to ask is: Is using Python + Tornado good idea for development? What are the advantages and disadvantages? Especially when features like async (non-blocking), multithreading etc. are considered.

If you do not support this idea, which infrastructure is the best for our future AS you think?

latefreak
  • 5
  • 3

1 Answers1

2

Tornado is a good decision, if you need a lot of realtime events to be shown in your web application. For example chat (event: deliver new messages to all members of chat) or maybe some other actions (someone gives you a like and you know about it immediately). This is where async approach have all pros.

Databases

When you choose database, keep in mind, that you need an async driver for it. For example to use MongoDB best choice is motor. To use Postgresql you probably need a momoko.

The cons of tornado are:

  • hard to start coding, if you are not familiar with async approach. For example, with django (most popular blocking python web framework) it is more easier to start, you have a lot of batteries included
  • smaller community, than django has
  • no ORM included
  • no admin part of site, you'll need to create it by yourself

Also here you can find some additional thoughts about this topic and an example of tornado application.

stalk
  • 11,934
  • 4
  • 36
  • 58
  • Is using SQLAlchemy ORM with Tornado brings us some difficulties? – latefreak Sep 05 '14 at 07:32
  • I suppose yes, it won't work in async mode out of the box (it will work in blocking mode, this is not what you want with tornado). Some information can be found here: http://stackoverflow.com/q/16491564/821594 – stalk Sep 05 '14 at 07:37