views:

326

answers:

7

I am planning to do a small web application that will be distributed as a single installable. I have plans to develop this application in either Python/Django or RoR. (I am a Java/C++ programmer, hence both these languages are new to me).

My main concern is about the size and simplicity of final installable (say setup.exe). I want it to be small in size and also should be able to pack all required components in it.

Which one among Python/Django and RoR is suitable for me?

+3  A: 

With disk space at the current price, size shouldn't matter. Give both a try and figure out which will be easier for you to learn and maintain. Despite the fact that people believe that when you know one language, you know all, that's only true as long as you write code on the "hello world" level.

Aaron Digulla
The issue of size isn't really about the footprint on the hard drive I imagine, but the size of the executable which might be for download?
perrierism
For web apps, the size of the server code doesn't matter. The download is just the HTML pages and the JavaScript. Here, the sizes are pretty much the same since both frameworks (can) use the same JS libraries.
Aaron Digulla
+4  A: 

I personally prefer Python/django. Size is small given u have necessary things installed.

asb
A: 

If you are experienced with Java and concerned about deploying Django and Rails apps, I'd recommend you give JRuby a try. This will give you several benefits from a Java-perpective:

  1. You can call Java-classes and components from your Ruby/Rails app
  2. You can use a familiar IDE such as Netbeans
  3. You can package and deploy our entire Rails app as a single WAR-file with all dependencies included
Casper Fabricius
The JRuby platform does have a real advantage there of being able to use Java-native application packaging systems. Stock Ruby and Python do not seem to be standardized in this regard.
tadman
+1  A: 

One option with Ruby on Rails is to go with a JRuby deployment which would allow you to pack it all into a single .war file. This would require the person deploying the web application to have a java web application server (Jetty is probably the smallest and easiest to bundle).

With Rails, you are generally going to have to install Ruby and any required ruby gems. The Ruby install is going to be machine specific- different for Windows/Linux. Everything else should be easily scripted. If you go with an Apache Passenger (mod_ruby) solution, you will need to get that installed as well.

In reality, I haven't run into many server applications with simple, compact installs.

MattMcKnight
Thi sis an option with Django as well. The django-jython project provides a management command to shove the whole thing into a WAR file.
Alex Gaynor
A: 

With the cheeseshop, any python application can be made installable with a single command. I'm a big fan of Django, but it will require you to hook into an external webserver, as the built in server is for development only. You might look for something that has a more robust builtin web server if you want something you can just plunk down and start running. Twisted might meet your needs, though there's a bit more of a learning curve on that. I'm not sure how other python or ruby apps stand up on this front.

jcdyer
+1  A: 

I just used heroku to deploy a blog written in Rails, and it was a fantastically easy experience. If you're interested in simplicity, it's probably the most simple deploy I've ever experienced.

Ben
+1  A: 

I don't think you can get them both. I'm sorry to say this but you have to choose which one is more important to you.

  • Django application is smaller in size because many things is already provided out of the box, but deployment is not as easy.
  • On the other hand, RoR apps deployment is easier (both Ruby MRI or JRuby) but the application's size is naturally larger given you have to install other gems and RoR plugins.
jpartogi