Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I'm developing an application similar to fb chat. Which framework - Play or Django? [closed]

I am extremely comfortable with Python. I'm "ok" with Java with good experience in Android(But we all know that most of the stuff in Android is so well covered in many blogs that the learning curve is not really that steep.) Thus, coming back to the web-app. This is what I'm expecting:-

  1. A lot of requests. (Scalability.)
  2. Concurrency.
  3. Responsive.
  4. Good error reporting.
  5. Less steeper learning curve.
  6. Stacks well with PostgresDb and Redis.
  7. Provides some way to build cleaner apis(Something django-piston.)
  8. Last but not the least, I've a time period of 2 months to finish it.(Not the proto-type but the final version.)

Edit:

Node.js seems exceptionally good to build a fast prototype but it is too buggy to scale up.

PHP is a language that I never found myself comfortable to code in. Neither was I comfortable in JAVA till I picked up Android coding. Thus, a preference to Scala. Also, I learned that fb chat was built on Erlang. And I believe that of many things wrong in fb, one of the few things that is right is their stack and preferences of particular languages/frameworks to get done with their features.

I'm a noob in Scala but I don't find the programming language that difficult. I have gone through quite a few blog posts on Play vs Lift, Web dev in Scala, advantages and disadvantages of Scala and many such things. The only reasoning I am shifting to Scala is I am terribly pissed with the concurrency of Python and how non-scalable it is.(I am a huge fan of twisted and use it for a zillion other things but I just don't think Django/Rails are cut out to deal with concurrent, stable, responsive web app.)

My question here is, am I wrong? Is it worth it to jump to Scala, taking everything into consideration? I really hope to get some good answers because I don't want to spend long frustrating hours getting a skeletal version of my web-app done and then realize that it is not scalable. Also, what would be a preferred stack? What does the industry use? (I know a lot of questions but it is a scary thing to jump from Django/Rails to anything else.)

Any help would be appreciated.

like image 453
Hick Avatar asked Jul 06 '12 06:07

Hick


1 Answers

I only started learning play in the last few days and I love it. Has all the benefits of Java (For me this is machine learning related) with all the loveliness of a simple to use MVC framework.

Play has great support for web sockets and has a lovely sample chat application that you can play around with to see if it fits your bill.

https://github.com/playframework/Play20/tree/master/samples/scala/websocket-chat

like image 125
Steve Avatar answered Sep 21 '22 00:09

Steve