I have the exact opposite experience, but context is everything here I guess.
> React Router is excellent.
When you compare it to Next, etc... yes, I agree. The issue I have is the constant change of mind their devs have regarding how to do things, even when they say "it's stable"... it's not... every day they come up with "a better way" to do things which usually is not better, just different.
But using it when you already have django/rails/laravel/adonis means you have to do a ton more work and reinvent a lot of things (such as authentication, validation, etc).
Care to extend on what problems you found or what you didn't like about inertia?
For me personally, the lack of hot-reloading is painful for portions of the app where it takes you a few steps to get to the UI state you are working on (e.g. rendering a model with tabs).
Having to add custom code to for flash, their special form handling, and other Inertia specific parterns that only I really understood made it difficult for some collaborators. I don't remember the specific of the form handling either but from what I remember it would have been difficult to instrument client-side validation such as react-hook-form as well.
> The issue I have is the constant change of mind their devs have regarding how to do things, even when they say "it's stable"... it's not... every day they come up with "a better way" to do things which usually is not better, just different.
It is annoying. They are pushing people towards Remix as well, which I have tried and prefer to avoid unless I absolutely must have SSR. But their docs for older versions are still around so you can stick to what you like.
This works perfectly fine for me, both in the Rails and the Adonis projects. In both cases using Vite. Sounds to me like a misconfiguration somewhere.
>Having to add custom code to for flash, their special form handling, and other Inertia specific parterns that only I really understood made it difficult for some collaborators. I don't remember the specific of the form handling either but from what I remember it would have been difficult to instrument client-side validation such as react-hook-form as well.
How's that "custom code" for flash worse than having to add custom code for routing, authentication, sessions, validation, etc?.
> It is annoying. They are pushing people towards Remix as well, which I have tried and prefer to avoid unless I absolutely must have SSR. But their docs for older versions are still around so you can stick to what you like.
Ha! bingo!... you're like half a year late on this. Remix is not the thing they push for anymore. It's having a "nap" they said. Now you're supposed to be using react router in "framework mode". This is exactly what we're talking about here.
I used Inertia years ago, pretty sure vite wasn't a thing at the time. You can try to blame me if you want, I don't mind, there's a chance hot-reloading would have been possible with more time commitment. At the time, there was only one (unofficial) Django app for Inertia support and it required some fiddling and enhancements to even get working. Ultimately I think I just have solutions to the problems it solves that I prefer and won't be looking back.
It's worse because the frontend people working on the app all had experience with the React stuff you mention but none of the special Django or Inertia stuff we had to do to make it work. Also it was much easier to find glue code online for those solutions at the time.
I think a big part of your bad experience is probably due to the django adapter which seems to be the less well maintained out of all of them.
Even more, maybe it's not even the django adapter but the overal "assets" and frontend stuff integration in django which is somewhere between non-existent and 15 years outdated.
I can guarantee it works incredibly well with Laravel, Rails or Adonis.
> React Router is excellent.
When you compare it to Next, etc... yes, I agree. The issue I have is the constant change of mind their devs have regarding how to do things, even when they say "it's stable"... it's not... every day they come up with "a better way" to do things which usually is not better, just different.
But using it when you already have django/rails/laravel/adonis means you have to do a ton more work and reinvent a lot of things (such as authentication, validation, etc).
Care to extend on what problems you found or what you didn't like about inertia?