5 ms·
My friends (co-workers, I don't really have many other technically minded friends) are pretty much equally split between Django and Rails. They collaborate betw
by zensavona 14y ago
My friends (co-workers, I don't really have many other technically minded friends) are pretty much equally split between Django and Rails. They collaborate between ruby and python camps. I shall give it a go! Thanks!
- alttab 14y agoIn my experience, rails has a better community and gems are plentiful. Python is great for certain things, especially larger infrastructures and applications that run outside of a web request cycle. Rails, once learned, is so fucking fast at developing applications it should be illegal. Right tool for the right job, for sure. Generally, rails works great for web apps and is releasing versions faster than companies can keep up with it. I highly recommend rails. Django code base is a mess the last time I looked at it and rails has more industry cred and can get you out of client work and into product development easier. Just my experience anyway.
- bgalbraith 14y agoLike any language/platform, they both solve particular problems really well and then are OK or downright messy for the rest. I've developed applications for both platforms, and will more likely choose Django over Rails at the moment, but mostly because I work with Python a lot in general. Ruby is a fun language and Rails is, essentially, its killer app. Programming Rails apps means learning a lot of conventions, a lot of "the right way" to do things. It's not just code style, but about good software engineering practices -- testing, database migrations, and multiple environments are all built in and easy to use. There are also some tremendous environment and deployment tools out there. RVM and bundler make dependencies easy to manage, and HAML greatly cleans up the HTML side of things. As mentioned elsewhere, Rails development can be really fast once you've got up to speed, but that can take time and cause serious headaches for anyone who walks into maintaining an existing reasonably complex project. I love Python and use it all the time. It does have a bit of a problem with legacy libraries moving to Python 3, Django being one of them (if you want to try Django, use Python 2.7). Django was built for a newspaper website, as such it has some slightly odd conventions that can be confusing at first. Notably it makes the distinction between an app (reusable piece of functionality) and a site (comprising one or more apps). It has a strict template engine (by default), that has its own DSL which requires some getting used to. Django generates a lot less files than Rails by default, and generally feels more compact. It also has a really nice admin feature out of the box.