3 ms·
Ask HN: Python for a webapp?
What do you guys think, is it a good idea to write a full web-app in Python+Django? Most people seem to be using Ruby (on Rails) these days, but I just started to learn Python, and I like it quite a lot. I've seen some apps written in Python, they seemed quite cool, but I wonder what the limitations are.
- gaustin 16y agoUse what you like and are comfortable with. It's pretty much a matter of taste. There's nothing you can do in Django that you can't do in Rails.
- yuvadam 16y agoDjango and Rails are pretty much equivalent. Use whatever tool that will make you the most productive.
- Polichism 16y agoI was first a PHP developer (I still can be), but I'm working with python+django for 2 years now. The reason why I began to user django is the time-winning. In my opinion it's faster to make a webapp in python+django than PHP+(Kohana, Codigniter, Zend) And what yuvadam sais: Django and Rails are pretty much equivalent.
- deleted 16y ago[deleted]
- mrlase 16y agoIn addition to django, you might consider taking a look at the pylons framework.
- JCB_K 16y agoand what about web.py? EDIT: according to Pylon's homepage it's used by Reddit...I thought they released web.py?
- rguzman 16y agoFull disclosure: I'm a django developer and have never written an app in rails. People like to say that python+django is equivalent to ruby+rails. I largely agree, but that's only a first order approximation. The rails community is larger than the django community. This means that whatever you are trying to do, you are more likely to find someone who has done it before in the rails community (along with the discussion, tools). This also means that the power tools for web-apps will be very good and plentiful. Due to that, rails > django. (Heroku is an example of this -- there is no equivalent for django that is so well established as being awesome). However... The python community is larger and more diverse than the ruby community. This means that if you deviate from the usual track, there will still be a community to support you. Python is popularly used in a variety of fields with very different needs. This leads to a very diverse ecosystem in python, both in terms of areas of specialization for developers and tools available. python > ruby. This makes me prefer python+django.
- jdietrich 16y agoAny sufficiently complex web app eventually outgrows its framework. Frameworks are a really useful tool to jump-start a project, but eventually you'll be writing (and re-writing) things from scratch, be it for reasons of flexibility, performance or maintainability. On that basis, I think you're much better off choosing a framework based on the underlying language rather than vice-versa. If you're happy with Python, pick a Python framework.
- iuguy 16y agoI use Django and Python for a lot of stuff. I have used rails in the past, but not for a long time. I prefer python to ruby, and that's ultimately what made me switch (as I write non-web stuff in Python). Perhaps the two biggest differences between Django and Rails are where you save time. With Rails you get scaffolding, so you have CRUD functions for everything more or less straight off the bat. With Django you get an admin interface which is great if you want a backend, but you still have to write your own frontend pages. Rails has built in Ajax and Schema migration. Django has external projects for it. In some respects Django is a bit like Arch Linux and Rails is more like Ubuntu. If you like your frameworks to have everything bundled in and like Ruby then Rails is better for you. If you like things to be the way you want or you prefer python, consider Django and Pylons (and web.py).
- jparicka 16y agoI love Django to bits - this is the app I written in Django http://beepl.com/jan http://beepl.com/jan Hoping to go public in March this year..
- runjake 16y agoYou can't go wrong with either. And Django isn't the only Python web framework out there (Pylons, web.py, Google App Engine). Nor is Rails the only Ruby web framework (Sinatra is nice). Both can be made to cleanly scale for whatever world-dominating project you have in mind.