Back
Question
Asked

ROR or django, For saas business?

I'm a newbee, What should i learn to ship products? ROR or django for the saas business?


Pick the one you’re more familiar with.

I was equally familiar with both abt 3-4 years ago when I started with a new client project when I had to pick a framework. Which meant at that time about zero.

Abt > 10 years before I used rails 2 in a stock market simulator project. Then I was project managing a django project and sometimes I had to go in and look at the code and help with small changes.

In the end I decided to pick django simply because I wanted to learn python.

Both are good enough

In fact I’m here in WIP because I’m my journey to learn django I “internet met” @jefftriplett who gave me invite here.

I faced this X and Y problem many years ago (>15 y ago). I was also told both are good enough. While intellectually I understood, I still persisted research.

Which was a waste of time.

Not saying you will also do that but if you do I understand and emphathize. Been there done that.

All I can say is this: either you pick a framework and move on to more impt stuff like understanding your user problem

Or

You spend more time researching like I once did.

I know the pain of using extra research as a way to procrastinate which is why about 3-4 years ago I decided to leave the php ecosystem when taking on a new client project, I needed to choose again. This time, I didn’t spend too much time with such research I did a cursory one between python and ruby and Javascript

Then between flask and django

Then that’s it.

Being intentional to be better in any framework or language matters more than the choice of language or framework

This is true for web technology afaik

Good luck 🤞

@kimsia Thanks for the valuable response. I'm confused so much now.
I created one website with Django but rails have more gems(also, not that much familiar with ruby). That's why i'm so much confused. I want to pick one framework and ship a lot of products.

There are only two mistakes you can make:

  1. you picked the "wrong" framework as in you should have picked the other framework.
  2. you wasted time debating yourself what to pick longer than necessary.

the first one is not as problematic as the second. let me explain.

  1. it is reversible. so once you realized you made a wrong choice, you can simply stopped and switched. yes, the time spent previously is lost but is not a complete loss because a lot of the concepts can be carried over as both follow the MVC structure. Django calls it MTV but is different names for the same thing. any experience building a website with one framework also can be reused when you switched to another framework because the experience is more to do with the nature of website building than the specific framework itself.

  2. you need to debate with your self but beyond a certain point any additional debating is a waste and this is a complete waste. none of the time spending extra debate / research is transferable to any django or ror frameworks. none of the time spending extra debate / research is transferable to the general experience of building websites.

so once again pick the lesser of two evils. Do enough research set out a criteria, then apply that criteria and choose. Dive in deeply into one framework. Set a timebox on when to re-evaluate your choice. I recommend evaluating after building 3 mini sized websites or 6 months of part time building at abt 10 hrs a week at least, whichever is longer. If you can build full time (i.e. abt 30-40 hrs a week), then shorten to 3 mini-sized websites or 2 months of full time whichever is longer.

That should cover most edge cases i can think of.

@kimsia I appreciated your response. I think for now I'll go with Django. After 3-4 products. I'll see if I want to change the framework. Thanks for clearing my doubt. Also, if I'm going with Django. What should I do? do I first learn the full framework or just learn the API part and for the frontend, should I learn react.js?

Welcome 🙏

There is no “should”

Personally I thought be better for me if i learn how to do headless ie split into django backend and then react frontend.

I did kinda do that for that client project I told you from earlier.

Looking back I will say it’s a mistake.

In order to master react I needed time I don’t have.

Now my frontend is horribly outdated and I have no time to properly improve it

Ultimately my goal is same as you : build a product like a SaaS and run it as owner

If u need nice Ajax effects u can always try htmx which is good enough

Now I’m trying to slowly transition away from react to htmx.

I now agree with the philosophy of run less software by intercom. Google that article read it then hopefully you understand. I regret not knowing this earlier but like I said nothing is truly wasted. Just a matter of going shorter route or the longer route.

@kimsia In regards to react, you basically decided the time investment of both mastering Django and React together is too high so you wanted a simpler frontend? is that right?

If I can go back in time I will say to my previous self

“success is a multi variate function”

If under different circumstances eg i have enough free time under no work pressures will find django and react still too much?

Will a different person with my exact circumstances come to same conclusions?

I have to be intellectually honest

Not necessarily

Out of the same honesty value was it too much for me?

Yes and for the foreseeable future as well

For what I want to accomplish do I absolutely need react? No

Hence my conclusion is highly personal to my unique circumstances and my own innate capacity

Different people may reach different conclusions.

I make no sweeping statements about django or react in and of itself.

My comment only covers the interaction of my experience with those domains plus my circumstances

I can tell you I spent a lot of money trying to be good at react close to 1500 dollars over a few years

I really tried

There is no right answer but different stacks can either speed up development or slow it down. I would say it depends on what kind of app you want to build.

Are you going to have a lot of client side interactivity? If so I would say go for javascript front end and a javascript backend (node or deno). Otherwise I would probably say run elixir with elixir liveview if you don’t have that mch experience since the learning curve will be big anyway.

Phoenix liveview is imo much better than django and htmx. The amount of stuff you can do with little code is unmatched with any other environment I have tried. Which you stated was the goal here.

Remember you can do a lot of interactive stuff with css.