5 ms·
Interesting. In your opinion, is it worth learning RoR over Django? I'm historically a Python dev, but find Django and Python web development in general a very
by overscore 6y ago
Interesting. In your opinion, is it worth learning RoR over Django? I'm historically a Python dev, but find Django and Python web development in general a very poor experience.
- midrus 6y agoAbsolutely. I've used django professionally for about 8 years and I agree with you. Python (and django) is great but solves only the backend side of things. Things that are by far superior in Rails in my opinion: * It is a real full stack solution. From migrations to css to credentials storage to assets compilation to file uploads to rich text editing to we sockets, etc. * Ruby might not be as popular as python, but it is a lot better designed (and a lot more consistent). * Gems/bundler and everything about packaging works a lot better. * The routing, controllers and validations make a lot more sense to me The only thing I like more from django is the built in admin. Although there are also external gems for rails which provide same functionality for rails.
- overscore 6y agoThanks for your response - very informative!
- midrus 6y agoAlso, the organization into "apps" in django is total nonsense in my opinion.
- treis 6y agoI've been using Rails for 8 years or so now. There's a lot to like about it, but IMHO the productivity gains are somewhat of an illusion. It makes building the easy stuff fast at the expense of making the hard stuff slow. If you stay with the easy stuff then no problem. If it grows to a bigger team or high load? Problems.
- midrus 6y ago> If it grows to a bigger team or high load? Problems Then that's when you should definitely start looking to specific solutions to specific problems. Are you having scaling/performance issues? Look into kubernetes. Are you having problems with "too many cooks in the kitchen"? Start looking splitting things to separate services. Are you having problems hiring "full stack" people than can work on both ruby and frontend? Then start thinking about an SPA. That's the power of Rails.... you can get really, really far with it... when your business is a total success and you have steady income, then start looking into the specifics. Starting from the get go with an SPA, kubernetes, microservices, monorepos, etc is, in my opinion, a recipe for failure. (not that you have said that of course, just something I see too much around and I just take every opportunity to rant against it )
- treis 6y agoThis post is kind of acknowledging the problem but thinking it's ok. Like the story of people adjusting to a broken stair or not using a broken toilet in a house. Yeah, those are solutions and work around but really they are "solutions" and work arounds that you shouldn't have to do. Like the whole idea of use Rails until you become a big success and then rewrite it all is kind of crazy. Your dichotomy of Rails vs a bunch of complicated stuff aren't the only options. We can have something like Rails minus a bunch of magic in a performant language. Maybe it's a little bit less productive at the beginning, but you're not hating life in 18 months when your team reaches 15 developers or you've got to scale.
- tra3 6y agoOut of curiosity, if not rails than what would you recommend?
- treis 6y agoI think Go is the closest. It's missing a consensus batteries included framework. At least, the last time I looked. But everything you need is there even if you gotta get it from multiple places. It will take longer to get started but what you end up with will be way better. Java/Spring's magic is just as bad with annotations and XML, but you do get better performance and types. It'd be my second choice.
- shinryuu 6y agoI'm curious, what makes you feel web development is a very poor experience (i'm a python dev too)
- overscore 6y agoI'm not primarily a Web developer but have a small Saas built with Ember. I previously had a webapp built in Django, and just couldn't grok it. I made it work but always felt like I was fighting it. I tried Flask, but you have to build absolutely everything yourself. I have a tiny team (2 devs) and hate spending time building and maintaining cookie cutter functionality like sign in flows, teams, etc.